web.xml配置 (在最前面)
<filter>
<filter-name>GuoLV</filter-name>
<filter-class>cn.qyc.guolvqi.GuoLV</filter-class>
</filter>
<filter-mapping>
<filter-name>GuoLV</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器类(因为之前配置的是/*,所以拦截一切请求)
package cn.qyc.guolvqi;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
public class GuoLV implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
Cookie cookie[] = request.getCookies();
String auto = null;
for(int i=0;i<cookie.length&&cookie!=null;i++){
if("qyc".equals(cookie[i].getName())){
auto = cookie[i].getValue();
break;
}
}
if(auto!=null){
String[] parts = auto.split("-");
String namestring = parts[0];
String password = parts[1];
System.out.println(namestring+" "+password);
if("qyc".equals(namestring)&&("123456").equals(password)){
JavaB people = new JavaB();
people.setName(namestring);
people.setPassword(password);
request.getSession().setAttribute("user", people);
}
}
System.out.println("返回");
chain.doFilter(request, res);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
servlet类
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
String name = request.getParameter("username");
String password = request.getParameter("password");
String time = request.getParameter("time");
String autolo = request.getParameter("autoLogin");
if("qyc".equals(name)&&"123456".equals(password)){
JavaB people = new JavaB();
people.setName(name);
people.setPassword(password);
request.getSession().setAttribute("user", people);
if(autolo != null){
System.out.println(name+"-cookie-"+password);
Cookie cookie = new Cookie("qyc", name+"-"+password);
cookie.setMaxAge(Integer.parseInt(time));
cookie.setPath(request.getContextPath());
response.addCookie(cookie);
}
response.sendRedirect(request.getContextPath()+"/index.jsp");
}else {
request.getRequestDispatcher("/MyLog.jsp").forward(request, response);
}
}
<input type="reset" value="重置">
index.jsp页面
<body>
<c:choose>
<c:when test="${sessionScope.user==null}">
<a href="${pageContext.request.contextPath}/MyLog.jsp"></a>
</c:when>
<c:otherwise>
欢迎,${sessionScope.user.name}
</c:otherwise>
</c:choose>
</body>