❶ javaweb怎麼對url進行過濾
在web.xml裡面配置,如下:
<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
<init-param>
<param-name>sessionCookieName</param-name>
<param-value>jsessionid</param-value>
</init-param>
<init-param>
<param-name>sessionParameterName</param-name>
<param-value>JSESSIONID</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>/plug-in/ckfinder/core/connector/java/connector.java</url-pattern>
</filter-mapping>
有一個filter 和一個filter-mapping>
❷ javaweb filter過濾掉 request請求帶有 add的請求怎麼寫過濾的url /*a
filter只能過濾兩種URL
Pattern
/xxxx/*或者*.,
不支持樓主這樣的模式,
實現過濾add請求,最好寫成/add/xxxx
❸ java web 過濾器跟攔截器的區別和使用
java web 過濾器跟攔截器的區別和使用分別介紹如下:
1、過濾器的使用
Filter主要對客戶端的請求和伺服器的響應進行過濾,使用場景:
客戶端的請求到達伺服器,伺服器真正開始處理這個請求之前,要經過Filter的過濾
伺服器真正的處理完這個請求,生成響應之後,要經過Filter的過濾,才能將響應發送給客戶端
作用:可以通過Filter技術,對web伺服器管理的所有web資源,例如JSP、Servlet、靜態圖片文件或靜態 html文件等進行攔截,從而實現一些特殊的功能。例如實現URL級別的許可權訪問控制、過濾敏感詞彙、壓縮響應信息等一些高級功能。
配置Filter
同開發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開發WEB項目的時候是怎麼過濾許可權的呢!
一般情況是採用角色功能。
創建一張角色表,與用戶表相對應,當然用回戶表也要有roleid,比如答:t_role表
有三個欄位:
roleid,rolename,userid
有了這三個欄位,如果用戶admin對應的roleid=0,表示最大許可權,什麼都可以操作,如果roleid=1為普通用戶,那麼此用戶在某些按鈕時就不讓它看到。簡單就說這些了。
一般都是採用角色功能。
❺ 在JAVA中怎麼實現關鍵字過濾
自己判斷一下, 字元串中是否包含某個關鍵字即可, String.contains(CharSequence s) 如果存在返回true, 否則返回false
❻ javaweb怎樣過濾許可權但不過濾servlet
過濾器配置正確,但卻沒有起到過濾作用,原因可能是排放位置的問題。如下:
❼ java web後台實現多個條件的過濾(多個條件的交集)
那你就多做幾個對象,如每個商品為一個對象,把所有的信息放進去,之版後放進一個list裡面,循環條件權判斷,符合條件的輸出對象,用get方法獲取就行了.這個說的就比較直白了。
復雜的你也可以放到group裡面,之後在這個group對象裡面放上商品對象。思路就是這樣的,這個實現不是很難吧
❽ java web中的filter許可權過濾問題
是login.jsp被嵌入到自iframe里吧?三種解決方案:
首頁菜單欄就做許可權控制,沒有許可權的菜單不展示
需要許可權的菜單點擊時先ajax請求後台判斷許可權,許可權通過了再載入頁面到iframe,否則頁面重定向到登錄頁
登錄頁加入js判斷該頁面是否處於iframe中,如果是則重寫parent.location到登錄頁
❾ java 做web 平時需要替換過濾的特殊字元能幫忙羅列一下嗎
1)
與HTML相關的,最常用的是:
& &
< <
> >
空格
雙引號 "
還有許多特殊字元,可以看一下
http://commons.apache.org/proper/commons-lang/里
org.apache.commons.lang.StringEscapeUtils的源代碼就明白了。
2)
與URL相關:
空格 +
a到z,A到Z,0到9,【-(空格)_(下劃線).(點)*(星)】這個四個符號以為的都需要進行轉換,轉換規則是%號加字元編碼。
3)
與javascript相關的與JAVA的轉義字元完全相同:
" \"
' \'
\ \\
換行 \n
製表符 \t
換頁符 \f
回車 \r
退格 \b
\u+字元編碼 就是各種字元(包括漢字,符號)
❿ javaWeb如何寫攔截器過濾前端所有請求中的數據
頁面復時JSP頁面吧,從資料庫制中讀取的數據應該是分頁顯示出來的如果你的頁面的數據記錄的條數是pageSize個 JSP頁面:for(int i=0;i<pageSize;i++){ <input type=checkbox name=<%=i %> value=<%=id %>>記錄內容 // 循環顯示每條記錄並加入復選框,id是表的主碼 }點擊刪除按鈕後進入一個Servlet控制器String id=null;for(int i=0;i<pageSize;i++){ id=request.getParameter(i+""); if(id!=null){ 刪除記錄方法(String id); }}在model中再寫一個根據ID刪除記錄的類.方法就OK了 很好寫 我就不寫了