A. 麻煩大家幫忙實現一個文件過濾器~(in java)
public class TextFilter extends FileFilter{
public boolean accept(File f){
String n=f.getName();
return n.endsWith(".bmp") || n.endsWith(".jpg") || n.endsWith (".gif");
}
}
B. java項目中如何使圖片在網頁打開時不被過濾,怎麼操作啊
在適用過濾的時候,一般把圖片放在web-inf 文件外面,以保證能訪問到,
其實圖片在外面不涉及到安全問題
如過一定要把文件放在web-inf裡面,那就需要使用獲取路徑跳轉的方法
C. java web刪除照片後怎麼樣過濾照片列表
您好,
過濾器(Filter)
作用,在客戶端向伺服器發送消息時,如果有過濾器那麼請求就要先經過過濾器,
它的作用是可以對客戶端的信息進行一系列的操作,從而達到了過濾的目的
a)要實現過濾器必須要實現一個借口(javax.servlet.filter)
如:public class CheckInfo implements filter{}
重寫介面中的方法從而達到過濾器的目的!
1)public void init(FilterConfig config){
[這個方法裡面是在過濾器初始化的時候進行調用]
}
2)public void doFilter(ServletRequest req, ServletResponse rep,
FilterChain chain){
[這個方法就是開始過濾的主要方法了]
[
在這個方法里最好是要寫入這兩樣東西(把類型轉換一下):
1.HttpServletRequest request=(HttpServletRequest)req;
2.HttpServletResponse response=(HttpServletResponse)rep;
同時也可以對編碼進行處理:
request.setCharacterEncoding="utf-8";
response.setCharacterEncoding="utf-8";
3.最後不要忘了過濾過後要跳轉哦
chain.doFilter(request,response);
注意:當這里不是chain.doFilter()跳轉時,
那麼跳轉的目的頁面最好是寫絕對路徑,這里
有個很好的方法:request.getContextPath()
這個方法返回項目名(前面已經包含了"/"),所以
我們這樣寫:response.sendRedirect(request.getContextPath()+"/lovingshu.jsp")
]
}
3)public void destroy(){
[銷毀時]
}
當過濾器的類寫完後不能忘記在web.xml中進行配置,步驟如下:
<!--注意這個要寫到servlet之前哦-->
<filter>
<filter-name>myFilter</filter-name>
<filter-class>[包名.類名]</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>
[
注意:這個路徑的寫法十分有技巧,前面必須要有一個"/"
"/*"表示過濾所有頁面,
"/pages/"表示過濾Web_Root目錄下的pages目錄下的頁面
]
</url-pattern>
</filter-mapping>
D. 在JAVA中filter有什麼作用
Filter也稱之為過濾器,它是Servlet技術中最實用的技術,Web開發人員通過Filter技術,對web伺服器管理的所有web資源。
例如實現URL級別的許可權訪問控制、過濾敏感詞彙、壓縮響應信息等一些高級功能。例如對Jsp, Servlet, 靜態圖片文件或靜態 html 文件等進行攔截,從而實現一些特殊的功能。
它主要用於對用戶請求進行預處理,也可以對HttpServletResponse進行後處理。使用Filter的完整流程:Filter對用戶請求進行預處理,接著將請求交給Servlet進行處理並生成響應,最後Filter再對伺服器響應進行後處理。
(4)java圖片文件過濾擴展閱讀
Filter的生命周期
和我們編寫的Servlet程序一樣,Filter的創建和銷毀由WEB伺服器負責。 web 應用程序啟動時,web 伺服器將創建Filter 的實例對象,並調用其init方法,讀取web.xml配置,完成對象的初始化功能,從而為後續的用戶請求作好攔截的准備工作
filter對象只會創建一次,init方法也只會執行一次。開發人員通過init方法的參數,可獲得代表當前filter配置信息的FilterConfig對象。
這個方法完成實際的過濾操作。當客戶請求訪問與過濾器關聯的URL的時候,Servlet過濾器將先執行doFilter方法。FilterChain參數用於訪問後續過濾器。
Filter對象創建後會駐留在內存,當web應用移除或伺服器停止時才銷毀。在Web容器卸載 Filter 對象之前被調用。該方法在Filter的生命周期中僅執行一次。在這個方法中,可以釋放過濾器使用的資源。
E. java 文件過濾器怎麼實現。
import java.io.File;
import java.io.FilenameFilter;
/**
* 文件過濾器的簡單實現
*
* @author ajaxfan
* @date 2010-04-17
*/
public class FileNameFilterDemo {
public static void main(String[] args) {
list("d:/");
}
/**
* 列出特定路徑下的txt文件
*
* @param directoryName
* 路徑名
*/
private static void list(String directoryName) {
File dir = new File(directoryName);
// 確定該路徑指向一個目錄
if (dir.exists() && dir.isDirectory()) {
// 列出所有結尾為txt的文件
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith("txt");
}
});
System.out.println(java.util.Arrays.toString(files));
}
}
}
F. java中如何獲取特定目錄下的圖片
ClassLoader/Class的getResource/getResourceAsStream 是從CLASSPATH中獲取資源。
可以在eclipse的項目下新建一個resources目錄,把images文件夾放到這個目錄下,然後把resources加到Build Path里。
G. java中文件瀏覽對話框中怎麼過濾文件類型
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
JFileChooser就可以實現文件選擇,但是只顯示指定的文件類型的過濾類FileNameExtensionFilter只是JDK1.6版本里的,JDK1.4及其以版下是沒有的,如權果想在JDK1.4里實現過濾,可以去1.6版本里找到該源碼,自己編譯使用
H. java項目中如何使圖片在網頁打開時不被過濾,怎麼操作啊
在適用過濾的時候,一般把圖片放在
web-inf
文件外面,以保證能訪問到,
其實圖片在外面不涉及到安全問題
如過一定要把文件放在web-inf裡面,那就需要使用獲取路徑跳轉的方法
I. java 怎樣實現對非法圖片的過濾
getimagesize($_FILES['upload_field']['tmp_name']);
如果能獲取到圖片的尺寸,則是合法圖片。
一般的話,圖片還要有一個壓縮過程,這個過程你可以把原圖片的的所有像素點全提出來,移動到另一個resource,最後再set quality。
這個壓縮過程也可以實現圖片的合法化。
J. 如何實現java.awt.image.BufferedImage的逐點過濾,保存成內存圖片輸出
try {
BufferedImage top = ImageIO.read(new File("img/頂色.png"));
BufferedImage bot = ImageIO.read(new File("img/底色.png"));
BufferedImage result = new BufferedImage(top.getWidth(),top.getHeight(),BufferedImage.TYPE_INT_ARGB);
for(int height = 0; height<bot.getHeight(); height++){
for(int width = 0; width<bot.getWidth(); width++){
result.setRGB(width, height, top.getRGB(width, height)|bot.getRGB(width, height));
}
}
ImageIO.write(result, "png", new File("img/result.png"));//write()函數將result對象中的內容保存到result.png圖片中
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
目錄結構