代码部分:
login.jsp
<%--
Created by IntelliJ IDEA.
User: ${陈平安}
Date: 2022/6/1
Time: 13:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
user.js
function login() {
var uname = document.getElementById("uname").valueOf();
if (uname != null && uname != ""){
document.getElementById("loguinform").submit();
}
}
s01.java
package com.xxx.seervlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
@WebServlet("/s01")
public class s01 extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name01 = request.getParameter("username");
System.out.println(name01);
if ("admin".equals(name01)){
request.getSession().setAttribute("user01",name01);
response.sendRedirect("index.jsp");
}else {
response.sendRedirect("login.jsp");
}
}
}
filter01.java
package Filter0x;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebFilter("/*")
public class filter01 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest requst = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String path = requst.getRequestURI();
System.out.println(path);
if (path.contains("/login.jsp")) {
filterChain.doFilter(requst, response);
return;
}
if (path.contains("/js")){
filterChain.doFilter(requst, response);
return;
}
if (path.contains("/s01")){
filterChain.doFilter(requst, response);
return;
}
String name02 = (String) requst.getSession().getAttribute("user01");
if (name02 != null){
filterChain.doFilter(requst, response);
return;
}
response.sendRedirect("login.jsp");
return;
}
@Override
public void destroy() {
}
}
index.jsp
<%--
Created by IntelliJ IDEA.
User: ${陈平安}
Date: 2022/6/1
Time: 13:23
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
欢迎${uname}登录
正常访问界面;
异常访问界面:
结果:
跳转回登陆界面;
以上正常访问界面;



