Ⅰ Filter過濾器中指定過濾內容怎麼配置
servlet的這個 是不來是需要把每源一個的servlet都寫進
「servlet位置」? 回答: 每個servlet都要在web.xml里配置,難道有沒配的? 追問: 有~~ 每個都有 就是覺得要是每個都寫一邊那麼會不會造成代碼冗餘
假設servlet的配置
/LoginServlet
/RegisterServlet
加入到過濾器的中
那個後綴的看起來還不錯 具體能給個寫法看寫么? 回答: 比如servlet配置後綴
/LoginServlet.jspx
/RegisterServlet.jspx那filter/*.jspx再如servlet配置路徑
Ⅱ struts2怎麼在web.xml配置過濾器過濾掉指定的url或者指定的url不過濾
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> //這個抄 地方指定要過濾的url
</filter-mapping>
Ⅲ java web中的filter許可權過濾問題
是login.jsp被嵌入到自iframe里吧?三種解決方案:
首頁菜單欄就做許可權控制,沒有許可權的菜單不展示
需要許可權的菜單點擊時先ajax請求後台判斷許可權,許可權通過了再載入頁面到iframe,否則頁面重定向到登錄頁
登錄頁加入js判斷該頁面是否處於iframe中,如果是則重寫parent.location到登錄頁
Ⅳ Java:現在Filter把所有請求都攔截了,怎麼使Filter不過濾login.jsp頁面呢
對於這種,抄我說兩種方法:
1、將你所有的JSP頁面單獨放在一個文件夾里(假如jspPage),jspPage文件夾里可根據類別分若乾子文件夾,再把相對應的JSP放在子文件夾里;
JS、CSS及圖片等分別放在外面的文件夾里(與文件夾jspPage並列)
再:<url-pattern>/jspPage/*</url-pattern>就行了
一般用的就是這種
2、在過濾的JAVA文件中,在doFilter方法里進行判斷,將後綴名為.css、.js等直接設置為通過就行了,這種較為復雜,在一些特殊情況下才用到,一般不
Ⅳ 關於java,過濾html請求的Filter中跳轉頁面的問題。
肯定是邏輯問題
請把你的代碼貼上來,可以分析 下。
if(包含某後綴名){
重定向
}
dofilter(...)
Ⅵ Filter過濾器中指定過濾內容怎麼配置
</filter-mapping> 補充: 如果是過濾servlet,需要把所有servlet的url-pattern設置成相同的後綴或路徑,然後用Filter用統一的parttern過濾。 追問: servlet的這個 是不是需要把每一個的servlet都寫進
<url-pattern>「servlet位置」</url-pattern>? 回答: 每個servlet都要在web.xml里配置,難道有沒配的? 追問: 有~~ 每個都有 就是覺得要是每個都寫一邊那麼會不會造成代碼冗餘
假設servlet的<url-pattern>配置
<url-pattern>/LoginServlet</url-pattern>
<url-pattern>/RegisterServlet</url-pattern>
加入到過濾器的<url-pattern>中
那個後綴的看起來還不錯 具體能給個寫法看寫么? 回答: 比如servlet配置後綴
<url-pattern>/LoginServlet.jspx</url-pattern>
<url-pattern>/RegisterServlet.jspx</url-pattern>那filter<url-pattern>/*.jspx</url-pattern>
再如servlet配置路徑
Ⅶ Filter過濾器中指定過濾內容怎麼配置
你的問題好像是只需要Filter處理jsp的請求,只要改web.xml里Filter配置就可以。url-pattern別給/*,給/.jsp,如果需要回過濾多種文答件請求,可以再增加filter-mapping,每個的url-pattern對應一種文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>
Ⅷ JSP中用filter 過濾某個包中的所有servlet
web.xml中這樣配置:
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.zq.servlet.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/servlet/Login</url-pattern>
</servlet-mapping>
或者不配置web.xml在servlet中寫註解:
@WebServlet("/servlet/Login")
配置fliter可以在web.xml中這樣寫:
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.zy.filter.UserLoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
或者不配置web.xml在filter中寫註解:
@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")
即在所有想過濾的servlet名字前加上「/setvlet」在過濾的時候過濾路徑就可以寫成「/servlet/*」這樣就能過濾所有的Servlet。
Ⅸ java過濾器filter能過濾某個包下的所有servlet嗎
不能直接過濾。過濾器是根據URL路徑來過濾的,不是根據包名來攔截的。但是你可以按照這樣的規則配置你的web.xml文件,間接實現你的需求。
① 你的servlet的訪問路徑,根據包名來命名。設計二級路徑。比如你有一個user.servlet包。你可以把裡面的所有Servlet路徑全部設置為/user/xxxServlet。你的filter攔截路徑就改為
/user/*
//1AServlet代碼
packageuser.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doPost(request,response);
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
System.out.println(456);
}
}
//2BServlet代碼
packageuser.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doPost(request,response);
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
System.out.println(123);
}
}
//3filter代碼
packagefilter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
{
@Override
publicvoiddestroy(){}
@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,
FilterChainarg2)throwsIOException,ServletException{
System.out.println("執行了"+arg0.getParameter("name"));
arg2.doFilter(arg0,arg1);
}
@Override
publicvoidinit(FilterConfigarg0)throwsServletException{}
}
//4web.xml配置
<servlet>
<servlet-name>AServlet</servlet-name>
<servlet-class>user.servlet.AServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AServlet</servlet-name>
<url-pattern>/user/AServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Bservlet</servlet-name>
<servlet-class>user.servlet.BServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Bservlet</servlet-name>
<url-pattern>/user/BServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>Myfilter</filter-name>
<filter-class>filter.Myfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Myfilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>
//5測試我的工程應用名是HelloWorld
http://localhost/HelloWorld/user/AServlet?name=aaa
http://localhost/HelloWorld/user/BServlet?name=bbb
會發現控制台分別列印出取出的參數aaa和bbb證明。攔截成功。
Ⅹ filter過濾器配置如何不過濾一些頁面
直接添加多個文件映射啊,為每個需要進行過濾的文件都寫個映射標簽