導航:首頁 > 編程語言 > javaurl攔截器

javaurl攔截器

發布時間:2024-07-09 08:12:07

java web 過濾器跟攔截器的區別和使用

java web 過濾器跟攔截器的區別和使用分別介紹如下:

1、過濾器的使用

Filter主要對客戶端的請求和伺服器的響應進行過濾,使用場景:

作用:可以通過Filter技術,對web伺服器管理的所有web資源,例如jsP、Servlet、靜態圖片文件或靜態 html文件等進行攔截,從而實現一些特殊的功能。例如實現URL級別的許可權訪問控制、過濾敏感詞彙、壓縮響應信息等一些高級功能。

同開發Servlet一樣,寫完了類,接下來就是配置了,我們需要在web.xml文件中配置Filter。具體的配置和Servlet配置如出一轍。

<filter>
<filter-name>log</filter-name>
<filter-class>com.jellythink.practise.LogFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>

上面配置中比較重要的就是url-pattern和dispatcher了。

過濾類:

public class LogFilter implements Filter
{
private FilterConfig config;

public void init(FilterConfig config)
{
this.config = config;
}

public void destroy()
{
this.config = null;
}

// 這個方法是Filter的核心方法
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
// 對用戶的請求進行處理
ServletContext context = this.config.getServletContext();
long begin = System.currentTimeMillis();

// 輸出過濾信息
System.out.println("開始過濾...");
HttpServletRequest hRequest = (HttpServletRequest)request;
System.out.println("Filter已經截獲到用戶請求的地址:" + hRequest.getServletPath());
// 處理完以後,將請求交給下一個Filter或者Servlet處理
chain.doFilter(request, response);
// 對伺服器的響應進行處理
long end = System.currentTimeMillis();
System.out.println("過濾結束");
System.out.println("請求被定為到:" + hRequest.getRequestURI() + "; 所花費的時間為:" + (end - begin));
}
}

2、攔截器的使用:

攔截器的主要作用是攔截用戶的請求並進行相應的處理。比如通過它來進行許可權驗證,或者是來判斷用戶是否登陸,或者是像12306那樣子判斷當前時間是否是購票時間。

1.在SpringMVC的配置文件中加上支持MVC的schema

xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation=" http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
下面是聲明示例:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

這樣在SpringMVC的配置文件中就可以使用mvc標簽了,mvc標簽中有一個mvc:interceptors是用於聲明SpringMVC的攔截器的。

⑵ java url 修改參數值越權查看 有什麼好的解決方法嗎

你說的java的url越權查看 基本就是關繫到許可權問題,
那麼最基本的許可權分為兩專種:數據屬許可權與功能許可權。
1,在javaweb的開發當中,對於許可權的開發解決方案有 spring的shiro,
還有spring的security。
2,可以自己做攔截器,對於session的驗證,不繞過session的話,基本就取不到任何功能
3,如果別人做了session,或者繞過session,或者就用弱許可權的seesion請求高級許可權的數據,那麼對於自己的簡單許可權,可以寫過濾器,每做一個鏈接請求數據的介面 都記錄到自己資料庫
設置對應的人,然後每次請求的時候,都會去session裡面取到對應的人的信息,跟資料庫的介面url做比對。

⑶ java如何攔截jsp頁面手動輸入的url地址信息。

你是想攔截用戶在請求後面輸入的參數?
多用post 多使用加密參數即可杜絕大多數用戶了,但是對於高手,沒用。

⑷ 怎樣防止用戶url直接進入系統在線等(java)

你會用session嗎,你可以通過寫一個filter攔截器,在這個攔截器的方法里,判斷是否存在session.getAttribute("loginUser");這個是在登陸的方法里給復值的,如果通過其他鏈接沒有走登陸頁面是沒有值的,這樣就可以在filter中判斷,讓他在調回登陸頁面。這樣就可以了.

閱讀全文

與javaurl攔截器相關的資料

熱點內容
書香門第安卓 瀏覽:395
如何分離編程數值 瀏覽:996
描述文件是幹嘛的 瀏覽:868
文件格式化恢復 瀏覽:353
v顯卡驅動程序源碼 瀏覽:44
iphone5s聲音小怎麼解決 瀏覽:656
文件名文字看不清了 瀏覽:313
電腦找不到cftmon文件 瀏覽:768
qq分組久伴酒伴久伴 瀏覽:697
文檔轉成pdf格式文件 瀏覽:621
離子數據怎麼寫 瀏覽:876
jspapijar官網下載 瀏覽:366
html調用文本文件 瀏覽:921
想學數控編程哪裡好 瀏覽:860
js獲取系統動態時間間隔 瀏覽:165
win10改win7進pe卡住 瀏覽:456
u盤中毒ink文件 瀏覽:718
蘋果換機數據遷移包含哪些數據 瀏覽:234
程式控制可編程直流電源在哪裡 瀏覽:598
容積長寬高的數據從什麼面測量 瀏覽:978

友情鏈接