각진 세상에 둥근 춤을 추자
[JSP] Eclipse - Servlet6: 사용자 입력을 통한 POST 요청 본문
(이전 게시글)
2022.10.23 - [JSP] - [JSP] Eclipse - Servlet5: 사용자 입력을 통한 GET 요청
이번에는 사용자 입력 방식으로 POST 방식을 사용한다.
1. 입력 폼 작성하기: reg.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>사용자 입력을 통한 POST 요청</title>
</head>
<body>
<div>
<form action="notice-reg">
<div>
<label>제목: </label><input type="text" name="title">
</div>
<div>
<label>내용: </label>
<textarea name="content"></textarea>
</div>
<div>
<input type="submit" value="등록하기"/>
</div>
</form>
</div>
</body>
</html>
<form action="notice-reg">
해당 form을 notice-reg 매핑 주소로 전달한다.
2. 서블릿 파일 작성하기: NoticeReg.java
package com.circle.web;
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;
@WebServlet("/notice-reg")
public class NoticeReg extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 인코딩 방식 지정
response.setCharacterEncoding("UTF-8");
// 받는 Content Type 지정 (html 문서, UTF-8로 읽어라!)
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
String title = request.getParameter("title");
String content = request.getParameter("content");
out.println(title);
out.println(content);
}
}
실행 후, 폼에 내용을 입력한다.
일반적으로 입력 방식을 지정하지 않은 GET 방식의 경우 해당 내용이 주소창에 노출된다.
이는 미관상 보기 안 좋을 뿐더러 보안상의 이유로도 좋지 않다.
그렇기 때문에 사용자 입력 방식을 POST 방식으로 지정해 본다.
3. 사용자 입력 방식: POST
<form action="notice-reg" method="post">
(reg.html)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>사용자 입력을 통한 GET 요청</title>
</head>
<body>
<div>
<form action="notice-reg" method="post">
<div>
<label>제목: </label><input type="text" name="title">
</div>
<div>
<label>내용: </label>
<textarea name="content"></textarea>
</div>
<div>
<input type="submit" value="등록하기"/>
</div>
</form>
</div>
</body>
</html>
실행 결과, 주소창에 해당 요청 내용이 보이지 않는 것을 알 수 있다.
한글 입력 문제
제목과 내용에 한글을 입력했을 경우, 한글이 깨진 형태로 출력된다.
// 한글 깨짐 해결: 입력받는 값을 utf-8로 읽어라
request.setCharacterEncoding("UTF-8");
'JSP' 카테고리의 다른 글
[JSP] Eclipse - Servlet8: 사용자 입력을 통한 덧셈 계산 요청 (0) | 2022.10.24 |
---|---|
[JSP] Eclipse - Servlet7: Servlet Filter (0) | 2022.10.24 |
[JSP] Eclipse - Servlet5: 사용자 입력을 통한 GET 요청 (0) | 2022.10.23 |
[JSP] Eclipse - Servlet4: GET 요청과 쿼리스트링 (0) | 2022.10.23 |
[JSP] Eclipse - Servlet3: 출력 형식 이해 (한글 깨짐 해결) (0) | 2022.10.23 |