login.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="post">
<input type="text" name="username"><br>
<input type="password"name="userpassword"><br>
<input type="submit" value="login" >
<input type="reset" value="reset">
</form>
</body>
</html>
login.java:
package lab5;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/login")
public class login extends HttpServlet {
@Override
protected void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String username=request.getParameter("username");
String password=request.getParameter("userpassword");
HttpSession session = request.getSession();
session.setAttribute("username", username);
session.setAttribute("password", password);
response.sendRedirect("main.jsp");
}
}
filter01.java:
package lab5;
import java.io.IOException;
import java.nio.file.DirectoryStream.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;
@WebFilter("/main.jsp")
public class filter01 implements javax.servlet.Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
//javax.servlet.Filter.super.init(filterConfig);
System.out.print("过滤器启动成功");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
HttpSession session = req.getSession();
Object username=session.getAttribute("username");
Object userpassword=session.getAttribute("password");
System.out.print(username);
if(username!="" &&userpassword!="" )
{
System.out.print("正确");
chain.doFilter(req,resp);
}
else
{ System.out.print("错误");
resp.sendRedirect("login.jsp");
}
}
public void destory() {
}
}
main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>恭喜你登录成功了</h2>
</body>
</html>