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;
}
}