拦截器案例应用,登录拦截器(上)

1.  思路

1、有一个登录页面,需要写一个controller访问页面

2、登录页面有一提交表单的动作。需要在controller中处理。

a)         判断用户名密码是否正确

b)         如果正确 想session中写入用户信息

c)        返回登录成功,或者跳转到商品列表

2、拦截器。

a)         拦截用户请求,判断用户是否登录

b)        如果用户已经登录。放行

c)         如果用户未登录,跳转到登录页面。

1.2  login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>用户登录</title>

</head>

<body>

<form action="${pageContext.request.contextPath }/user/login.action">

用户名:<input type="text" name="username" /><br>

密码:<input type="password" name="password" /><br>

<input type="submit">

</form>

</body>

</html>

1.3  UserController

/**

 * 登录拦截器

 * @author Steven

 *

 */

@Controller

@RequestMapping("user")

public class UserController {

   

    /**

     * 跳转登录页面

     * @return

 */

    @RequestMapping("toLogin")

    public String toLogin(){

       return "login";

    }

   

    /**

     * 用户登录

     * @return

     */

    @RequestMapping("login")

    public String login(String username,String password,HttpSession session){

      

       String result = "login";

       //断定用户是否允许登录

       if(username != null){

           session.setAttribute("username", username);

           //登录成功,跳转商品列表

           result = "redirect:/itemList.action";

       }

       return result;

    }

}

原文地址:https://www.cnblogs.com/yuwenweisan/p/10939018.html