导航:首页 > 净水问答 > jsp怎么加过滤器

jsp怎么加过滤器

发布时间:2022-06-16 10:13:58

❶ jsp中添加过滤

1.首先建一个类(例charset.java),该类实现Filter接口
package com; //com包

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;

public class charset implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
//方法拷贝过来即可

}

public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
2.在工程WebRoot/WEB-INIF/web.xml配置文件中写入以下代码:
<filter>
<filter-name>名字(可自定义)</filter-name>
<filter-class>类名</filter-class>
</filter>
<filter-mapping>
<filter-name>同上</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

❷ 在Eclipse中如何设置JSP的过滤器呢

在web.xml中加入
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>这里填你的打专包路属径.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

❸ 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 的。

❹ 如何使用过滤器解决jsp乱码

打开web项目,在src中新建一个类,规范一下编程习惯我们就把它放到一个包中去,项目右键新建“class”,包名填写例如“com.test.struts.filters”(习惯是域名反转),文件名首字母大写,例如“SetCharacterEncoding”。下面是类中的代码,实际上就是实现了Filter接口,重写了一下doFilter函数。

packagecom.test.hibernate.filters;

importjava.io.IOException;

importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;{


/*(non-Javadoc)
*@seecom.sun.net.httpserver.Filter#doFilter(com.sun.net.httpserver.HttpExchange,com.sun.net.httpserver.Filter.Chain)
*/
publicvoiddoFilter(ServletRequestsrequest,ServletResponsesresponse,
FilterChainchain)throwsIOException,ServletException{
HttpServletRequestrequest=(HttpServletRequest)srequest;
HttpServletResponseresponse=(HttpServletResponse)sresponse;

//注意这里请求和响应都强制转化了一下
request.setCharacterEncoding("UTF-8"); //设置请求编码“UTF-8”比较通用
response.setCharacterEncoding("UTF-8"); //设置相应编码
chain.doFilter(srequest,sresponse);//转发请求
}

publicvoiddestroy(){
//TODOAuto-generatedmethodstub

}

publicvoidinit(FilterConfigarg0)throwsServletException{
//TODOAuto-generatedmethodstub

}

}

web配置文件配置filter文件,打开web.xml文件,在<web-app></web-app>之间加入如下配置,<filter></filter>是设置类路径的,<filter-mapping></filter-mapping>是用来映射指定路径文件到filter的。

<filter>
<filter-name>setEncoding</filter-name>
<filter-class>com.test.struts.filters.SetCharacterEncodingFilter</filter-class>
<!--这里还可以使用初始变量
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
再在SetCharacterEncoding.java的定义一个privateStringencoding=null;
在init函数中加一句this.encoding=filterConfig.getInitParameter("encoding");
-->
</filter>
<filter-mapping>
<filter-name>setEncoding</filter-name><!--这个名称和上面的要相同-->
<url-pattern>/*</url-pattern><!--所有文件-->
</filter-mapping>

配置完后运行一下项目就不再看到那烦人的乱码了!

❺ 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
}
}

❻ JSP页面中怎么调用过滤器

过滤器拦截的是路径,只要把只想JSP的路径拦截了就可以了。

❼ 在 java EE中怎么实现对哪一个.jsp文件进行过滤

先写个过滤的bean,然后在web.xml里配置,如下面是字符过滤:
<!-- 字符编码过滤器 -->
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>filters.ChangeCharsetFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
<!-- 指定编码为UTF-8 -->
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern> //注:把要过滤的jsp页面添加到这里,*则对所有的页面过滤
<!-- 对于所有的request改变其编码 -->
</filter-mapping>

我只是个初学者,不知道说得对不对,嘿嘿。。。

❽ jsp中可以使用多个过滤器吗

可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。

❾ 对付jsp乱码的乱码过滤器要怎么添加啊

正常页面间传输 把编码统一 utf-8 或 gbk 其实不会出现乱码问题。
如果在数据库提取数据传给页面,可能会出现乱码问题。这时可在struts中设置编码。
或加一个过滤器。过滤器具体操作如下:
1:在你写JAVA类的地方新建个 类。filter 内容:
package com.yourcompany.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;

public class filter implements Filter{

public void destroy() {
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
}

}
2:在web.xml添加 映射文件(注:<filter-class>写你过滤器类的路径</filter-class>)
<filter>
<filter-name>fileter</filter-name>
<filter-class>com.yourcompany.filter.filter</filter-class>
</filter>
<filter-mapping>
<filter-name>fileter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3.如还有不明白的 HI我

❿ 如何配置Filter过滤器处理JSP中文乱码

注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk。虽然两种都可以出来中文乱码,但是却造成了处理乱码的格式不一致。所以编译出错。
解决方法:所有地方都用utf-8或gbk

//过滤器类
CharactorFilter.jsp
package cn.com.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;

public class CharactorFilter implements Filter { //继承Filter类
//字符编码
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//设置request字符编码
request.setCharacterEncoding(encoding);
//设置response字符编码
response.setContentType("text/html;charset="+encoding);
}
//传递给下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//获取初始化参数
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}

web.xml
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>

阅读全文

与jsp怎么加过滤器相关的资料

热点内容
施特劳斯智饮机滤芯是什么 浏览:631
污水处理产业扶持政策有哪些 浏览:811
锦鲤鱼池过滤泵流量 浏览:711
超滤器是什么意思 浏览:881
纯水静静怎么打 浏览:846
超滤截COD 浏览:914
电子超纯水水罐用什么材质 浏览:49
清除水垢硅磷晶 浏览:519
crv空气净化器怎么打开 浏览:526
反渗透膜低温清洗 浏览:785
郑州过滤王管理中心地址 浏览:872
水水垢成分 浏览:866
陕西原装外置污水提升泵要多少钱 浏览:419
聚聚乙烯树脂粉袋 浏览:739
饮水机漏水属于什么原因 浏览:824
污水厂硝化脱模怎么处理 浏览:924
vue2内置过滤器 浏览:386
植物芳香油蒸馏设备 浏览:418
聚醚枫超滤膜进水pH 浏览:907
外置过滤桶推荐 浏览:676