1, filter execution sequence: <url-pattern> for the first echelon, <servlet-name> for the second echelon, the execution sequence within the Echelon and the declaration in DD in the same order.
Set inch Set inch inch inch in the D.D.
2. You can filter the requests that are passed in the server.
<filter> <filter-name>BeerRequest</filter-name> <filter-class>sample. Beerrequestfilter</filter-class> <init-param> <PARAM-NAME>LOGFILENAME</PARAM-NAME&G T <param-value>Userlog.txt</param-value> </init-param> </filter> <filter-mapping> <filter-name>BeerRequest</filter-name> <url-pattern>*.do</url-pattern> <s Ervlet-name>jack</servlet-name> <Dispatcher>REQUEST</Dispatcher> <!--when one is not set, it is the default value - <Dispatcher>INCLUDE</Dispatcher> <Dispatcher>FORWARD</Dispatcher> <Dispatcher>ERROR</Dispatcher> </filter-mapping>
3, Filter Application example
Packagesample;Importjavax.servlet.ServletException;ImportJavax.servlet.http.HttpServlet;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse;Importjava.io.IOException;ImportJava.io.PrintWriter; Public classServletextendsHttpServlet {@Overrideprotected voidDoget (httpservletrequest req, HttpServletResponse resp)throwsservletexception, IOException {printwriter printwriter=Resp.getwriter (); Printwriter.println ("Calls Doget (req, resp)"); Printwriter.println ("Test can output Chinese"); Printwriter.close (); }}
Filter:
Packagesample;Importjavax.servlet.*;Importjava.io.IOException; Public classFilterImplementsjavax.servlet.filter{Private intvisited; @Override Public voidInit (Filterconfig filterconfig)throwsservletexception {} @Override Public voidDoFilter (ServletRequest servletrequest, Servletresponse servletresponse, Filterchain filterchain)throwsIOException, servletexception {servletresponse.setcontenttype ("Text/html"); Servletresponse.setcharacterencoding ("Utf-8"); Visited++; Filterchain.dofilter (ServletRequest, servletresponse); System.out.println ("Visited =" +visited); } @Override Public voiddestroy () {}}
Xml
<?xml version= "1.0" encoding= "UTF-8"? ><web-app xmlns= "Http://xmlns.jcp.org/xml/ns/javaee"Xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"xsi:schemalocation= "Http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version= "3.1" > <servlet> <servlet-name>servlet</servlet-name> <servlet-class>sample. servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet</servlet-name> <url -pattern>/ Do</url-pattern> </servlet-mapping> <filter> <filter-name>filter</filter-name> <filter-class>sample. filter</filter-class> </filter> <filter-mapping> <filter-name>filter</filter-name> <servlet- Name>servlet</servlet-name> </filter-mapping></web-app>
4, the wrapper slightly.
"Head first Servlets and JSP" Note 28: Filters and wrappers