cuixx1985

          一個webwork過濾器的問題

          先貼代碼如下:
          1.SercurityFilter.java

          import java.io.IOException;

          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 SercurityFilter implements Filter{

              
          public void destroy() {
                  
              }


              
          public void doFilter(ServletRequest req, ServletResponse res,
                      FilterChain chain) 
          throws IOException, ServletException {
                  HttpServletRequest request 
          = (HttpServletRequest) req;
                  HttpServletResponse response 
          = (HttpServletResponse) res;
                  
                  String url = request.getRequestURI();
                     String name = (String) request.getSession().getAttribute("name");
                  
                    if((url.indexOf("index") == -1) && (null == name))
                  {
                      String path = request.getContextPath();
                      response.sendRedirect(path + "/index.jsp");
                  }

                  
          else
                      chain.doFilter(request, response);
              }


              
          public void init(FilterConfig arg0) throws ServletException {
                  
              }


          }


          然后問題是這樣的:
          我現(xiàn)在用戶沒登錄的時候,點擊一個超鏈接(bookAction.action)的時候,并沒有進(jìn)入SercurityFilter這個里面定義的index.jsp頁面,而地址欄顯示的也是這個超鏈接的bookAction.action地址。
          而當(dāng)我把bookAction對應(yīng)的xwork.xml中的result里面添加 type="redirect",如下:
          <result name="browseCatalog" type="redirect">/jsp/browseCatalog.jsp</result>
          而現(xiàn)在我重新點擊這個超鏈接的時候卻能轉(zhuǎn)到index.jsp頁面,不知道這個是怎么回事?????

          但是重定向過去又不能保存action執(zhí)行的結(jié)果,不能給browseCatalog.jsp這個頁面里的表單賦值,當(dāng)然可以通過將內(nèi)容放入session中進(jìn)行賦值,但這樣應(yīng)該不太好吧。


          web.xml代碼如下:
          <filter-mapping>
                  
          <filter-name>webwork</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>
              
              
          <filter-mapping>
                  
          <filter-name>sercurityFilter</filter-name>
                  
          <url-pattern>/jsp/*</url-pattern>
              </filter-mapping>
              



          今天晚上又做了下簡單的驗證,不知道為什么,不管我web.xml里面設(shè)置/*還是*.action,瀏覽器輸入*.action地址或者提交表單的時候都進(jìn)不了這個filter里面去。而web.xml里面設(shè)置/*時,只要我輸入*.jsp都會直接轉(zhuǎn)到index.jsp頁面,難道是哪里配置錯了。。。還是????



          posted on 2008-11-19 16:25 true_star 閱讀(1309) 評論(4)  編輯  收藏 所屬分類: webwork

          Feedback

          # re: 一個webwork過濾器的問題[未登錄] 2008-11-20 11:08 object

          <url-pattern>/jsp/**//*</url-pattern>  回復(fù)  更多評論   

          # re: 一個webwork過濾器的問題[未登錄] 2008-11-20 11:11 object

          這里你不是設(shè)置的jsp/*嗎,你的bookAction.action前面有jsp/嗎
          還有你的response不爽的話
          就用request.getRequestDispatcher("/index.jsp").forward(request,response);  回復(fù)  更多評論   

          # re: 一個webwork過濾器的問題 2008-11-20 11:19 true_star

          bookAction.action前面有/jsp/的。問題是當(dāng)我設(shè)置/*的時候, 地址欄輸入.action結(jié)尾的時候,根本就不去執(zhí)行這個filter,就和沒配置這個filter一樣的。。。。。。。  回復(fù)  更多評論   

          # re: 一個webwork過濾器的問題 2010-03-10 13:52 itbee

          查看webwork的FilterDispatcher.java的doFilter方法。
            回復(fù)  更多評論   


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 孝昌县| 丹江口市| 遂川县| 体育| 广南县| 鄱阳县| 靖边县| 加查县| 平乡县| 洪江市| 尼勒克县| 淄博市| 德阳市| 措勤县| 岳池县| 洪雅县| 广宁县| 昌邑市| 都昌县| 古田县| 大田县| 平江县| 赤壁市| 东辽县| 健康| 南投县| 新蔡县| 望奎县| 五寨县| 江永县| 右玉县| 英德市| 金寨县| 鹿泉市| 茌平县| 黔江区| 道真| 双鸭山市| 三亚市| 屯昌县| 昌吉市|