3.3 登录-控制器层
处理登录页面2个处理URL映射
/user/showLogin.do
请求参数:无
请求方式:GET
响应方式:转发
/user/login.do
请求参数:username,password
请求方式:POST
响应方式:ResponseBody
在UserController类中定义方法 @RequestMapping("/showLogin.do") public String showLogin(){ return "login"; }
修改login.html为login.jsp
测试:
在UserController类定义login方法 @ @ public ResponseResult login(String username,String password){ // 1.创建ResponseResult对象 // 2.try{ //调用业务层 login() // 1 登录成功 }catch(Exception e){ // 0 e.getMessage(); } //3.return rr; }
测试:
3.4用户登录-页面
//登录按钮的异步提交
$('#bt-login').click(function(){
$.ajax({
"url":"${pageContext.request.contextPath}/user/login.do",
"data":"username="+$("#username").val()+"&password="+$("#password").val(),
"type":"POST",
"dataType":"json",
"success":function(obj){
//处理自动登录的复选框
Save();
alert(obj.state+","+obj.message);
}
});
});
注意:
1.判断复选框是否被选中 if ($("#ck_rmbUser").prop("checked"))
2.复选框的'value=0'去掉
页面调整
1.注册成功之后,跳转到登录
2.在注册的页面,点击直接登录
,跳转到登录页面
3.在登录页面,点击新用户注册
,跳转到注册页面
4.显示首页
创建MainController类,定义showIndex方法,显示index.jsp页面
@RequestMapping("/main")
@Controller
public class MainController{
@RequestMapping("/showIndex.do")
public String showIndex(){
return "index";
}
}
把index.html该为index.jsp
调整页面
1.登录成功,跳转到首页
2.在index.jsp页,显示用户名,在❤前边
${user.username}
3.如果没有显示用户名,显示登录,如果显示用户名,登录
变成退出
首先引入标签库
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${user==null}">
<li><a href="">登录</a></li>
</c:if>
<c:if test="${user!=null}">
<li><a href="">退出</a></li>
</c:if>
4.点击登录
,跳转到登录页面。
5.退出 让session失效,并且重定向到首页 在UserController,定义方法,完成退出的功能
@RequestMapping("/exit.do")
public String exit(HttpSession session){
//让session无条件失效
session.invalidate();
return "redirect:../main/showIndex.do";
}
测试:
6.截取header.jsp,在index.jsp页面包含header.jsp
7.点击登录用户名
,显示安全管理的页面(修改密码)
1)在UserController 中定义方法,方法名showPassword
2)把personal_password.html文件改成poersonal_passwrd.jsp
5 安全管理
5.1 安全管理-持久层
在UserMapping接口中定义方法
void update (User user);
在UserMapper.xml文件中,定义update
节点,完成update语句
<update id="update" parameterType="cn.tedu.store.bean.User">
update t_user
set
<if test="password!=null">
password=#{password},
</if>
<if test="username!=null">
username=#{username},
</if>
<if test="gender!=null">
gender=#{gender},
</if>
<if test="email!=null">
email=#{email},
</if>
<if test="phone!=null">
phone=#{phone},
</if>
modified_user=#{modifiedUser},
modified_time=#{modifiedTime}
where
id#{=id}
</update>
测试:修改密码成功。