导航:首页 > 净水问答 > 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过滤器过滤多个相关的资料

热点内容
苹果六代厢式纯水机怎么样 浏览:174
污水池环氧树脂防腐用什么固化剂 浏览:748
高效浓缩除垢剂 浏览:959
污水站CH2是什么管子 浏览:308
千岛人净水器4节5节如何连接 浏览:687
城市污水处理及污染防治技术政策6 浏览:125
洁厕灵除垢的化学反应 浏览:972
阎良区城东污水处理厂2019年 浏览:341
净水器哪个品牌的滤芯最好 浏览:727
饮水机开水开不开怎么办 浏览:628
电镀废水吧 浏览:453
乡镇生活污水目标责任书 浏览:48
西班牙在去年的废水 浏览:400
小区厨房污水都从商铺走路吗 浏览:832
去厚水垢的办法 浏览:140
3m6003cn怎么换过滤棉 浏览:26
污水处理厂运行台账需要哪些 浏览:872
过滤阻力主要是 浏览:288
怎么去掉暖瓶里的水垢 浏览:210
不锈钢胆除水垢方法 浏览:143