index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
response.sendRedirect(basePath+"easytogo/controller/AppUser.do");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
</body>
</html>
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.util.Map"%>
<%@page import="cn.com.wewell.easytogo.entity.User"%>
<%@page import="javax.servlet.http.HttpSession" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<head>
<base href="<%=basePath%>">
<title>登录</title>
<%
request.setAttribute("decorator", "none");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
<script type="text/javascript">
function OnLogin() {
if (window.document.getElementById("username").value == "") {
alert("请输入登录名!");
window.document.getElementById("username").focus();
return false;
}
window.document.getElementById("form").submit();
return true;
}
</script>
</head>
<body style="background: url('${pageContext.request.contextPath }/easytogo/images/bg.png') #56a9ef repeat-x" >
<form action="easytogo/controller/AppUser.do" method="post" id="form" >
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td height="584" class="bj" style="TEXT-ALIGN: center;VERTICAL-ALIGN: top" background="${pageContext.request.contextPath }/easytogo/images/bj.jpg" valign="top">
<table width="450" border="0" align="center"
cellpadding="0" cellspacing="0">
<tr>
<td height="230"> </td>
</tr>
</table>
<table width="520" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size: 12px">
<tr>
<td colspan="3" style="padding-left: 280"><font color="red">${msg1 }</font></td>
</tr>
<tr>
<td width="280" height="133" rowspan="4"> </td>
<td width="90" class="font" height="32">用户名:</td>
<td width="100" class="left_middle" height="32">
<input id="username" name="username" type="text" class="border" style="width: 100px" />
</td>
</tr>
<tr>
<td height="32" class="font">密 码:</td>
<td class="left_middle"><input id="password" name="password" type="password" class="border" style="width: 100px"/></td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" id="autologin" name="autologin" value="7">一周内自动登录</td>
</tr>
<tr>
<td height="60" class="font"></td>
<td class="left_middle">
<img name="LoginButton" id="LoginButton" src="${pageContext.request.contextPath }/easytogo/images/BrowserPreview_tmp_06.jpg" style="border-width:0px;" οnclick="OnLogin();"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
AppUserController
package cn.com.wewell.easytogo.controller;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.com.wewell.easytogo.dao.UserDAO;
import cn.com.wewell.easytogo.entity.User;
import cn.com.wewell.easytogo.service.UserService;
import cn.com.wewell.easytogo.util.CookieUtils;
@Controller("AppUser")
public class AppUserController {
private String msg1;//记录用户名和密码信息
@Resource
private UserService userService;
@Resource
private UserDAO userDAO;
public static final String USER_SESSION="user.session";
@Resource
private CookieUtils cookieUtils;
/**
* 登陆
*/
@RequestMapping("/easytogo/controller/AppUser.do")
public String login(String username, String password,String autologin,HttpServletRequest request,HttpServletResponse response,
ModelMap map,Map<String, Object> session){
if(cookieUtils.getCookie(request,userDAO)){
return "/easytogo/appuser/main";
}else{
User user=userService.findUserByUserNameAndPassword(username, password);
if(user!=null){
if(autologin!=null && !autologin.isEmpty()){// 判断是否要添加到cookie中
Cookie cookie=cookieUtils.addCookie(user);
response.addCookie(cookie);// 添加cookie到response中
// 2.将user 设置到session中
session.put(USER_SESSION,user);
}
return "/easytogo/appuser/main";
}else{
return "/easytogo/appuser/login";
}
}
}
/**
* 用户退出
* @return
*/
@RequestMapping("/easytogo/controller/logout.do")
public String logout(HttpSession session,HttpServletRequest request,HttpServletResponse response){
session=request.getSession(false);
if(session!=null){
session.removeAttribute(USER_SESSION);
}
Cookie cookie=cookieUtils.delCookie(request);
if(cookie!=null){
response.addCookie(cookie);
}
return "/easytogo/appuser/login";
}
public String getMsg1() {
return msg1;
}
public void setMsg1(String msg1) {
this.msg1 = msg1;
}
public static String getUserSession() {
return USER_SESSION;
}
}