주문의 옵션이 많다면 적어서 제출해주세요! 라고 하는 것이 정상적이다.
웹서버의 흐름은 이렇다.
주문서(입력 폼)를 주세요 GET >> 주문내용 POST >> 주문된 요청에 대한 응답 response
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<div>
<form action="notice-reg">
<div>
<label>제목:</label><input name="tilte" type="text">
</div>
<div>
<label>내용:</label><textarea name="content" ></textarea>
</div>
<div>
<input type="submit" value="등록"/>
</div>
</form>
</div>
</div>
</body>
</html>
name 속성이 있어야 키워드를 가지고 value를 전달할 수 있으니 기억하자.
@WebServlet("/notice-reg")
public class NoticeReg extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
PrintWriter out = resp.getWriter();
String title = req.getParameter("tilte");
String content = req.getParameter("content");
out.println(title);
out.println(content);
}
해당 폼 액션에 맞는 Servlet Class 를 만들어주고 간단히 키워드의 value 값을 받아 돌려주는 식으로 코드를 작성한다.
주소값이 이상한 것이 보인다. url 길이에는 제한이 있고, 쿼리스트링은 문서에 대한 옵션 값이다.장문으로 보내는 것은 올바르지 않다.
<form action="notice-reg" method="post"> 으로 수정해보자
요청 body는 제한이 없으므로 POST로 보냄으로 커다란 용량도 받아낼 수 있게 된다.
즉 요청 body에 tilte="hello"&content="hello" 라고 보냄이 되는 것이다.
주소가 원하는 방향으로 찍히는 것을 확인 할 수 있게 된다.
'JSP & Servlet' 카테고리의 다른 글
**Servlet 경로매핑 , 우선순위.** (0) | 2020.07.16 |
---|---|
<%@ include %> (0) | 2020.07.14 |
2020 jsp(java server page) & servlet(ServerApplicationLet) 13.사용자 입력을 통한 GET 요청 (0) | 2020.06.27 |
2020 jsp(java server page) & servlet(ServerApplicationLet) 12.기본값 사용하기 (0) | 2020.06.27 |
2020 jsp(java server page) & servlet(ServerApplicationLet) 10.GET 요청과 쿼리스트링 (0) | 2020.06.27 |