導航:首頁 > 凈水問答 > filter過濾器html後綴

filter過濾器html後綴

發布時間:2023-06-10 09:27:09

㈠ 修改index.jsp改了後綴為html,配置的<url-pattern>是/*,過濾器卻不管用了

改成html後伺服器就會按純html文件來處理,也就是把文件內容不加任何處理原樣發送給客戶端瀏覽器,這樣過濾器肯定就不起作用了。

㈡ java 如何過濾html代碼,只保留中文或英文及基本常用符號

很容易,首先建立一個字元串數組,也就是你需要過濾掉的html標簽String[] filterArrays = new String[]{"<html>","</html>","<table>","</table>".....一系列內有關html標簽的東西}

當你得到一容個html代碼的字元串時你可以循環遍歷上面的數組,然後調用String自帶的方法replaceAll();
我給你簡單的示範一下啊
String str = "dfgdgdfgdgd";//需要過濾的帶有HTML標簽的代碼字元串
for(int i=0;i<filterArrays.length;i++){
if(str.indexOf(filterArrays[i])!=0){
str = str.replaceAll(filterArrays[i],"");//將html標簽替換成了空格
}
}

這樣就搞定了,主要是你需要在filterArrays中增加你需要過濾的字元串,當然還會有更好的辦法,可以不用增加這樣的數組,因為出現"<"必然會有">",或者"/>"這樣的標簽,但是這樣做可能會將一些無關的也過濾掉了,總之兩種方法都可以,第一種呢我都給你寫了例子!祝你成功啊

㈢ 字元串中如何過濾HTML標簽字元

下面是asp中的方法,你可以改造成.net的
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
strTemp=replace(strTemp,"""","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp,"&","")
Dim n,m '定義三個變數
n = inStr(strTemp,"<") '找到第一個"<"所在的位置
m = inStr(strTemp,">") '找到第一個">"所在的位置
Do while n > 0 and n < m '如果n>0則說明找到了一個"<",如果n<m則說明"<"在">"的左邊,則"<"和">"之間的字元串為HTML代碼,需要過濾掉
strTemp = Left(strTemp,n-1) & Mid(strTemp,m+1) '取"<"左邊的字元串和">"右邊的字元串並將他們連接在一起
n = inStr(strTemp,"<") '找到剩餘字元串中第一個"<"所在的位置
m = inStr(strTemp,">") '找到剩餘字元串中第一個">"所在的位置
Loop '循環
FilterHTML = strTemp
End Function

㈣ 過濾器Filter

過濾器是 Servlet 的高級特性之一,是實現了 Filter 介面的 Java。 過濾器位於瀏覽器與伺服器端之間,充當濾網的作用,過濾或處理一些不恰當的請求

過濾器的用處: 過濾敏感字元串、避免中文亂碼、許可權驗證(規定只帶有Session或Cookie的用戶才能訪問)等等;

所有實現了 Filter 介面的類都稱為過濾器。過濾器必須實現 Filter 下的三個方法:

其中, doFilter() 方法有三個參數 ServletRequest、ServletResponse 和 FilterChain,FilterChain 參數用於調用後續的過濾器,如果不存在過濾器,則訪問目標資源;

web.xml中配置

應用順序是指 根據請求地址執行對應的過濾器的順序 。執行攔截一個請求的過濾器是根據 web.xml中 <filter-mapping> 順序從上往下執行,而且是嵌套執行的。
一個請求中,如果需要經過多個過濾器,其請求和響應的過程如下圖所示

㈤ 關於java,過濾html請求的Filter中跳轉頁面的問題。

肯定是邏輯問題
請把你的代碼貼上來,可以分析 下。
if(包含某後綴名){
重定向
}
dofilter(...)

㈥ filter過濾器url-pattern如何設定

filter的url-pattern的設置、多個url-pattern
當前報表採用如下filter處理ec的excel導出,並且這個filter被封裝好了的<filter><filter-name>eXtremeExport</filter-name><filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class></filter><filter-mapping><filter-name>eXtremeExport</filter-name><url-pattern>*.report</url-pattern></filter-mapping>
有其它頁面也用到了ec,也需要導出excel,但是後綴以action結尾,且只有2個特別的url("action1.action"、"action2.action")需要導出excel,嘗試這么寫不行<filter-mapping><filter-name>eXtremeExport</filter-name><url-pattern>action1.action</url-pattern></filter-mapping>這么寫可以
<filter><filter-name>drpEcExportFilter</filter-name><filter-class>com.common.filter.DrpEcExportFilter</filter-class></filter><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.multidimensionalreport</url-pattern></filter-mapping>但是不夠精確
於是採用繼承的方式共享.DrpEcExportFilter,而url的處理由自己控制<filter-name>drpEcExportFilter</filter-name><filter-class>com.common.filter.DrpEcExportFilter</filter-class></filter><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping>
其中DrpEcExportFilter.java的代碼-------------------------------------------------------------------------------------------------------package com.common.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;import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;import org.extremecomponents.table.filter.ExportFilter;
public class DrpEcExportFilter extends ExportFilter implements Filter {
public void destroy() { super.destroy();}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest hrequest=(HttpServletRequest)request; String requestURI = hrequest.getRequestURI(); if (StringUtils.isNotEmpty(requestURI) && (requestURI.indexOf("action1.action") != -1 || requestURI .indexOf("action2.action") != -1)) { super.doFilter(request, response, chain); } else { chain.doFilter(request, response); }}
public void init(FilterConfig config) throws ServletException { super.init(config);}
}
以上是本人福沃德濾器回答,有需要請搜索福沃德濾器。

㈦ 用正則表達式過濾HTML標簽

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* <p>
* Title: HTML相關的正則表達式工具類
* </p>
* <p>
* Description: 包括過濾HTML標記,轉換HTML標記,替換特定HTML標記
* </p>
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* @ hejian
* @version 1.0
* @createtime 2006-10-16
*/

public class HtmlRegexpUtil {
private final static String regxpForHtml = "<([^>]*)>"; // 過濾所有以<開頭以>結尾的標簽

private final static String regxpForImgTag = "<\\s*img\\s+([^>]*)\\s*>"; // 找出IMG標簽

private final static String regxpForImaTagSrcAttrib = "src=\"([^\"]+)\""; // 找出IMG標簽的SRC屬性

/**
*
*/
public HtmlRegexpUtil() {
// TODO Auto-generated constructor stub
}

/**
*
* 基本功能:替換標記以正常顯示
* <p>
*
* @param input
* @return String
*/
public String replaceTag(String input) {
if (!hasSpecialChars(input)) {
return input;
}
StringBuffer filtered = new StringBuffer(input.length());
char c;
for (int i = 0; i <= input.length() - 1; i++) {
c = input.charAt(i);
switch (c) {
case '<':
filtered.append("<");
break;
case '>':
filtered.append(">");
break;
case '"':
filtered.append(""");
break;
case '&':
filtered.append("&");
break;
default:
filtered.append(c);
}

}
return (filtered.toString());
}

/**
*
* 基本功能:判斷標記是否存在
* <p>
*
* @param input
* @return boolean
*/
public boolean hasSpecialChars(String input) {
boolean flag = false;
if ((input != null) && (input.length() > 0)) {
char c;
for (int i = 0; i <= input.length() - 1; i++) {
c = input.charAt(i);
switch (c) {
case '>':
flag = true;
break;
case '<':
flag = true;
break;
case '"':
flag = true;
break;
case '&':
flag = true;
break;
}
}
}
return flag;
}

/**
*
* 基本功能:過濾所有以"<"開頭以">"結尾的標簽
* <p>
*
* @param str
* @return String
*/
public static String filterHtml(String str) {
Pattern pattern = Pattern.compile(regxpForHtml);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
boolean result1 = matcher.find();
while (result1) {
matcher.appendReplacement(sb, "");
result1 = matcher.find();
}
matcher.appendTail(sb);
return sb.toString();
}

/**
*
* 基本功能:過濾指定標簽
* <p>
*
* @param str
* @param tag
* 指定標簽
* @return String
*/
public static String fiterHtmlTag(String str, String tag) {
String regxp = "<\\s*" + tag + "\\s+([^>]*)\\s*>";
Pattern pattern = Pattern.compile(regxp);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
boolean result1 = matcher.find();
while (result1) {
matcher.appendReplacement(sb, "");
result1 = matcher.find();
}
matcher.appendTail(sb);
return sb.toString();
}

/**
*
* 基本功能:替換指定的標簽
* <p>
*
* @param str
* @param beforeTag
* 要替換的標簽
* @param tagAttrib
* 要替換的標簽屬性值
* @param startTag
* 新標簽開始標記
* @param endTag
* 新標簽結束標記
* @return String
* @如:替換img標簽的src屬性值為[img]屬性值[/img]
*/
public static String replaceHtmlTag(String str, String beforeTag,
String tagAttrib, String startTag, String endTag) {
String regxpForTag = "<\\s*" + beforeTag + "\\s+([^>]*)\\s*>";
String regxpForTagAttrib = tagAttrib + "=\"([^\"]+)\"";
Pattern patternForTag = Pattern.compile(regxpForTag);
Pattern patternForAttrib = Pattern.compile(regxpForTagAttrib);
Matcher matcherForTag = patternForTag.matcher(str);
StringBuffer sb = new StringBuffer();
boolean result = matcherForTag.find();
while (result) {
StringBuffer sbreplace = new StringBuffer();
Matcher matcherForAttrib = patternForAttrib.matcher(matcherForTag
.group(1));
if (matcherForAttrib.find()) {
matcherForAttrib.appendReplacement(sbreplace, startTag
+ matcherForAttrib.group(1) + endTag);
}
matcherForTag.appendReplacement(sb, sbreplace.toString());
result = matcherForTag.find();
}
matcherForTag.appendTail(sb);
return sb.toString();
}
}

閱讀全文

與filter過濾器html後綴相關的資料

熱點內容
綜合水處理儀dn100 瀏覽:262
開源回四平用隔離嗎 瀏覽:83
寶寶用留置針有回血 瀏覽:206
凈水器超級過濾膜絲怎麼樣 瀏覽:20
逍客油濾芯多少公里換 瀏覽:457
過濾桶進水口不能伸到魚缸底部 瀏覽:233
金華污水處理廠地址 瀏覽:347
迴流與蒸餾的作用 瀏覽:387
凈水器配的龍頭都是什麼材質的 瀏覽:265
污水廠的進水質量標准 瀏覽:373
2019全國離子交換法凈水 瀏覽:439
城市污水處理及中水回用流程 瀏覽:679
安吉爾全屋前置凈水器怎麼樣 瀏覽:776
幸福森林空氣凈化器怎麼拆 瀏覽:988
繽智空調濾芯更換教程是什麼 瀏覽:172
ro反滲透直人水機 瀏覽:878
日產新軒逸變速箱濾芯怎麼更換 瀏覽:211
汽油濾芯介面卡不緊怎麼辦 瀏覽:310
保溫杯有白色水垢怎麼清洗 瀏覽:154
兒童飲水機為什麼不出水 瀏覽:594