登陆

简化版

@RequestMapping(“checkLogin”)
@ResponseBody
public boolean checkLogin(HttpServletRequest request, User user){
return userService.checkLogin(request, user);
}
//service层
public boolean checkLogin(HttpServletRequest request, User user) {
// TODO Auto-generated method stub
User sqlUser = userDao.checkLogin(user);
if(sqlUser == null){
return false;
}else {
request.getSession().setAttribute(“sqlUser”, sqlUser);
return true;
}
}

//jsp页面

function login(){
KaTeX parse error: Expected '}', got 'EOF' at end of input: …" , data:(“form”).serialize() ,
dataType:“json” ,
success:function(msg){
if(msg){
alert(“登陆成功”);
location.href = “<%=path%>/user/toMain.action”;
}else {
alert(“登录失败”);
location.reload();
}
}
});
}

//加强版
@Override
public String login(HttpServletRequest request, User user) {
// TODO Auto-generated method stub
User sqlUser = userDao.login(user);
if(sqlUser==null) {
return “uname”;
}else {
if(user.getPassword().equals(sqlUser.getPassword())) {
request.getSession().setAttribute(“user”, sqlUser);
return “success”;
}else {
return “password”;
}
}
}

//JSP

function Login(){
	//清空文本
	$("span").remove();
	//定义变量
	var username = $("[name='username']").val();
	var password = $("[name='password']").val();
	//判断账号为空追加提示
	if(username==""){
		$("[name='username']").after("<span>用户名不能为空</span>");
	}
	//判断密码为空追加提示
	if(password==""){
		$("[name='password']").after("<span>密码不能为空</span>");
	}
	//如果文本都不为空
	if($("span").length==0){
		$.ajax({
			url:"<%=path%>/Login.action",//路径
			type:"POST",//提交反式
			data:{username:username,password:password},//参数
			dataType:"text",//返回类型
			success:function(obj){//回调函数
				//如果obj返回username
				if(obj == "username"){
					$("#btn").after("<span>用户名不存在</span>");
				}
				if(obj == "password"){
					$("#btn").after("<span>密码错误</span>");
				}
				if(obj == "success"){
					alert("登陆成功");
					location.href="<%=path%>/list.action";
				}
			}
		});
	}
}


<form>
	<table>
		<tr>
			<th colspan="2">登陆</th>
		</tr>
		<tr>
			<td>用户</td>
			<td>
				<input type="text" name="username" >
			</td>
		</tr>
		<tr>
			<td>密码</td>
			<td>
				<input type="text" name="password" >
			</td>
		</tr>
		<tr>
			<td colspan="2">
				<input type="button" value="登陆" onclick="Login()" id="btn">
			</td>
		</tr>
	</table>

//加验证码

实体类中增加字段check验证码

/**
 * 登陆验证码
 * @param request
 * @param user
 * @return
 */
@RequestMapping("checkLogin")
@ResponseBody
public String checkLogin(HttpServletRequest request,User user){
	//randomCode验证参数
	String check = (String) request.getSession().getAttribute("randomCode");
	if(!check.equals(user.getCheck())){
		return "check";
	}else{
		System.out.println("----------");
		return userService.checkLogin(request,user);
	}
}

//service层
public String checkLogin(HttpServletRequest request, User user) {
	// TODO Auto-generated method stub
	User sqlUser = userDao.checkLogin(user);
	
	System.out.println(sqlUser);
	if(sqlUser == null){
		System.out.println("**********");
		return "error";
	}else{
		System.out.println("+++++++++++++");
		request.getSession().setAttribute("user", sqlUser);
		return "success";
	}
	 
}
//jsp
<form>
	
	    用户名:<input type="text" name="username"><br>
	    密码:<input type="password" name="pwd"><br>
	    验证码:<input type="text" name="check"><br>
    <img src="imgjsp/image.jsp" title="点击刷新" onclick="shuaxin(this)">
    <input type="button" value="登陆" id="login">
</form>

$(function(){
	$("#login").click(function(){
		$.ajax({
			url:"<%=path %>/checkLogin.action",
			type:"POST",
			data:$("form").serialize(),
			dataType:"text",
			success:function(obj){
				if(obj=="check"){
					alert("验证码不正确");
				}else if(obj=="error"){
					alert("用户名或密码不正确");
				}else{
					alert("登陆成功");
					location="<%=path %>/getUserList.action";
				}
			}
		});
	});
});
function shuaxin(obj){
	
//方法一:取当前时间
<!--	$(obj).attr("src","${ctx}/imgjsp/image.jsp?bian="+new Date().getTime());  -->
//方法二:取一个随机值
	 $(obj).attr("src","${ctx}/imgjsp/image.jsp?bian="+Math.random()); 
}







/** 记住状态的登陆 */
@Override
public boolean login(User user, HttpServletRequest request, HttpServletResponse response) {
	// TODO Auto-generated method stub
	user = dao.login(user);
	if(user == null) {
		return false;
	}else {
		//创建cookie
		Cookie cookie = new Cookie("userInfo","userInfo");
		//设置2分钟有效期
		cookie.setMaxAge(2*60);
		//可在同一应用服务器内共享方法
		cookie.setPath("/");
		//放松到客户段
		response.addCookie(cookie);
		/*
		//写入字符串的值
		String userInfo = user.toString();
		//当第一次登录成功后,就创建一个Session,并将用户的某些信息保存在Session
		HttpSession session = request.getSession();
		session.setAttribute("userInfo", "userInfo");
		//2小时
		session.setMaxInactiveInterval(3600*2);
		//但是当cookie关闭后,用于保存SessionID的JSESSIONID会消失(此时cookie并没有过期)
		//所以得将JSESESSION持久化
		Cookie sessionId = new Cookie("JSESESSIONID",session.getId());
		//设置两分钟
		sessionId.setMaxAge(2*60);
		sessionId.setPath("/");
		response.addCookie(sessionId);*/
		return true;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值