版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanyinghanlang/article/details/79061802
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="javax.servlet.http.Cookie"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登录首页</title>
</head>
<body>
<%
String[] up = {};
//获取所有的cookie信息
Cookie[] cookies = request.getCookies();
//遍历cookies
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("userInfo")) {
String ui = cookie.getValue(); //zhangsan:123
up = ui.split(":");
}
}
}
%>
<form action="login.action" method="post">
<%
if (up != null && up.length > 0) {//记住密码
%>
<p>
<label for="uname">用户名:</label><input type="text" name="uname"
id="uname" value="<%=up[0]%>" />
</p>
<p>
<label for="pwd">密 码:</label><input type="text" name="pwd"
id="pwd" value="<%=up[1]%>" />
</p>
<%
} else {//没有记住密码
%>
<p>
<label for="uname">用户名:</label><input type="text" name="uname"
id="uname" />
</p>
<p>
<label for="pwd">密 码:</label><input type="text" name="pwd"
id="pwd" />
</p>
<%
}
%>
<p>
<input type="submit" value="登 录" />
</p>
</form>
<%
String error = (String) session.getAttribute("errorInfo");
if (error != null) {
out.println(error);
}
%>
</body>
</html>
LoginServlet.java
package com.uwo9.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.uwo9.entity.User;
import com.uwo9.service.IUserService;
import com.uwo9.service.impl.UserServiceImpl;
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 4296005247016878230L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 设置编码格式
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 接收请求参数
String uname = req.getParameter("uname");
String pwd = req.getParameter("pwd");
// 调用Service层相应方法进行处理
// 创建业务层对象
IUserService userService = new UserServiceImpl();
User user = userService.login(uname, pwd);
// 根据业务层返回值进行响应
if (user != null) {
// 判断是否需要记住密码
String remember = req.getParameter("remember");
// 判断
if (remember != null && remember.equals("1")) {// 需要记住密码
// 将用户名和密码存放在cookie对象中
Cookie cookie = new Cookie("userInfo", uname + ":" + pwd);
// 设置有效时间三天
cookie.setMaxAge(3 * 24 * 60 * 60);
// 设置有效页面
cookie.setPath("/uwo9/login.jsp");
// 将cookie对象存放至response
resp.addCookie(cookie);
}else {
// 将用户名和密码存放在cookie对象中
Cookie cookie = new Cookie("userInfo", uname + ":" + pwd);
// 设置
cookie.setMaxAge(0);
// 设置有效页面
cookie.setPath("/uwo9/login.jsp");
// 将cookie对象存放至response
resp.addCookie(cookie);
}
//将user对象存放至session对象中
req.getSession().setAttribute("user", user);
// resp.getWriter().print("欢迎" + user.getUsername() + "登录成功!");
// 请求转发
req.getRequestDispatcher("success.jsp").forward(req, resp);
} else {
// resp.getWriter().print("登录失败!");
// 设置错误提示信息
// req.getSession().setAttribute("errorInfo","用户名或密码错误!");
// 重定向
resp.sendRedirect("login.jsp");
}
}
}