❶ jsp中為什麼加上了過濾器就報錯 (HTTP Status 404)
路徑配置錯誤
❷ jsp關於過濾器順序的亂碼問題
首先過濾器 是有載入順序的!!!這點要明確!! 任何代碼都是從上往下執行,怎麼可能 隔空執行,這不符合人為規范邏輯的!
characterfilter,是字元編碼過濾器,會幫你處理字元編碼 轉義 ,
如果先載入loginfilter,你傳遞的中文參數 沒有進行任何的編碼與解碼當然為亂碼啊。
❸ 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>
❹ 在filter中,我要過濾所有JSP和action,但登錄頁login.jsp和login.action不能過濾,這樣的話怎麼配置
把login.jsp換一個後綴嘛,比如login.htm
❺ jsp用過濾器解決中文亂碼問題的方法
定義一過濾器,實現Filtter介面
public
class
EncodingFilter
implements
Filter
{
@Override
public
void
destroy()
{
//
TODO
Auto-generated
method
stub
}
@Override
public
void
doFilter(ServletRequest
req,
ServletResponse
resp,
FilterChain
chain)
throws
IOException,
ServletException
{
//
TODO
Auto-generated
method
stub
HttpServletRequest
request=(HttpServletRequest)req;
HttpServletResponse
response=(HttpServletResponse)resp;
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(req,
resp);
}
@Override
public
void
init(FilterConfig
filterConfig)
throws
ServletException
{
//
TODO
Auto-generated
method
stub
}
}
web.xml文件中,配置過濾器
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>pers.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以上這篇jsp用過濾器解決中文亂碼問題的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
❻ JSP中使用Filter的問題
你的filter裡面應該指定一下重定向!
就是session裡面沒有值的時候定向到哪個頁面!
你都是返回空!
❼ JSP Filter過濾器設置編碼問題。。。
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.omg.CORBA.Request;
{
@Override
publicvoiddestroy(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoiddoFilter(ServletRequestreq,ServletResponseres,
FilterChainchain)throwsIOException,ServletException{
//TODOAuto-generatedmethodstub
System.out.println("字元編碼過濾器");
HttpServletRequestrequest=(HttpServletRequest)req;
HttpServletResponseresponse=(HttpServletResponse)res;
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);
}
@Override
publicvoidinit(FilterConfigconfig)throwsServletException{
//TODOAuto-generatedmethodstub
}
}
以上就是Filter過濾器的代碼, 都設置成UTF-8 支持中文, 寫好了以上代碼之後,要在web.xml文件中進行配置。
❽ 在線等,jsp不是很熟悉,是filter過濾器報錯的嗎報錯信息貼在下面了。
java.lang.NullPointerException
at com.tkhf.filter.AuthFilter.doFilter(AuthFilter.java:45)
說明你寫的doFilter有問題:沒有這個對象,或者這個對象為空
AuthFilter.java:45:你看一下45行,可能就是用了沒有初始化或者new的對象。
你在檢查檢查,不然貼你的過濾類來看看
❾ 如何配置Filter過濾器處理JSP中文亂碼
注意問題:在學慣用selvert的過濾器filter處理中文亂碼時,在filter配置初始化時用了utf-8處理中文亂碼,而在提交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。
解決方法:所有地方都用utf-8或gbk
//過濾器類
CharactorFilter.jsp
package cn.com.Filter;
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;
public class CharactorFilter implements Filter { //繼承Filter類
//字元編碼
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//獲取初始化參數
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意這里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--過濾器名稱-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--過濾器的完整類名-->
<init-param> <!--初始化參數-->
<param-name>encoding</param-name> <!--參數名稱-->
<param-value>utf-8</param-value> <!--參數值-->
</init-param>
</filter>
<filter-mapping> <!--過濾器映射-->
<filter-name>CharactorFilter</filter-name><!--過濾器名稱-->
<url-pattern>/*</url-pattern><!--URL映射,給所有頁面處理亂碼-->
</filter-mapping>
❿ 在eclipse中配置了filter之後 運行。jsp界面就顯示404
應該是你的過濾器的代碼有問題 ,在攔截代碼之後都要加上FilterChain.doFilter(reuqest, reponse);才會往下執行