當前位置:首頁 » 凈水方式 » filter過濾jsp

filter過濾jsp

發布時間: 2021-04-06 06:02:12

『壹』 如何在過濾器Filter.java中獲取jsp頁面文本框的值

1、在Jsp頁面將文本框輸入域放在html表單form之中提交
2、後台定義一個過濾器繼承Filter.java
3、在過濾器中的doFilter方法中,將參數ServletRequest轉化為HttpServletRequest
4、利用HttpServletRequest.getParameter();方法即可獲取對應輸入域的value值。
示例:
在Jsp頁面:
<form>
<input type="text" name="username" value="zhangsan"/>

</form>
後台過濾器:
public class TestFilter implements Filter{

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
HttpServletRequest res = (HttpServletRequest) request;
//獲取頁面的username輸入框的值

String username = request.getParameter("username");

return;
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}
}

『貳』 JSP filter過濾器,怎樣可以配置成除某幾個jsp文件外,所有的jsp文件都過濾呢

你可以在xml文件裡面去更改
你在裡面好好的找找你過濾器的名字

過濾器默認的都是/*
你想保護什回么就吧*換成什麼或者答是換成一個文件夾

如果你是昨晚項目在放的過濾器那就多弄幾個過濾器
一個個來(麻煩,最好提前想好,把需要保護的放在一個包裡面)

『叄』 jsp servlet filter 如何過濾

過濾器的xml配置文件可以配置哪些頁面是受保護的,,也就是說要經過過濾器之後才能訪問的!!!具體怎麼寫我就不記得了,,如果你想要怎麼配的話,,發個郵件給我,,,!!!
[email protected]

『肆』 在Jsp頁面或者Filter過濾器中怎麼過濾臟話

不管是JSP還是Servlet,其Filter過濾器都是一個東西。因為JSP的本質就是Servlet,只不過是被包裝了一下,成了標准,讓Web伺服器都遵循這個標准來解析編譯執行而已。 以下演示的就是在JSP中如何過濾臟話(Servlet的處理方式也差不多): 一、 過濾器類 package com.filter;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class WordsFilter implements Filter { private Map< String, String>map = new HashMap< String, String>(); //過濾器的初始化 public void init(FilterConfig config) throws ServletException { String filePath = config.getInitParameter("filePath");//從配置文件中取得文件的相對路徑 ServletContext context = config.getServletContext(); String realPath = context.getRealPath(filePath);//根據相對路徑取得絕對路徑 try { FileReader freader = new FileReader(realPath);//根據絕對路徑,通過文件流來讀取文件 BufferedReader br = new BufferedReader(freader); String line = null; while((line=br.readLine()) != null) { String []str = line.split("="); map.put(str[0], str[1]); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //亂碼處理 request.setCharacterEncoding("gb2312"); response.setContentType("text/html;charset=gb2312"); HttpServletRequest HttpReq = (HttpServletRequest) request; HttpReqWrapper hrw = new HttpReqWrapper(HttpReq); hrw.setMap(map); chain.doFilter(hrw, response); } public void destroy() { System.out.println("--過濾器的銷毀--"); } }二、請求包裝器
package com.filter;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;public class HttpReqWrapper extends HttpServletRequestWrapper { private Map< String,String> map = null; public HttpReqWrapper(HttpServletRequest request) { super(request); } //過濾臟話 public String replace(String str){ StringBuffer sb = new StringBuffer(str); Setkeys = this.getMap().keySet(); Iteratorit = keys.iterator(); String ss = null; while(it.hasNext()) { String key = it.next(); int index = sb.indexOf(key); if(index != -1) { if(key != null) ss = key; sb.replace(index, index+key.length(), this.getMap().get(key)); } } if(ss!=null) { if (sb.toString().indexOf(ss) == -1) { return sb.toString(); } else { return replace(sb.toString()); } } return sb.toString(); }// 重寫getParameter()方法 public String getParameter(String str) { if(str.equals("pager.offset")){ return super.getParameter(str); }else{ String content = super.getParameter(str); return replace(content); } } public Map< String,String> getMap() { return map; } public void setMap(Map< String,String> map) { this.map = map; } }

三、臟話列表word.txt媽的=**
老子=**
狗日的=***
我日=我*
TMD=***
我靠=我*
賤人=**
滾=*
操=*

四、web.xml中配置過濾器
<filter>
<filter-name>WordsFilter</filter-name>
<filter-class>com.filter.WordsFilter</filter-class>
<init-param>
<param-name>filePath</param-name>
<param-value>/WEB-INF/word.txt</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WordsFilter</filter-name>
<url-pattern>/getNote.jsp</url-pattern>
</filter-mapping>

『伍』 如何配置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>

『陸』 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。

『柒』 web配置問題 過濾所有的jsp文件該怎麼搞啊

寫個過濾器(創建一個類實現Filter介面)
在web.xml中配置如下
添加以下代碼
<filter>
<filter-name>encoding</filter-name> //名字任意
<filter-class>全類路徑</filter-class> //實現回filter介面的類的路徑
</filter>
<filter-mapping>
<filter-name>encoding</filter-name> //與上面的答名字匹配
<url-pattern>*.jsp</url-pattern> //*.jsp表示任意jsp文件
</filter-mapping>

『捌』 Java:現在Filter把所有請求都攔截了,怎麼使Filter不過濾login.jsp頁面呢

通過request獲取URL然後做判斷來繞過攔截器執行的代碼

『玖』 filter過濾器,怎樣可以配置成除某幾個jsp文

過濾器是針對路徑過濾 設置想要過濾路徑就可以了 其實更推薦使用spring攔截器

『拾』 在filter中,我要過濾所有JSP和action,但登錄頁login.jsp和login.action不能過濾,這樣的話怎麼配置

把login.jsp換一個後綴嘛,比如login.htm

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239