`
whoosh
  • 浏览: 234930 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

利用Filter技术设置POST请求的编码

 
阅读更多

在web.xml中,记住一定要将这个Filter放在最前面

<filter>
    <display-name>EncodingFilter</display-name>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>bruce.zhao.cms.backend.view.EncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/admin/*</url-pattern>
  </filter-mapping>

 

 

/**
 * Servlet Filter implementation class EncodingFilter
 */
public class EncodingFilter implements Filter {

	private String encoding;
    /**
     * Default constructor. 
     */
    public EncodingFilter() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		// place your code here
		HttpServletRequest httpServletRequest=(HttpServletRequest)request;
		httpServletRequest.setCharacterEncoding(encoding);
		// pass the request along the filter chain
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
		encoding=fConfig.getInitParameter("encoding");
	}

}
 
分享到:
评论

相关推荐

    利用Filter全局中文过滤(get和post请求中文乱码问题)

    filter是javaWeb中一个十分重要的知识点,可以拦截webApp的所有请求。 使用场景: 1、可以利用filter做到网站自登录。...2、可以利用filter全局修改参数编码,从而解决中文乱码问题(十分重要)。

    字符编码过滤器 字符编码转换 post字符转换

    J2EE标准提供了多种方式来设置字符编码,包括在web.xml配置文件中设置全局编码、在Servlet或Filter中通过HttpServletRequest和HttpServletResponse接口的setCharacterEncoding()方法来设置请求和响应的编码,或者...

    解决post get 请求乱码问题

    解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码...解决 POST 和 GET 请求乱码问题需要对服务器和应用程序进行配置和编码处理。在实际开发中,我们需要根据具体情况选择合适的解决方法。

    struts2 使用action属性接收中文参数(post提交)

    - 请求编码:Struts2配置文件(struts.xml或struts.properties)中可以设定全局的请求编码格式,例如`&lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt;`。 - 表单编码:在HTML表单中,可以使用`accept-...

    03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢.zip

    2. **服务器配置**: 与POST请求类似,确保服务器配置的默认编码是UTF-8,例如在Tomcat的server.xml文件中,设置`URIEncoding="UTF-8"`: ```xml ``` 3. **页面编码**: 确保HTML页面的`&lt;meta&gt;`标签设置了正确的...

    编码过滤器

    // 设置请求编码 response.setContentType("text/html;charset=UTF-8"); // 设置响应编码 ``` 通过这种方式,无论客户端使用何种编码,服务器都能正确地解析GET和POST参数,避免乱码问题。 此外,`web.xml`中的...

    request拦截转码资料

    2. **设置请求编码**: - 通过`HttpServletRequest`对象的`setCharacterEncoding`方法,可以设置请求的字符编码。但要注意,这个方法必须在读取请求参数或请求体之前调用,因为一旦读取,编码就无法改变了。 3. **...

    JSP_利用Filter解决Servlet输出中文乱码的问题.docx

    在处理POST请求时,尤其是处理包含中文字符的参数时,我们需要对这些参数进行正确的编码转换,以防止乱码。 4. **字符编码转换**:在`doFilter`方法中,我们获取到请求参数后,使用`getBytes()`方法将参数值转换为...

    中文乱码过滤器(包括GET和POST)

    2. 请求参数编码问题:GET和POST请求在传递参数时,如果没有正确设置字符编码,中文字符可能会被错误地编码为字节流,导致接收端解码失败。 3. 页面编码设置错误:网页的编码设置如果不正确,展示的中文字符也可能...

    AJAX编码问题

    **乱码问题**:在使用AJAX进行POST请求时,如果客户端和服务器端的字符编码设置不一致,就容易出现乱码问题。例如,当浏览器发送的数据是UTF-8编码,而服务器端默认使用ISO-8859-1编码解析时,就会导致数据解析错误...

    过滤器实现get请求乱码问题

    此外,对于POST请求,由于其参数是在请求体中传递的,因此还需要在Servlet或Controller中单独处理请求体的编码设置。在Java Spring框架中,可以使用@RequestBody注解并指定编码来解决这个问题。 总的来说,理解HTTP...

    servlet系列之Filter

    // 设置请求编码 res.setContentType("text/html; charset=UTF-8"); // 设置响应编码 chain.doFilter(request, response); } ``` 3. Session检查功能 Session是服务器端存储用户状态的一种机制,它允许在多个...

    get与post乱码过滤器.zip

    4. **处理POST请求**:对于"POST"请求,Filter需要改变HttpServletRequest对象的请求主体的解码方式,因为POST数据通常存储在请求体中。 5. **设置响应编码**:Filter不仅要处理请求,还要确保响应内容在返回给...

    JAVA过滤器filter request.setCharacterEncoding仅对POST提交起作用,对GET提交还是会出现乱码问题

    首先,`HttpServletRequest`对象的`setCharacterEncoding`方法是用来设置请求体的字符编码,也就是用于处理POST请求中的数据编码。当你在过滤器中调用`request.setCharacterEncoding("UTF-8")`时,它会确保POST请求...

    jquery字符编码转换[文].pdf

    - 对于POST请求,如果编码信息包含在请求体(Body)中,一旦Body被解码,原始编码信息就无法恢复。因此,通过URL参数传递编码信息更为合适,这样在解析URL之前可以获取到编码类型。 针对上述问题,给出一个Java...

    SpringMVC post请求中文乱码问题解决

    SpringMVC post请求中文乱码问题解决 SpringMVC 框架中,post 请求中文乱码问题是常见的错误之一。该问题的出现主要是由于服务端和客户端之间的编码不一致所导致的。例如,在 HTML 表单中提交中文数据时,如果...

    Servlet-1-filter-3.rar

    GET和POST请求中携带的数据可能会因为编码不一致导致显示乱码。GET请求通常用于传递较小的数据量,如查询参数,而POST请求则适用于传输大量或敏感数据,如用户注册信息。 为了解决这个问题,我们可以利用Filter...

    超强过滤器彻底解决JSP-SERVLET中文参数GET-POST传递的问题(转)

    - 对于GET请求,可以在Servlet中使用`request.setCharacterEncoding("UTF-8")`来设定请求编码,但这只对POST请求有效,因为GET请求的编码在请求发送前就已经确定。 - 对于POST请求,由于在读取请求参数前可以设置...

    JavaWeb页面过滤器之编码过滤

    对于JSP,编码过滤器可以确保POST请求的数据和JSP页面的输出都是正确编码的。对于Servlet,它可以确保服务器端处理的数据和返回给客户端的响应都遵循统一的编码规则。 在实际项目中,编码过滤器通常是第一个被调用...

    servlet 编码

    1. 设置请求编码:使用HttpServletRequest的setCharacterEncoding()方法设置请求编码。 ```java req.setCharacterEncoding("UTF-8"); ``` 2. 设置响应编码:通过HttpServletResponse的setContentType()方法设置响应...

Global site tag (gtag.js) - Google Analytics