使用fileter进行编码
1:后台java代码:
public class SetCharacterEncodingFilter implements Filter {
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
// Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
// Pass control on to the next filter
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
2:web.xml
<!-- 字符编码过滤 -->
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>
com。。。.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>false</param-value>
</init-param>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
分享到:
相关推荐
创建一个类实现Filter接口,并重写上述三个方法。例如,我们可以编写一个简单的登录检查过滤器: ```java import javax.servlet.*; import java.io.IOException; public class LoginCheckFilter implements Filter...
`Filter创建.exe`可能是一个用于创建过滤器实例或者配置过滤器的工具,而`说明.txt`可能包含了关于如何使用这个工具或者过滤器的详细步骤和注意事项。 过滤器还可以与其他框架集成,比如Spring MVC中的Filter,可以...
首先,我们来看看标题提到的“AngularJs学习第八篇 过滤器filter创建”。在AngularJS应用中,过滤器可以通过管道符号 `|` 来应用到表达式上,它可以在数据绑定中用于数据转换。在提供的代码示例中,我们看到了多个...
当Filter被部署到容器中时,容器会为每个Filter创建一个`FilterConfig`实例,并传递给`init(FilterConfig config)`方法。这个实例包含了Filter的配置信息,例如初始化参数等。 **初始化方式:** ```java // 在...
- 初始化:当Web应用程序启动时,Servlet容器会为每个Filter创建一个实例,并调用其init()方法,传递一个FilterConfig对象,用于获取初始化参数。 - 过滤:每当请求匹配到Filter的<filter-mapping>配置时,...
如何创建一个简单的Filter
本文将详细介绍如何在MyEclipse集成开发环境中创建Filter,并通过实际操作来帮助理解其工作原理。 首先,我们需要了解Filter的基本概念。Filter在Servlet规范中定义,是一个实现了javax.servlet.Filter接口的类。它...
4. 验证通过后,Filter创建或更新Session,用户无需再次登录即可访问系统资源。 URL重写则是通过改变URL的结构来达到各种目的,如优化SEO、隐藏真实路径或实现无状态RESTful接口。Apache的mod_rewrite和Spring MVC...
创建完Filter类之后,还需要在Web应用程序的部署描述符(web.xml)中对其进行配置,以便Servlet容器能够识别并使用它。 ```xml <filter> <filter-name>ExampleFilter</filter-name> <filter-class>...
但Filter创建的函数,只能是接收管道输入参数的参数,并且是接收块结构数据的输入。所以在Filter定义的函数里面,你都看不到接收输入参数。 在Filter定义的函数中,使用$_变量,来遍历所有的输入对象。 代码如下: ...
通常,我们需要创建一个MockFilterChain对象,然后调用`doFilter`方法并检查其行为。 4. **异常处理**:测试Filter在遇到异常情况时的行为,比如输入异常、资源不可用等,确保Filter能适当地捕获和处理这些异常。 ...
3. **生成静态页面**:如果静态页面不存在,Filter创建一个WrappedResponse对象。WrappedResponse是一个实现了HttpServletResponse接口的类,它将原本应该写入浏览器的响应内容重定向到一个本地文件,即/html/a.jsp$...
### Java Filter 打印请求返回参数详解 #### 一、背景与目的 在Web开发过程中,经常需要在请求处理流程中增加一些通用的功能,比如日志记录、性能监控、安全控制等。Java Servlet规范提供了Filter机制来实现这些...
- 开发属性查询功能时,可以利用QueryFilter创建一个小型的Demo,获取匹配条件的Feature,并利用IFeatureLayerDefinition接口创建新的图层加载到MapControl上。 - 对于空间多边形查询,可以创建一个内存半透明图层...
1. **初始化**:初始化 Filter Driver 通常涉及创建 Filter Module 并将其添加到适配器栈中。这个过程还包括配置 Filter Module 的属性和行为。 2. **卸载**:卸载 Filter Driver 包括从适配器栈中移除 Filter ...
FilterPro是一款由德州仪器(TI)开发的专业有源滤波器设计软件,它为电子工程师提供了强大而便捷的工具,用于模拟和优化滤波器设计。本教程将涵盖FilterPro的安装过程以及基本的使用方法,包括Sallen-Key滤波器和多...
1. 创建Filter类:我们需要创建一个实现了`javax.servlet.Filter`接口的类。这个接口中有三个方法:`init()`, `doFilter()`, 和 `destroy()`。 ```java public class MyFilter implements Filter { @Override ...
在IT行业中,驱动程序开发是操作系统与硬件之间的重要桥梁,其中Filter驱动开发是特定的一种,主要涉及对系统...通过学习和实践,开发者能够创建出满足特定需求的Filter驱动,从而在系统层面实现高效、安全的功能扩展。