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

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

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

    Rising Sun

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

    首先,實現(xiàn)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 閱讀(369) 評論(0)  編輯  收藏

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产va免费观看| 中文字字幕在线高清免费电影| 久久免费美女视频| 亚洲日产韩国一二三四区| 免费在线观看自拍性爱视频| 又爽又黄无遮挡高清免费视频| 亚洲AV无码一区二区三区网址| 在线观看免费国产视频| 亚洲av无码专区青青草原| 国产高清免费观看| 国产亚洲午夜精品| 中文字幕亚洲第一| 免费人成网站在线观看不卡| 亚洲成在人天堂在线| 免费网站看av片| 亚洲精品视频专区| 成人免费午夜视频| 美女视频黄频a免费观看| 中文亚洲成a人片在线观看| 欧洲人免费视频网站在线| 亚洲无成人网77777| 在线精品免费视频无码的| 特级毛片全部免费播放| 国产亚洲欧洲精品| 91精品免费国产高清在线| 亚洲国产精品久久久久秋霞小| 超清首页国产亚洲丝袜| 2020因为爱你带字幕免费观看全集| 精品亚洲AV无码一区二区三区| 免费国产成人高清视频网站| 国内精品免费视频精选在线观看 | 免费看搞黄视频网站| 亚洲婷婷天堂在线综合| 国产精品久久免费视频| 久久久久久久99精品免费观看 | 国产女高清在线看免费观看| 国产精品一区二区三区免费| 亚洲精品美女视频| 亚洲成人影院在线观看| 亚洲大片免费观看| 日韩在线观看免费完整版视频|