GET 난 코드 및 POST 난 코드 해결 방법

2155 단어 tomcatxmlWebservlet
1. GET 난 장 판 의 해결 방법
tomcat 의 server. xml 파일 에서 다음 코드 세 션 을 수정 하고 마지막 에 URIEncoding = "UTF - 8" 을 추가 합 니 다. 수 정 된 결 과 는 다음 과 같 습 니 다.
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

 
 2. POST 난 코드 해결 방법
사용자 정의 문자 집합 필터, 코드 는 다음 과 같 습 니 다.
package 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 CharEncodingFilter implements Filter {

	private String charSet;

	public void init(FilterConfig config) throws ServletException {
		charSet = config.getInitParameter("encoding");
		if (charSet == null && charSet.length() < 1) {
			charSet = "UTF-8";
		}
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain filter) throws IOException, ServletException {
		request.setCharacterEncoding(this.getCharSet());
		response.setCharacterEncoding(this.getCharSet());
		filter.doFilter(request, response);

	}

	public void destroy() {
		this.setCharSet(null);
	}

	public void setCharSet(String charSet) {
		this.charSet = charSet;
	}

	public String getCharSet() {
		return (this.charSet);
	}

}

 웹. xml 설정
<filter>
		<filter-name>CharEncodingFilter</filter-name>
		<filter-class>
			com.filter.CharEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>

좋은 웹페이지 즐겨찾기