導航:首頁 > 凈水問答 > jsp過濾器過濾多個

jsp過濾器過濾多個

發布時間:2022-07-25 12:17:23

1. jsp過濾器怎麼用

過濾器有很多種用法,可以配合Hibernate 自動提交事務,也可以給圖片加水印,也可以限制某些文件不能被訪問,也可以實現頁面轉碼
出自我的QQ空間,有更多文章,
如BLOG ,網店上,都需要用到,帶水印的圖片, 通常是,用PS(photoshop) 先做出來PSD 的文件,用的時候,一張一張的向圖片添加,此文章不介紹,PS 的製作技術,主要講,用程序生成。
在JavaEE中有一種技術加 Servlet 其中包括 filter 過慮器,廢話不多說,看源代碼

// TODO Auto-generated method stub
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse response=(HttpServletResponse)arg1;
/*************************************/
String filePath="D:/Tomcat 6.0/webapps/mytest3/img/logo.gif";//水印圖片的路徑
FileInputStream fin=new FileInputStream(filePath);//構建一個文件輸入流
Image fimg=ImageIO.read(fin);//轉為 Servlet 內置對象
int fw=fimg.getWidth(null);//獲得寬度
int fh=fimg.getHeight(null);//高度
/*************************************/
String path=request.getRealPath(request.getServletPath());
FileInputStream in=new FileInputStream(path);
Image src=ImageIO.read(in);
int w=src.getWidth(null);
int h=src.getHeight(null);
BufferedImage img=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);//構建畫板
Graphics g=img.getGraphics();//得到畫筆
g.drawImage(src,0,0,w,h,null);//此處為 imageIO.read ();//把源圖片寫入畫板
g.drawImage(fimg,w-550,h-290,fw,fh,null);//把水印圖片寫入畫板
g.dispose();//生成圖片
JPEGImageEncoder e=JPEGCodec.createJPEGEncoder(response.getOutputStream());
e.encode(img);
response.getOutputStream().close();
在這里特別說明的是,水印的圖片格式,一定要是.gif 的。

2. jsp中可以使用多個過濾器嗎

可以將一個或多個過濾器附加到一個 Servlet 或一組 Servlet。過濾器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 頁面。

3. jsp\java 如何編寫過濾器過濾特殊字元

package com.jing.common;
import java.io.IOException;
import java.io.PrintWriter;
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 javax.servlet.http.HttpServletResponse;

public class IllegalCharacterFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;

public void init(FilterConfig config) throws ServletException {

// if(config.getInitParameter("characterParams").length()<1)
// OK=false;
// else
// this.characterParams = config.getInitParameter("characterParams").split(",");
System.out.println("初始化");
}

@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest servletrequest = (HttpServletRequest) request;
HttpServletResponse servletresponse = (HttpServletResponse) response;
String param = "";
String paramValue = "";

//設置請求編碼格式
servletresponse.setContentType("text/html");
servletresponse.setCharacterEncoding("UTF-8");
servletrequest.setCharacterEncoding("UTF-8");
java.util.Enumeration params = request.getParameterNames();
//循環讀取參數
while (params.hasMoreElements()){
param = (String) params.nextElement(); //獲取請求中的參數
String[] values = servletrequest.getParameterValues(param);//獲得每個參數對應的值

for (int i = 0; i < values.length; i++) {

paramValue = values[i];

//轉換目標字元變成對象字元,可以多個。後期擴展特殊字元庫用於管理
paramValue = paramValue.replaceAll("'","");
paramValue = paramValue.replaceAll("@","");
paramValue = paramValue.replaceAll("胡錦濤","***");

//這里還可以增加,如領導人 自動轉義成****,可以從資料庫中讀取非法關鍵字。
values[i] = paramValue;

}

//把轉義後的參數重新放回request中
request.setAttribute(param, paramValue);
}
//繼續向下 執行請求,如果有其他過濾器則執行過濾器
arg2.doFilter(request, response);
}

public void destroy() {
// TODO Auto-generated method stub
}
}

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

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

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

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

5. servlet中的過濾器怎麼過濾多個servlet

servlet中的過濾器怎麼過濾多個servlet
不會輸出兩遍,數據是這么走的:
index.jsp--->過濾器(輸出了內容回)--->客戶瀏覽器
希望回答答能給你帶來幫助,如果還又不明白的地方請追問
你的採納是我前進的動力答題不易互相理解

6. jsp\java如何編寫過濾器過濾特殊字元

正則表達式來校驗:過濾器就網路一大堆,怎麼寫正則表達式,也可以網路,不知你說的特殊字元是什麼字元,所以只能給方法

7. 當定義多個過濾器時,執行的順序是什麼樣的

filter和攔截器的區別和執行順序

1.Filter過濾器只過濾jsp文件不過濾action請求解決回方案

解決辦法:在web.xml中將答filter的配置放在struts2配置的前面。

2.攔截器與Filter的區別
Spring的攔截器與Servlet的Filter有相似之處,比如二者都是AOP編程思想的體現,都能實現許可權檢查、日誌記錄等。不同的是:

使用范圍不同:Filter是Servlet規范規定的,只能用於Web程序中。而攔截器既可以用於Web程序,也可以用於Application、Swing程序中。

規范不同:Filter是在Servlet規范中定義的,是Servlet容器支持的。而攔截器是在Spring容器內的,是Spring框架支持的。

使用的資源不同:同其他的代碼塊一樣,攔截器也是一個Spring的組件,歸Spring管理,配置在Spring文件中,因此能使用Spring里的任何資源、對象,例如Service對象、數據源、事務管理等,通過IoC注入到攔截器即可;而Filter則不能。

8. 求教java filter過濾器過濾多個路徑

你可以吧除了index.jsp的所有jsp文件新建一個文件夾放進去 比如myJsp文件夾
然後過濾那個路徑/myJsp/*

9. 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。

10. JSP過濾器這樣設置過濾一個次級路徑下的所有URL

/sites/*這樣就可以了,如果這個文件夾是某個子目錄的話還需要添加它的父目錄;

下面內是些例子
<url-pattern>:指定和過濾器關聯容的URL,為」/*」表示所有URL;
例子1:單個過濾器配置:容器將其應用於所有接收的請求
<url-pattern>/*</url-pattern>
例子2:過濾器應用到特定目錄或資源(文件)的配置:此容器只有在接收到對/mydocs目錄中的資源的請求時才會應用該過濾器。
<url-pattern>/mydocs/*</url-pattern>

閱讀全文

與jsp過濾器過濾多個相關的資料

熱點內容
超濾凈水可以 瀏覽:582
比亞迪漢濾芯怎麼換 瀏覽:352
為什麼油煙凈化器只有高壓線 瀏覽:645
國產污水流量計價格 瀏覽:259
長城m4的空氣濾芯在哪裡 瀏覽:60
凈水機濾芯50G代表什麼 瀏覽:526
mc2濾芯漏水什麼問題 瀏覽:106
120目疊片過濾器價格 瀏覽:515
納濾凈水機和超濾凈水機的區別 瀏覽:928
呼吸機過濾器多少錢 瀏覽:307
大型酒廠蒸餾設備 瀏覽:995
海水淡化多效蒸餾原理 瀏覽:236
污水泥處理主要處理什麼污染物 瀏覽:566
污水的現狀及處理 瀏覽:99
污水處理廠配水井設計計算 瀏覽:294
丙烯酸樹脂白色 瀏覽:627
怎麼拆大眾汽車空調濾芯 瀏覽:983
車不怎麼常開用不用換空氣濾芯 瀏覽:961
污水廠變電所面積 瀏覽:912
活性污泥法污水處理設備的類型與應用 瀏覽:269