<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Rising Sun

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks
    filter的用法,的確是比較有擴展性的一種方法...可以通過filter結合讀取web.xml中的filter參數來完成一系列的動作,做法如下:

    首先,實現javax.servlet.Filter接口,編寫一個處理request編碼的過濾器類...

    package?tutorial.struts.filter;
    import?javax.servlet.Filter;
    import?javax.servlet.FilterConfig;
    import?javax.servlet.ServletException;
    import?javax.servlet.ServletRequest;
    import?javax.servlet.ServletResponse;
    import?javax.servlet.FilterChain;
    import?java.io.IOException;
    public?class?SetCharacterEncodingFilter?implements?Filter?{
    ??protected?FilterConfig?filterConfig;
    ??protected?String?encodingName;
    ??protected?boolean?enable;
    ??public?SetCharacterEncodingFilter()?{
    ????this.encodingName?=?"UTF-8";
    ????this.enable?=?false;
    ??}
    ??public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
    ????this.filterConfig?=?filterConfig;
    ????loadConfigParams();
    ??}
    ??private?void?loadConfigParams()
    ?{
    ????//encoding
    ????this.encodingName?=?this.filterConfig.getInitParameter("encoding");
    ????//filter?enable?flag...
    ????String?strIgnoreFlag?=?this.filterConfig.getInitParameter("enable");
    ????if?(strIgnoreFlag.equalsIgnoreCase("true"))
    ?{
    ??????this.enable?=?true;
    ????}
    ?else
    ?{
    ??????this.enable?=?false;
    ????}
    ??}
    ??public?void?doFilter(ServletRequest?request,?ServletResponse?response,
    ???????????????????????FilterChain?chain)?throws?IOException,?ServletException
    ?{
    ????if(this.enable)?
    {
    ??????request.setCharacterEncoding(this.encodingName);
    ????}
    ????chain.doFilter(request,?response);
    ??}
    ??public?void?destroy()
    ?{
    ??}
    }
    ?

    然后,需要在web.xml中注冊我們的過濾器類:

    ??<filter>
    ????<filter-name>Set?Character?Encoding</filter-name>
    ????<filter-class>tutorial.struts.filter.SetCharacterEncodingFilter</filter-class>
    ????<init-param>
    ??????<param-name>encoding</param-name>
    ??????<param-value>UTF-8</param-value>
    ????</init-param>
    ????<init-param>
    ??????<param-name>enable</param-name>
    ??????<param-value>true</param-value>
    ????</init-param>
    ??</filter>
    ??<filter-mapping>
    ????<filter-name>Set?Character?Encoding</filter-name>
    ????<servlet-name>Action?Servlet</servlet-name>
    ??</filter-mapping>
    ??<filter-mapping>
    ????<filter-name>Set?Character?Encoding</filter-name>
    ????<servlet-name>Faces?Servlet</servlet-name>
    ??</filter-mapping>
    ?

    這樣,任何通過Struts,或是JSF的Controller?Servlet處理的request,都會在過濾器中先行處理,才把控制權交還給Struts或是JSF,而且Filter中有一個Process?Chain的概念,是一個很吸引人的東東~~!
    posted on 2006-07-27 15:14 brock 閱讀(368) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品理论电影在线观看| 亚洲欧洲另类春色校园小说| 亚洲AV日韩精品久久久久| 久久亚洲精品成人| 亚洲成人网在线播放| 亚洲成AV人片高潮喷水| 一级女性全黄生活片免费看| 一级毛片免费观看| 成年女人18级毛片毛片免费观看| 国产伦精品一区二区三区免费迷 | 猫咪免费人成网站在线观看| 曰批全过程免费视频在线观看 | 亚洲中文字幕无码一区二区三区| 亚洲av日韩综合一区在线观看| 久久久久亚洲国产| jizz日本免费| 日韩不卡免费视频| 亚洲第一黄片大全| 7777久久亚洲中文字幕蜜桃| 亚洲国产成人久久精品软件| 中文字幕在线成人免费看| 免费看黄视频网站| 亚洲日本中文字幕天堂网| 亚洲酒色1314狠狠做| 黄页网址大全免费观看12网站| 久久国产乱子伦精品免费不卡 | 亚洲成aⅴ人片久青草影院| 亚洲天天在线日亚洲洲精| 亚洲爆乳无码精品AAA片蜜桃| a级男女仿爱免费视频| 最近中文字幕无吗免费高清| 国产午夜亚洲精品午夜鲁丝片| 亚洲福利一区二区精品秒拍| 手机永久免费的AV在线电影网| 日本免费一区二区在线观看| 亚洲精品第一国产综合精品99| 亚洲成aⅴ人在线观看| 皇色在线免费视频| 免费观看毛片视频| 亚洲视频日韩视频| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 |