ssm-学子商城-项目第三天

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>

测试:修改密码成功。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值