티스토리 뷰
JSP(사용자) -> Servlet(서버) 간 데이터 전송은 이전에 다뤘던 JSP -> JSP 간 데이터 통신과 별반 다를 게 없다.
form태그의 action속성 경로가 맵핑해놓은 url 주소 값이라는 것만 주의하면 거의 동일하다고 봐도 된다.
◎MethodServlet.java
package unit02;
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 MethodServlet
*/
@WebServlet("/method_servlet") // 이 값이 action 속성으로 들어가야 값을 받을 수 있다.
public class MethodServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("<h1>get방식으로 처리됨</h1>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("<h1>Post방식으로 처리됨</h1>");
out.close();
}
}
◎methodTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>doGet() / doPost() 호출 테스트</title>
</head>
<body>
<form action = "method_servlet" method = "get">
<input type = "submit" value = "GET 방식으로 호출" />
</form>
<hr />
<form action = "method_servlet" method = "post">
<input type = "submit" value = "POST 방식으로 호출" />
</form>
</body>
</html>
이렇게 작성하면 끝이다.
이제 get으로 호출할 지 post로 호출할 지 선택하면, servlet의 메소드에 따라 결과값이 출력된다.
-post 호출
국민 예제인 로그인으로 한번 더 확인해보자
◎paramTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>HTML 파라미터 Servlet 에게 전송</title>
</head>
<body>
<form action = "param_servlet" method = "get">
아이디: <input type = "text" name = "userid" required = "required" />
<br/>
이름: <input type = "text" name = "username" required = "required" />
<br/>
<input type = "submit" value = "전송" />
</form>
</body>
</html>
◎ParamServlet.java
package unit02;
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 ParamServlet
*/
@WebServlet("/param_servlet")
public class ParamServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userid = request.getParameter("userid");
String username = request.getParameter("username");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("<!DOCTYPE html>");
out.print("<html>");
out.print("<head><title></title></head>");
out.print("<body>");
out.print("아이디: " + userid);
out.print("<br />");
out.print("이름: " + username);
out.print("</body></html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
반응형
'WEB > DynamicWeb' 카테고리의 다른 글
[Web] DAO & DTO (0) | 2021.04.28 |
---|---|
[JSP, Servlet] DTO 활용 <도서 검색> (0) | 2021.04.27 |
[Servlet] init() & destroy() (0) | 2021.04.26 |
[Servlet] 간단한 덧셈을 수행하는 클래스 (0) | 2021.04.26 |
[Servlet] Servlet 기초 (0) | 2021.04.26 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- 파니노구스토
- javascript
- 인천 구월동 맛집
- 이탈리안 레스토랑
- Async
- redux-thunk
- await
- 정보보안기사 #실기 #정리
- react-native
- AsyncStorage
- Promise
- 인천 구월동 이탈리안 맛집
- redux
- 맛집
- react
- Total
- Today
- Yesterday