記錄

html_form, 인코딩 차이점(get, post) 본문

Web/JSP

html_form, 인코딩 차이점(get, post)

surhommejk 2017. 11. 28. 14:43


<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

    <form>
        이름 : <input type="text" name="name" size="10"><br />
아이디 : <input type="text" name="id" size="10"><br />
비밀번호 : <input type="password" name="pw" size="10"><br />
취미 : <input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" name="hobby" value="swim">수영
<input type="checkbox" name="hobby" value="sleep">잠<br />
전공과목 : <input type="radio" name="subject" value="Math">수학
<input type="radio" name="subject" value="Eng">영어
<input type="radio" name="subject" value="Des" checked="checked">디자인<br />
        
        <select name="coffee">
            <option value="La">라떼</option>
            <option value="Ame">아메리카노</option>
            <option value="Ca">카푸치노</option>
            <option value="Ess">에스프레소</option>
        </select><br />
        <input type="submit" value="전송">
        <input type="reset"
            value="초기화">
    </form>

</body>
</html>




<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

    <form action="HtmlTest" method="post">
        이름 : <input type="text" name="name" size="10"> <br />
        아이디 : <input type="text" name="id" size="10"> <br />
        
        비밀번호 : <input type="password" name="pw" size="10"> <br />
        
        취미 : <input type="checkbox" name="hobby" value="read">
        독서 <input   type="checkbox" name="hobby" value="swim">
        수영 <input type="checkbox" name="hobby" value="sleep">잠<br />
        
        전공과목 : <input type="radio" name="subject" value="Math">수학
        <input type="radio" name="subject" value="Eng">영어
        <input type="radio" name="subject" value="Des" checked="checked">디자인<br />

        <select name="coffee">
            <option value="La">라떼</option>
            <option value="Ame">아메리카노</option>
            <option value="Ca">카푸치노</option>
            <option value="Ess">에스프레소</option>
        </select> <br />
        <input type="submit" value="전송"> <input type="reset" value="초기화">
    </form>

</body>
</html>



@WebServlet("/HtmlTest")
public class HtmlTest extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public HtmlTest() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("EUC-KR");
// 가장 먼저 하는 일은 들어온 request를 한글로 인코딩 하는 것
        
        String name = request.getParameter("name");
        String id = request.getParameter("id");
        String pw = request.getParameter("pw");
        String[] cb = request.getParameterValues("hobby");
        String sub = request.getParameter("subject");
        String cf = request.getParameter("coffee");
        
        //  상식적으로 클라이언트의 입력 정보를 보내는 객체가 request이므로
        //  request객체의 getParameter로 정보를 가져와 doPost에서 선언한 변수로
        //  초기화 하는 과정인 것이다. 어려울 것이 하나도 없음.
        //  다만, 복수의 값은 배열로 받아서 출력시 toString()하는 것을 기억.
            
        response.setContentType("text/html; charset=euc-kr");
        PrintWriter writer = response.getWriter();
        
        writer.println("<html>");
        writer.println("<head>");
        writer.println("</head>");
        writer.println("<body>");
        writer.println("이름 : " + name + "<br/>");
        writer.println("아이디 : " + id + "<br/>");
        writer.println("비밀번호 : " + pw + "<br/>");
        writer.println("취미 : " + Arrays.toString(cb) + "<br/>");
        writer.println("전공과목 : " + sub + "<br/>");
        writer.println("커피 : " + cf + "<br/>");
        writer.println("</body>");
        writer.println("</html>");
        writer.close();
    }

}


cf) web.xml과 ~.html에서 정의된 변수 값을 가져올 때에는

" ~~ "<-- 이와 같이 큰 따옴표 형태로 getParamater 메소드의 변수값에 넣는다



tip) getParameter()로 가져오는 값은 기본적으로 String 값이므로 이를 int로 저장하기 위해서는 int 변수를 선언한 뒤 Integer.parseInt로 값을 넣어 주면 된다


'Web > JSP' 카테고리의 다른 글

JSP 동작원리, 개념, 내부객체  (0) 2017.12.01
초기화 파라미터(init-param), WebListener  (0) 2017.11.28
servlet LifeCycle  (0) 2017.11.28
doGet, doPost, Context Path  (0) 2017.11.28
JSP, MVC, servlet, Mapping 및 기초개념  (0) 2017.11.27
Comments