package servlet.form;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RegisterServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//request.setCharacterEncoding("UTF-8"); //한글을 입력받기 위해서 필요한 메소드(한글처리)
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
String [] interest = request.getParameterValues("interest");
String intro = request.getParameter("intro");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><head><title>가입을 축하드립니다.</title></head><body>");
out.println("사용자 정보<br>");
out.println("ID : " + id);
out.println("<br>Password : " + pwd);
out.println("<br>이름 : " + name);
out.println("<br>성별 : " + gender);
out.println("<br>" + year+ "년");
out.println(month +" ");
out.println(day +"일");
out.println("<br>관심항목 : ");
if(interest !=null) {
for(int i=0; i<interest.length; i++) {
out.println(interest[i]+ " ");
}
}
else {
out.println("관심항목이 존재하지 않습니다.");
}
out.println("<br>자기소개<br>" + intro);
out.println("<br><a href='/myweb/form/register_form'>회원가입</a>");
out.println("<br></body></html>");
}
}
package 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 EncodingFilter implements Filter {
private FilterConfig config;
@Override
public void destroy() {
}
@Override
//Servlet의 service() 역할
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String encoding = config.getInitParameter("encoding"); //초기 파라미터 조회
//요청에 대한 한글 처리
request.setCharacterEncoding(encoding);
System.out.println("doFilter() 호출 전 - 사전처리(요청단계)");
//다음 컴포넌트(Filter, Servlet)로 이동
chain.doFilter(request, response);
System.out.println("doFilter() 호출 후 - 사후처리(응답단계)");
}
@Override
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>servlet.form.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<!-- filter 등록 -->
<filter><!-- filter객체 등록 -->
<filter-name>encodingFilter</filter-name>
<filter-class>filter.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>/*</url-pattern> <!-- 모든 요청에 들어왔을 때 encoding filter가 동작 -->
</filter-mapping>
</web-app>