文章摘要
这篇文章描述了一个JavaServlet,名为`LoginServlet`,主要实现了用户登录功能,并提供了7天免登录期限的设置。该Servlet继承自`HttpServlet`,并在`doGet`和`doPost`方法中实现登录功能。核心功能包括:
1. 从`HttpServletRequest`中获取用户登录名(`username`)。
2. 读取Cookie设置的免登录期限(`day7`)。
3. 创建一个包含用户名的Cookie,并设置其过期时间。
4. 将Cookie写入响应,并重定向用户到`cookieUser.jsp`。
文章重点突出了Servlet的动态功能,以及通过Cookie实现的用户身份验证和权限控制。
package com.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet(“/LoginServlet”)
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID=1L;
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//获取用户登录名
String username=request.getParameter(“username”);
//获取7天内是否免登录
String day7=request.getParameter(“chkCookie”);
int cookie_day=1;
if(null !=day7 && day7.equals(“”)){
cookie_day=Integer.valueOf(day7);
}
//创建cookie
Cookie cookie=new Cookie(“cook_name”,username);
//设置Cookie有限期
//cookie.setMaxAge(6);//有效期6秒
cookie.setMaxAge(3600 * 24 * cookie_day);//设置7天免登录
//写入cookie到浏览器
response.addCookie(cookie);
response.sendRedirect(“cookieUser.jsp”);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}