ytech

          學習JAVA, Hello World!

          常用鏈接

          統計

          最新評論

          J2EE Filter 的幾種用法

          1。 利用Struts 進行賬戶權限管理


          這里只有一個com.micas.utils.test.MyFilter定義,但是在web app啟動實例化了2個instance,分別讀入2個參數。并且,指定了觸發著兩個instance的uri 的mapping.

           1 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
           2          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           3          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
           4          version="2.4">
           5 
           6     <servlet>
           7         <servlet-name>action</servlet-name>
           8         <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
           9         <init-param>
          10             <param-name>config</param-name>
          11             <param-value>/WEB-INF/struts-config.xml
          12             </param-value>
          13         </init-param>
          14     </servlet>
          15 
          16     <!-- Action Servlet Mapping -->
          17     <servlet-mapping>
          18         <servlet-name>action</servlet-name>
          19         <url-pattern>*.do</url-pattern>
          20     </servlet-mapping>
          21 
          22 
          23     <display-name>pogo</display-name>
          24 
          25     <filter>
          26         <filter-name>patGeneral</filter-name>
          27         <filter-class>com.micas.utils.test.MyFilter</filter-class>
          28         <init-param>
          29             <param-name>role</param-name>
          30             <param-value>general</param-value>
          31         </init-param>
          32     </filter>
          33 
          34     <filter>
          35         <filter-name>patManager</filter-name>
          36         <filter-class>com.micas.utils.test.MyFilter</filter-class>
          37         <init-param>
          38             <param-name>role</param-name>
          39             <param-value>manager</param-value>
          40         </init-param>
          41     </filter>
          42 
          43     <filter-mapping>
          44         <filter-name>patManager</filter-name>
          45         <url-pattern>/view/pat/manager/*</url-pattern>
          46     </filter-mapping>
          47 
          48     <filter-mapping>
          49         <filter-name>patGeneral</filter-name>
          50         <url-pattern>/view/pat/general/*</url-pattern>
          51     </filter-mapping>
          52 
          53 
          54 </web-app>

          MyFilter 代碼如下:
           1 package com.micas.utils.test;
           2 
           3 
           4 import javax.servlet.Filter;
           5 import javax.servlet.FilterChain;
           6 import javax.servlet.FilterConfig;
           7 import javax.servlet.ServletException;
           8 import javax.servlet.ServletRequest;
           9 import javax.servlet.ServletResponse;
          10 import javax.servlet.http.HttpServletRequest;
          11 import java.io.IOException;
          12 
          13 
          23 public class MyFilter implements Filter
          24 {
          25     private String role;
          26 
          27     public void init(FilterConfig config) throws ServletException
          28     {
          29          role = config.getInitParameter("role");
          30         System.out.println("role is "+role);
          31         config.getServletContext().setAttribute("test",role);
          32 
          33     }
          34 
          35     public void doFilter(ServletRequest request, ServletResponse response,
          36             FilterChain chain)
          37             throws IOException, ServletException
          38     {
          39 
          40         if("manager".equalsIgnoreCase(role)){
          41             System.out.println("you are in as a manager");
          42         }
          43         else if("general".equalsIgnoreCase(role)){
          44             System.out.println("you are in as general");
          45         }
          46         else{
          47             System.out.println("something not right");
          48         }
          49         HttpServletRequest hRequest = (HttpServletRequest)request;
          50         System.out.println("the file sends the request is "+hRequest.getRequestURI());
          51         chain.doFilter(request, response);
          52     }
          53 
          54     public void destroy()
          55     {
          56     }
          57 }
          58 

          posted on 2005-11-22 06:30 Java 的學習之路 閱讀(3910) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临高县| 锡林浩特市| 开原市| 海口市| 沙河市| 龙岩市| 恭城| 云浮市| 平谷区| 阿城市| 浮山县| 滨州市| 兰坪| 晋中市| 寻乌县| 高陵县| 隆德县| 丹东市| 山东| 任丘市| 永登县| 洱源县| 那坡县| 东兰县| 濉溪县| 昌图县| 昂仁县| 泌阳县| 乌拉特中旗| 拜城县| 黎平县| 济源市| 翁牛特旗| 南川市| 肇源县| 凤凰县| 白城市| 郧西县| 安龙县| 贵德县| 阿城市|