b/s结构的物业管理系统(一)-------登录篇

最近计划做一个非框架的物业管理系统前端使用bootstrap js jquery 等希望各位指点一下共同学习

---前端登录页面------

这个页面的输入框组用的bootstrap的,我设置了几张背景轮询切换(js控制)。

div背景设置了透明(background: rgba(255,255,255, 0.2))

bootstrap输入框组是全部放入div中的,我用css设置的width,height,用js获取到用户屏幕的宽和高。其中有一种获取到的高度是除去任务栏以后的高度

(其实我非常喜欢这种简约风格)

稍微实现了一下后台输错密码将信息显示在弹出框中 如图:

因为我只是测试了一下前台页面所有后台只是判断账号空就提示错误信息

下面是注册

我把注册写在了登录页面只是注册用bootstrap的模态框实现(因为我想换一种风格)

点击注册按钮时候弹出(这里会有个问题模态框并没有居中,这个是bootstrap的问题,我想让模态框水平垂直居中。试了几种办法,结果都不理想)

注册用js正则判断了一下(用的也是上图那种弹出框)

简单总结一下 :

  做这个页面有许多小细节的地方

  1)弹出框弹出提示信息时候,如果点击其他页面或者说失去焦点以后。弹出框并没有消失。这个需要注意一下(手动设置)$(element).popover("hide");

  2)上面也提过了 bootstrap的模态框并不是完全居中 要设置的话得修改bootstrap的底层(修改模态框的位置我目前只知道这种办法)

下面是我写的代码,css和js写在了html中方便开发(就我一个人在写。也就无所谓了)。做完以后提出到对应的文件中

代码有些冗余(我计划下礼拜做完如果做的快就把代码优化一下)html的格式也在写的过程中出现了问题(后面会修改)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page isELIgnored="false" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>系统登录</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript" src="access/jquery/jquery-1.12.3.js"></script>
	<!-- 新 Bootstrap 核心 CSS 文件 -->
	<link rel="stylesheet" href="access/css/bootstrap.min.css">

	<!-- 可选的Bootstrap主题文件(一般不用引入) -->
	<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

	<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
	<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

	<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
	<script src="access/js/bootstrap.min.js"></script>

	<script type="text/javascript">
		var count = 1;
		function setBackground(){
			var _body = document.querySelector("body");
			_body.background = "access/images/bg/"+count+".jpg";
			count ++;
			if(count>3){
				count = 1;
			}
		}
		function checkData(_this){
			var reg=/^[a-zA-Z][\w_]{5,13}$/;
			var reg= new RegExp(reg);
			var result = reg.test(_this.value);
			eval("var firstCheck="+_this.getAttribute("firstCheck"));
			if(firstCheck){
				checkMessage(_this,"show");
				_this.setAttribute("firstCheck","false");
			}
			if(result){
				checkMessage(_this,"hide");
				_this.setAttribute("firstCheck","true");
			}
		}
		function count_(){
			setInterval("setBackground()",3000);
			setAdd();
			(function (){
				var lusername = document.querySelector("#lusername");
				var error = lusername.getAttribute("error");
				if("true"===(error)){
					$("#lusername").popover("show");
				}
			})()
		}
		function checkMessage (_this,str) {
			$(_this).popover(str);
		}
		function setAdd(){
			var height = screen.availHeight;
			var width = screen.availWidth;
			var mLabel = document.querySelector("#Label");
			var labelWidth = mLabel.clientHeight;
			var labelHeight = mLabel.clientWidth;
			mLabel.setAttribute("style","margin-top:"+((height-labelHeight-100)/2)+"px"+";margin-left:"+((width-labelWidth)/2)+"px");
		}
		function hidePopover(_this){
			if(_this){
				$(_this).popover("hide");
			}else{
				$("#lusername").popover("hide");
			}
		}
	</script>
	<style type="text/css">
		#Label{
			padding-top: 20px;
			border-radius: 7px;
			width:420px;
			height:420px;
			background-color:#eeeeee;
			background: rgba(255,255,255, 0.2)
		}
		#myModal{
		background: rgba(255,255,255, 0.2);
		}
		#mLabel{
			background: rgba(255,255,255, 0.2);
			padding-top: 20px;
			border-radius: 7px;
			width:455px;
			height:500px;
			background-color:#eeeeee;
		}
		#code_{

		}
	</style>
  </head>

  <body >

    		<div id="Label" style="">
	    		<div class="col-sm-10 col-xs-10 col-lg-10  col-md-offset-1">
	    			  <div class="form-group opacity10">
					    <div class="h2 text-center">系统登录</div>
					  </div>
					  <form action="loginController" method="get">
						  <div class="form-group form-group-lg">
						    <input id=‘lusername‘ name="username" type="text" value="${username }"
						  	 class=" form-control" id="exampleInputEmail1" placeholder="账号"
				    		error="${popover==null?false:true }"
				    		onclick="hidePopover(this)"
				    		data-toggle="popover" data-placement="right"
				    		data-container="body" data-html="true"
				    		data-content="<p>账号或密码错误</p>"
				    		data-trigger="manual"
				    		class=" form-control"
				    		id="exampleInputPassword1" placeholder="密码">
						  </div>
						  <div class="form-group form-group-lg">
						    <input type="password" name="password" class="form-control" value="${password }" id="exampleInputPassword1" placeholder="密码">
						  </div>
					  			<div class="input-group form-group-lg">
								  <span class="input-group-addon" id="basic-addon1"><img alt="验证码预留" id="code_" src="1222" title="看不清?换一张"></span>
								  <input type="text" class="form-control" placeholder="验证码" aria-describedby="basic-addon1">
						  		</div>
						  <div class="checkbox">
						    <label>
						      	<input type="checkbox" name="remember" value="true"> 记住密码
						    </label>
						  </div>
						  <div class="btn-group btn-group-justified" role="group">
							   <div class="btn-group" role="group">
							    	<button type="submit" class="btn btn-default btn-lg btn-primary">登录</button>
							  </div>
						  </div>
					  </form>
					  <br/>
					  <div class="form-group text-center">
					  		<i class="">还没有账号?
					  			<a  href="#" data-toggle="modal" onclick="hidePopover()" data-target="#myModal">注册</a>
					  		</i>
					  </div>

					  <form>
					  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
						 	 <div class="modal-dialog modal-sm" role="document">
								    <div class="modal-content">
								    <div class="row">

									    <div class="row">
									    	<div id="mLabel">
									    		<div class="col-lg-10 col-md-offset-1">
									    		<br/>
									    			<div class="form-group form-group-lg">
									    				<div class="h2 text-center">账号注册</div>
									    			</div>
									    			<br/>
										      		<div class="form-group form-group-lg">
													    <input id=‘username‘ name="username" type="text"
													   			firstCheck="true"
													    		data-toggle="popover" data-placement="right"
													    		data-container="body" data-html="true"
													    		data-trigger="manual" onkeyup="checkData(this)"
													    		data-content="<p>用户名由字母数字下划线组成</p><p>数字不能作为开头</p><p>用户名长度不能超过10字符个长度</p>"
													    		class=" form-control" id="exampleInputEmail1"
													    		placeholder="账号">
													  </div>
													  <div class="form-group form-group-lg">
														    <input type="password" name="password" class="form-control"
														    		firstCheck="true" onkeyup="checkData(this)"
														    		data-toggle="popover" data-placement="right"
														    		data-container="body" data-html="true"
														    		data-trigger="manual"
														    		data-content="<p>密码由字母数字下划线组成</p><p>密码长度不能超过13字符个长度</p>"
														    		 id="exampleInputPassword1" placeholder="密码">
													  </div>
													   <div class="form-group form-group-lg">
														    <input type="password" class="form-control"
														    		firstCheck="true" onkeyup="checkData(this)"
														    		data-toggle="popover" data-placement="right"
														    		data-container="body" data-html="true"
														    		data-trigger="manual"
														    		data-content="<p>两次输入密码不一致</p>"
														    		 id="exampleInputPassword1" placeholder="确认密码">
													  </div>
												  	  <div class="input-group form-group-lg">
															  <span class="input-group-addon" id="basic-addon1"><img alt="验证码预留" id="code_" src="1222" title="看不清?换一张"></span>
															  <input type="text" class="form-control" placeholder="验证码" aria-describedby="basic-addon1">
													  </div>
													  <br/>
													  <br/>
														  <div class="btn-group btn-group-justified" role="group">
															   <div class="btn-group" role="group">
															    	<button type="submit" class="btn btn-default btn-lg btn-primary">注册</button>
															  </div>
														  </div>
													  </div>
												</div>

												</div>
												</div>
										    </div>
									    </div>
								  </div>
							</div>
					</div>
			</form>
  </body>
</html>
时间: 2024-08-29 15:04:30

b/s结构的物业管理系统(一)-------登录篇的相关文章

FFmpeg源码简单分析:结构体成员管理系统-AVOption

===================================================== FFmpeg的库函数源码分析文章列表: [架构图] FFmpeg源码结构图 - 解码 FFmpeg源码结构图 - 编码 [通用] FFmpeg 源码简单分析:av_register_all() FFmpeg 源码简单分析:avcodec_register_all() FFmpeg 源码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源码简单分析:常

FFmpeg源代码分析:结构体成员管理系统-AVOption

本文继续上篇文章<FFmpeg源代码分析:结构体成员管理系统-AVClass>中的内容,记录FFmpeg中和AVOption相关的源代码.AVOption用于在FFmpeg中描述结构体中的成员变量.一个AVOption可以包含名称,简短的帮助信息,取值等等. 上篇文章简单回顾 上篇文章中概括了AVClass,AVOption和目标结构体之间的关系.以AVFormatContext为例,可以表示为下图. 有关上篇文章的内容,这里不再重复.总体来说,上篇文章主要概括了AVClass,AVOptio

设备资源管理系统-首页登录

设备资源管理系统-首页登录 操作: 1.获取页面中传递的登录名和登录密码 2.使用登录名查询用户表,查询是否存在记录: 如果存在(包括该用户的详细信息),往下继续执行,不存在,返回到index.jsp 3.从用户的详细信息中获取密码,判断密码是否为空,如果为空不能登录系统,跳转到index.jsp 4.使用页面中输入的密码与获取的用户详细信息的密码是否一致: 如果一致,说明匹配成功,则继续往下执行 如果不一致:返回index.jsp   5.使用session对象存放用户的详细信息.sessio

数据库管理系统的登录名、角色,数据库的用户、角色和架构

概述 之前的一篇博客中写到过关于服务器登录名,服务器角色,数据库用户,数据库角色的关系,理论的一些知识,大家可以看看这篇博客:登录名,服务器角色,用户名和数据库角色.本片博客注重操作. 数据库架构 在具体的操作时,先普及一下数据库架构的知识,这里需要注意一下,这里说的数据库架构不是针对数据库的拓扑结构来说的,而是针对数据库管理系统中,针对数据库的一个功能. 举例说架构和架构的好处,数据库为一座楼,那么架构就是一层楼,一层楼中的房子就是表,由表产生的存储过程,触发器等等也都属于这个架构,将一层楼租

信息管理系统的登录注册

在上一篇的数据库的高级应用中完成了数据库的连接,接下来完成信息管理系统的登录注册. 登录实际上就是查询数据库中是否有页面上的用户输入的用户名与密码.核对完再返回页面,登录成功显示相应页面,失败显示相应的页面. 注册实际上就是利用sql语句向数据库中插入数据,插入成功显示相应页面,失败显示相应页面. 1.首先建立user类. package cn.edu.hpu.model; public class User { private static int id; private static Str

小区物业管理系统的设计与实现 文献收集

1.智能小区物业管理系统设计与实现 2.智能住宅小区物业管理系统设计与实现 3.基于SSH的小区物业管理系统设计与实现 4.基于.net的智能小区物业管理系统设计与实现 5.J2EE的智能小区物业管理系统设计与实现 6.东方小区物业管理系统设计与实现 7.基于Android的生活小区物业管理系统的设计与实现 8.基于C#语言的小区物业管理系统的设计与实现 9.基于J2EE平台的物业管理系统的设计 10.基于Javaweb的住宅小区物业管理系统设计与实现 11.基于UML的小区物业管理系统分析 1

AppDelegate减负之常用三方封装 - 友盟分享 / 三方登录篇

之前完成了 AppDelegate减负之常用三方封装 - 友盟推送篇: http://www.cnblogs.com/zhouxihi/p/7113511.html 今天接着来完成 - 友盟分享和三方登录篇 首先去友盟上面下载SDK, 一般就新浪/微信/QQ  我们都选择精简版 把下载好的SDK添加到项目, 按照开发文档添加libsqlite3.0.tbd到Linked Frameworks, 在Build Settings -> Linking -> Other Linker Flags 添

基于Netty的聊天系统(二)协议定制----登录篇

上一篇文章我们讨论了聊天的基本流程,那么我们现在基于上一篇文章的流程开始定义协议,如果有朋友有更好的建议,可以在下边回复一起学习讨论,我们说登录分为两部分,第一部分为和服务器的连接阶段,第二部分为验证阶段,那么首先我们基于这2个部分来指定协议: 连接阶段: {"id":"xxxx","#":"conn","u":1[email protected]/ios,"v":100} id:客户端

JDBC应用、控制台连MySQL接数据库实现学生管理系统的登录注册、增删改查

**=====================连接数据库=====================** package com.sore.jdbc; import java.sql.*; public class Jdbc { static Connection conn=null; //创建连接桥 public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver"); //加载驱动 S