过滤器(Filter)设置请求编码

效果图:
过滤器(Filter)设置请求编码_第1张图片
过滤器(Filter)设置请求编码_第2张图片
代码:
web.xml:
修改配置

<filter>
  <filter-name>characterEncodingFilterfilter-name>
  <filter-class>text.web.filter.CharacterEncodingFilterfilter-class>
  <init-param>
  <param-name>encodingparam-name>
  <param-value>UTF-8param-value>
  init-param>
  filter>
  <filter-mapping>
  <filter-name>characterEncodingFilterfilter-name>
  <url-pattern>/*url-pattern>
  filter-mapping>

login.html:


<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
head>
<body>
<form action="myServlet" method="post">
<input type="text" name="username"/>
<input type="submit" value="提交"/>
form>
body>
html>

MyServlet.java:

package text.web.filter;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/myServlet")
public class MyServlet extends HttpServlet{

	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String username = req.getParameter("username");
		System.out.println(username);
	}
	

}

CharacterEncodingFilter.java:

package text.web.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 CharacterEncodingFilter implements Filter{
	
	private String encoding;
    public void init(FilterConfig filterConfig) throws ServletException {
		this.encoding=filterConfig.getInitParameter("encoding");
	}
	
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		request.setCharacterEncoding(encoding);
		chain.doFilter(request, response);
	}
	
    public void destroy() {
		
	}

	public String getEncoding() {
		return encoding;
	}
	public void setEncoding(String encoding) {
		this.encoding = encoding;
	}
   
}

你可能感兴趣的:(过滤器(Filter),Servlet,java)