본문 바로가기

Application/JSP Server

[JSP] 3-2. 입력 폼에서 한글 읽어오기

반응형

서블릿에서 요청시 한글처리

  • 출력시 한글 처리
    • 응답객체인 response의 setContentType()을 호출해 인코딩 지정
    • response.setContentType("text/html; charset=UTF-8");
  • 입력시 한글 처리
  • get방식
    • response.setContentType("text/html;charset=UTF-8");
  • post방식
    • request.setCharacterEncoding("UTF-8");
package jsch02;

import java.io.IOException;
import java.io.PrintWriter;

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

/**
 * Servlet implementation class InfoServlet
 */
@WebServlet("/InfoServlet")
public class InfoServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public InfoServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=UTF-8");
		String name=request.getParameter("name");
		String addr=request.getParameter("addr");
		
		PrintWriter out=response.getWriter();
		out.print("<html><body>");
		out.println("당신이 입력한 정보입니다.<br>");
		out.println("이름 : ");
		out.println(name);
		out.println("<br> 주소 : ");
		out.println(addr);
		
		out.println("<br> <a href='javascript:history.go(-1)'>다시</a>");
		out.print("</body></html>");
		out.close();
		
		

		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		doGet(request, response);
	}

}

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>서블릿</title>
</head>
<body>
<h3> get 방식에서 한글 깨짐 방지</h3>
<form method="get" action="/jspbook/InfoServlet">
	이름 : <input type="text" name="name"><br>
	주소 : <input type="text" name="addr"><br>
	<input type="submit" value="전송"><br>
</form>

<h3> post 방식에서 한글 깨짐 방지</h3>
<form method="post" action="/jspbook/InfoServlet">
	이름 : <input type="text" name="name"><br>
	주소 : <input type="text" name="addr"><br>
	<input type="submit" value="전송"><br>
</form>
</body>
</html>

 

반응형

'Application > JSP Server' 카테고리의 다른 글

[JSP] 6-1. 자바빈 객체 생성하기  (0) 2021.04.08
[JSP] 6. 자바빈  (0) 2021.04.08
[JSP] 액션 태그  (0) 2021.04.01
[JSP] 3-1. 텍스트 박스에 입력된 값 얻어오기  (0) 2021.03.31
[JSP] 3. 서블릿 만들기  (0) 2021.03.31