----------------------过滤器filter简单登录和乱码过滤----
生活随笔
收集整理的這篇文章主要介紹了
----------------------过滤器filter简单登录和乱码过滤----
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
web.xml里面的代碼
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><!-- 編碼過濾器 --><filter><filter-name>CharactorEncodingFilter</filter-name><filter-class>cn.happy.filter.CharacterEncodingFilter</filter-class></filter><!-- 鑒權(quán)過濾器 --><filter><filter-name>SessionFilter</filter-name><filter-class>cn.happy.filter.SessionFilter</filter-class><!-- 初始化參數(shù) --><init-param><param-name>execuldeUrl</param-name><param-value>/servlet/(Login|Register)Servlet</param-value></init-param></filter><!-- 按照書寫先后順序 ,執(zhí)行順序按照Sevlet-Mapping 書寫順序 --><filter-mapping><filter-name>CharactorEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 需要權(quán)限的頁面 --><filter-mapping><filter-name>SessionFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping><filter-mapping><filter-name>SessionFilter</filter-name><url-pattern>/servlet/*</url-pattern></filter-mapping><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>LoginServlet</servlet-name><servlet-class>cn.happy.servlet.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/servlet/LoginServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list> </web-app>servlet里面的代碼
package cn.happy.filter;import java.io.IOException; import java.util.regex.Pattern;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.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class SessionFilter implements Filter {Pattern patternUrl;//能從配置文件獲取內(nèi)容public void init(FilterConfig config) throws ServletException {String url=config.getInitParameter("execuldeUrl"); ///servlet/LoginServletif(url!=null&&!url.equals("")){ //配置了例外//為了獲取到一個(gè)正則對象 patternUrl= Pattern.compile(url); //我們定制的正則規(guī)范 /servlet/LoginServlet}}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req=(HttpServletRequest)request;HttpServletResponse res=(HttpServletResponse)response;//路徑中包含 /servlet/LoginServlet 方向String servletPath = req.getServletPath();System.out.println(servletPath+"===========================");if(patternUrl.matcher(servletPath).matches()){chain.doFilter(request, response);return;}Object sessionObj = req.getSession().getAttribute("uname");if(sessionObj!=null){ //證明用戶已經(jīng)登錄了//放行chain.doFilter(request, response);}else{System.out.println("session filter not session data");//證明用戶沒有登錄,返回到登錄 /Jsp-Day05Filterres.sendRedirect(req.getContextPath()+"/login.jsp");}}public void destroy() {}}
轉(zhuǎn)載于:https://www.cnblogs.com/laosunlaiye/p/7383832.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的----------------------过滤器filter简单登录和乱码过滤----的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis cluster 集群重新启动
- 下一篇: HDU 6143 Killer Name