2017년 10월 11일 수요일

[Servlet] doGet and doPost Defference

Basically, doGet and doPost are used in Servlet. It communicates with jsp. Servlet receives Parameters(request.getParameter("name")), all in String type. However, JSP gets Attributes(request.getAttributes("name")), all in Object type(So, you can simply cast using barces'( )'(int num = (Integer) request.getAttribute; ).

       Servlet                                        HTML
Get  request.getParameter("name")       request.getAttribute("name)
Set  request.setAttribute("name", value) <form>, <a>, <input> (it sends in doGet or doPost)
  • doGet
1. html(or jsp) -> servlet

# Send to Servlet

- Using <a> tag
<a href="<%=request.getContextPath()%>/board?type=deleteForm&articleNum=<%=article.getAritlcleNum()%>"></a>

- Using <form> tag
<form action="<%=request.getContextPath()%>/board">
(method="get" is omitted)
# Get from HTML

- request.getParameter("name") 
(Object(VO) example: Article)

Article article = new Article();
article.setTitle(request.getParameter("title"));
article.setWriter(request.getParameter("writer"));
article.setPassword(request.getParameter("password"));
article.setContents(request.getParameter("contents"));

2. servlet -> html(or jsp)

# Send to HTML
request.setAttribute("name", value)

# Get from Servlet
- request.getAttribute("name")
<%
int articleNum = (Integer) request.getAttribute("articleNum");
%>
<form action="..." method="post">
<input type="hidden" name ="acticleNum" value="<%=articleNum%>">
</form>
(type="hidden" for "doPost" later in <form> & submit)
  • doPost
1. html(or jsp) -> servlet

- Using <a> tag
No

- Using <form> tag & <input> tag
<form action="<%=request.getContextPath()%>/board" method="post">
<input type="hidden" name ="acticleNum" value="<%=articleNum%>
</form>
2. servlet -> html(or jsp)
- The same with doGet method

댓글 없음:

댓글 쓰기