用户登录代码实现(springjdbc)并且存cookie,session

session cookie 参考:

https://blog.csdn.net/liu_wenbin/article/details/59531184
https://blog.csdn.net/a754895/article/details/82632747

https://www.cnblogs.com/Asdin/p/5867127.html

 

serviceimpl:

/*
	 * 登录信息验证(是否存在用户名)
	 */
	@Override
	public Integer selectUserLoginName(String userName) {
		String sql = "select count(ULOGIN) from t_sys_user where ULOGIN = ?";
		Integer result = jdbcTemplate.queryForObject(sql,Integer.class,userName);
		return result;
	}
	
	/*
	 * 登录信息验证(密码是否正确)
	 */
	@Override
	public LoginUserMg selectUserLoginPw(String userName) {
		String sql = "select * from t_sys_user where ULOGIN = ?";
		RowMapper<LoginUserMg> rowMapper=new BeanPropertyRowMapper<LoginUserMg>(LoginUserMg.class);
		LoginUserMg loginUserMg = jdbcTemplate.queryForObject(sql,rowMapper,userName);
		System.out.println(loginUserMg);
		return loginUserMg;
	}

controller:


	/**
	 * 用户登录验证(用户名存入session)
	 */
	@RequestMapping(value = "/logins")
	@ResponseBody
	public Map<String, String> logins(String userName,String userPassword,HttpServletRequest req,HttpServletResponse response) {
		Map<String, String> mapsMap = new HashMap<String, String>();
		Integer res = userservice.selectUserLoginName(userName);
		//判断用户名是否存在
		if (res==1) {
			LoginUserMg loginUserMg = userservice.selectUserLoginPw(userName);
			//判断密码是否正确
			if (loginUserMg.getUPW().equals(userPassword)) {
				//创建cookie对象
				Cookie nameCookie = new Cookie("usernames", userName);
				Cookie pwdCookie = new Cookie("password", userPassword);
				nameCookie.setMaxAge(3600);
				pwdCookie.setMaxAge(3600);
				//传输cookie
				response.addCookie(nameCookie);
			    response.addCookie(pwdCookie);
				// 1.获得session
	            HttpSession session = req.getSession();
	            session.setAttribute("uname", userName);
				mapsMap.put("result","true");
			}else {
				mapsMap.put("result","false");
			}
		}else {
			mapsMap.put("result","false");
		}
		return mapsMap;
	}
	
	/**
	 * 获取session
	 */
	@RequestMapping(value = "/selectSession")
	@ResponseBody
	public Map<String, String> selectSession(HttpServletRequest request) {
		Map<String, String> mapsMap = new HashMap<String, String>();
		HttpSession session = request.getSession(false);
		String loginName = (String)session.getAttribute("uname");
		for (Cookie Cookies : request.getCookies()) {
			if (Cookies.getName().equals("usernames")) {
				mapsMap.put("cookie1", Cookies.getValue());
			}
			if (Cookies.getName().equals("password")) {
				mapsMap.put("cookie2", Cookies.getValue());
			}
		}
		mapsMap.put("sessions",loginName);
		return mapsMap;
	}

html(提供借鉴):

<!DOCTYPE html>
<html>

<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <title>H+ 后台主题UI框架 - 登录</title>
    <meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后�?">
    <meta name="description" content="H+是一个完全响应式,基于Bootstrap3�?新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技�?">

    <link rel="shortcut icon" href="favicon.ico"> <link href="../static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
    <link href="../static/css/font-awesome.css?v=4.4.0" rel="stylesheet">

    <link href="../static/css/animate.css" rel="stylesheet">
    <link href="../static/css/style.css?v=4.1.0" rel="stylesheet">
    <!--[if lt IE 9]>
    <meta http-equiv="refresh" content="0;ie.html" />
    <![endif]-->
    <script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen  animated fadeInDown">
        <div>
            <div>

                <h1 class="logo-name">H+</h1>

            </div>
            <h3>欢迎使用 H+</h3>

            <form class="m-t" role="form" action="index.html">
                <div class="form-group">
                    <input id="userName" type="email" class="form-control" placeholder="用户名" required="" > 
                </div>
                
                <div class="form-group">
                    <input id="userPassword" type="password" class="form-control" placeholder="密码" required="">
                </div>
                <button onclick="loginUser()" class="btn btn-primary block full-width m-b">登陆</button>
            </form>
        </div>
    </div>

    <!-- 全局js -->
    <script src="../static/js/jquery.min.js?v=2.1.4"></script>
    <script src="../static/js/bootstrap.min.js?v=3.3.6"></script>
	<script src="../static/js/logins.js"></script>
    <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
    <!--统计代码,可删除-->
	<script type="text/javascript">
		function loginUser() {
			var userName = $("#userName").val();
	       	var userPassword = $("#userPassword").val();
			$.ajax({
				url : "../User/logins?userName="+userName+"&userPassword="+userPassword,
				type : "post",
				dataType : "json",
				async : false,
				contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
				success : function(data) {
					if (data.result=="true") {
						alert("登录成功");
						//跳转
						window.location.href="impsky";
					} else {
						alert("用户名密码错误");
					}
				},
				error : function(msg) {
					alert("ajax连接异常:" + msg);
				}
			});
		}
	</script>
</body>

</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值