Java实现验证登录

撰写时间:2019年06月17

首先一个登录页面:
Java实现验证登录_第1张图片Java实现验证登录_第2张图片
Js引用:
Java实现验证登录_第3张图片
提交:

function login(){
var layerIndex=layer.load();
		$("#formLogin").ajaxSubmit(function(data){
			if((typeof data)=="string"){
				data=JSON.parse(data);
			}
			console.log(data);
           	layer.close(layerIndex);
			if(data.state==true){
				showToastr('','登录成功
即将进行跳转!',2,2000,'',true); setTimeout(function () { window.location.href="${ctx}/servlet/mainServlet?fun=main"; },2000); } else{ showToastr('',data.msg,4,2000,'',true) } }); }

Service:

private void userLogin(HttpServletRequest request, HttpServletResponse 			response)throws ServletException, IOException {
		JsonReturn jsonReturn=new JsonReturn();
		IPwUsersService pwUsersService=new PwUsersServiceImpl();
		String userName=request.getParameter("username");//获取登录页的用户名
		String enterpassword=request.getParameter("enterpassword");//获取密码
		String identityKey=request.getParameter("identityKey");//获取登验证码
		HttpSession session=request.getSession();
		try {
			String sessionIdentityKey=session.getAttribute("identityKey").toString();//获取session里的验证码
			//判断登录页传递过来的不等空并且等于session里的验证码
			if(Tools.isNotNull(identityKey)&&identityKey.equalsIgnoreCase(sessionIdentityKey)) {
				//根据登录页传过来的用户名跟密码查询到用户信息
				PwUsers users=pwUsersService.login(userName, enterpassword);
				if (users!=null) {
					jsonReturn.setState(true);
					jsonReturn.setMsg("登录成功");
				}else {
					jsonReturn.setState(false);
					jsonReturn.setMsg("账号或密码错误");
				}
			}else {
				jsonReturn.setState(false);
				jsonReturn.setMsg("验证码不正确");
			}
		} catch (Exception e) {
			jsonReturn.setState(false);
			jsonReturn.setMsg("参数错误");
		}
		response.setCharacterEncoding("utf-8");
		PrintWriter out=response.getWriter();
		JSONObject jObject = JSONObject.fromObject(jsonReturn);
		System.out.println("jObject"+jObject.toString());
		out.write(jObject.toString());
		out.close();
}

Service:
Java实现验证登录_第4张图片
Service.Impl:密码是MD5加密的 需要引入MD5代码那部分
Java实现验证登录_第5张图片
通过用户名查询数据代码

public class PwUsersDaoImpl implements IPwUsersDao{
		private Connection conn=null;
		private PreparedStatement ps=null;
		private ResultSet rs=null;
	
	private String findByName="SELECT * FROM pw_users WHERE user_name=?";
		@Override
		public PwUsers findByName(String name) {
			PwUsers pwUsers=null;
			try {
				conn=DbUtil.getConnection();
				ps=conn.prepareStatement(findByName);
				ps.setString(1, name);
				rs=ps.executeQuery();
				while (rs.next()) {
					pwUsers=new PwUsers();
					pwUsers.setUserId(rs.getInt("user_id"));
					pwUsers.setUserName(rs.getString("user_name"));
					pwUsers.setEnterPassword(rs.getString("enter_password"));
					pwUsers.setPaymentPassword(rs.getString("payment_password"));
					pwUsers.setCreditRatingId(rs.getInt("credit_rating_id"));
					pwUsers.setRegistrationDate(new Date(rs.getDate("registration_date").getTime()));
					pwUsers.setUserTypeTd(rs.getInt("user_type_id"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			finally{
				DbUtil.close(conn, ps, rs);
			}
			return pwUsers;
		}
}

验证成功弹框提示:
Java实现验证登录_第6张图片

你可能感兴趣的:(Java初级)