PackageCom.filter;Importjava.io.IOException;Importjava.util.ArrayList;Importjava.util.Arrays;ImportJavax.servlet.Filter;ImportJavax.servlet.FilterChain;ImportJavax.servlet.FilterConfig;Importjavax.servlet.ServletException;Importjavax.servlet.ServletRequest;ImportJavax.servlet.ServletResponse;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse;Importjavax.servlet.http.HttpSession; Public classStatefilterImplementsFilter {Privatearraylist<string> list =NewArrayList (); @Override Public voiddestroy () {//TODO Auto-generated method stubs} @Override Public voidDoFilter (servletrequest request, servletresponse response, Filterchain chain)throwsIOException, servletexception {httpservletrequest req=(httpservletrequest) request; HttpServletResponse Rep=(httpservletresponse) response; HttpSession Session=req.getsession (); String path1=Req.getrequesturi (); String path2=Req.getcontextpath (); String Target=path1.substring (Path2.length ()); if(List.contains (target) = =false){ if(Session.getattribute ("user") = =NULL) {Rep.sendredirect ("Login.jsp"); } Else{chain.dofilter (req, rep); } } Else{chain.dofilter (req, rep); }} @Override Public voidInit (filterconfig cfg)throwsservletexception {String val=cfg.getinitparameter ("Allowpage"); String[] Arr=val.split (","); List.addall (Arrays.aslist (arr)); }}
PackageCom.filter;Importjava.io.IOException;ImportJavax.servlet.Filter;ImportJavax.servlet.FilterChain;ImportJavax.servlet.FilterConfig;Importjavax.servlet.ServletException;Importjavax.servlet.ServletRequest;ImportJavax.servlet.ServletResponse;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse; Public classTestfilterImplementsfilter{@Override Public voiddestroy () {//TODO Auto-generated method stubs} @Override Public voidDoFilter (servletrequest request, servletresponse response, Filterchain chain)throwsIOException, servletexception {//TODO Auto-generated method stubs//httpservletrequest req= (httpservletrequest) request; //HttpServletResponse rep = (HttpServletResponse) response;Request.setcharacterencoding ("Utf-8"); Response.setcharacterencoding ("Utf-8"); //response.getwriter (). Write ("Kaishi");Chain.dofilter (request, response); //response.getwriter (). Write ("Jieshu");} @Override Public voidInit (Filterconfig arg0)throwsservletexception {//TODO Auto-generated method stubs }}
<?xml version= "1.0" encoding= "UTF-8"? ><web-app xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance" xmlns= "Http://xmlns.jcp.org/xml/ns/javaee" xsi:schemalocation= "Http://xmlns.jcp.org/xml/ns/javaee/http Xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd "id=" webapp_id "version=" 3.1 "> <filter> <filter-name> ;testfilter</filter-name> <filter-class>com.filter.testfilter</filter-class> </filter> <filter-mapping> <filter-name>testfilter</filter-name> <url- Pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>loginfilter</filter-nam e> <filter-class>com.filter.StateFilter</filter-class> <init-param> <para M-name>allowpage</param-name> <param-value>/login.jsp,/login</param-value> </ini t-param> </filter> <filter-mapping> <filter-name>loginfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <display-name>test0213am</ display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file& Gt;index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file> Default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file> Default.jsp</welcome-file> </welcome-file-list></web-app>
Login.jsp Interface:
<%@ page language= "java" contenttype= "text/html; Charset=iso-8859-1 " pageencoding=" Iso-8859-1 "%><! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 transitional//en" "Http://www.w3.org/TR/html4/loose.dtd" >
Newfile.jsp Interface:
<%@ page language= "java" contenttype= "text/html; Charset=utf-8 " pageencoding=" Utf-8 "%><! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 transitional//en" "Http://www.w3.org/TR/html4/loose.dtd" >
Address bar Enter any address to jump to login.jsp interface (except login This interface is whitelist)
Utility Jstl The effect of not bypassing the login interface when not logged in