<!-- 模态框主体 --> <div class="modal-body"> <form method="post" action="${cx}/login"> <label style="display: block;" class="fa fa-user">用户名: <input type="text" name="username" placeholder="username"></label> <label class="fa fa-key">密码:</label> <input type="password" name="password" placeholder="password"> <br><br> <a class="fa fa-paste" href="#" style="text-align: left">忘记密码?</a> <label>听说还是不会员? <a class="btn btn-danger" type="button" value="register" href="#"data-target="#myModal2">点击注册</a></label> <br><br> <button class="btn btn-primary col-sm-12">登陆</button> </form> </div>
index的控制器类 @Controller public class IndexController { //设置系统主页 @RequestMapping(value = {"/", "/dkdshudu_main", "dkdshudu","shudu_main"}) public String index() { return "shudu_main"; } }
login控制器类 @Controller public class LoginController { @Autowired CUserService cuserService; //注销 @RequestMapping(value = {"/logout"}, method = RequestMethod.GET) public String logout(HttpSession session) { session.invalidate(); return "redirect:shudu_main"; } //身份验证 @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(@RequestParam("username") String username, @RequestParam("password") String password, HttpServletRequest request, HttpSession session ) { CUSER cuser = cuserService.authenticate(username, password); if (cuser==null){ //如果失败,就返回原来都界面 return "shudu_main"; }else { request.changeSessionId(); session.setAttribute("username", username); //后期可以添加上个人主页url等信息 return "redirect:shudu_main"; } } }
CUserdao.java **接口类,封装对User对象CRUD操作** public interface CUserDao { //校验是否存在该用户,不存在则返回null,存在则返回用户 //使用@Param来传递参数,传入参数为username和password public CUSER findByNameAndPwd(@Param("username") String username, @Param("password") String password); }
CUserservice.java **Dao类,封装对user对象CRUD操作** @Service public class CUserService { //校验是否存在该用户,不存在则返回null,存在则返回用户 //使用@Param来传递参数,传入参数为username和password public CUSER authenticate(String username, String password) { return cuserDao.findByNameAndPwd(username, password); } }
CUserDao.xml **<!-- namespace表示命名空间 -->** <mapper namespace="jee.support.dao.CUserDao"> <!--根据用户名和密码查找用户--> <select id="findByNameAndPwd" resultType="jee.support.entity.CUSER"> select * from user as u where u.Username=#{username} and u.Password=#{password} </select> </mapper>
7.数据库 (数据库名称,表名不要用中文)
验证成功后 session设置属性,替换原来掉注册登录选项
导航栏重要html
替换需要使用el表达式
<!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="navbar-menu"> <ul class="nav navbar-nav navbar-right" data-in="fadeInDown" data-out="fadeOutUp"> <li><a href="#">主页</a></li> .....( 省略) <li><a href=" ">联系我们</a></li> <c:choose> <c:when test="${username==null||username==' '}"> <li><a data-toggle="modal" data-target="#myModal" href="" id="UserHomepage">登陆</a></li> <li><a data-toggle="modal" data-target="#myModal2" href="" id="hiddenPage">注册</a></li> </c:when> <c:otherwise> <li class="dropdown"><a href="" id="user_infom">欢迎 ${username}</a> <ul class="dropdown-menu cart-list"> <li class="total"> <a href="logout" class="btn btn-default btn-cart">退出</a> </li> </ul> </li> </c:otherwise> </c:choose> </ul> </div>
再次刷新可以观察url ,第一次返回界面login控制器类是重定向,第二次是index控制器类的转发