-
JSP의 doGet()과 doPost()는 어떤 차이점을 보이는 것일까 ?
2가지의 메서드는 데이터 전송 방식에서의 차이점을 보인다.
doGet의 경우에는 key-value값들을 모두 알려주기 때문에 보안에 취약하다
doPost 방식의 경우에는 servlet을 만들 때 나오던 맵핑만 나오기 때문에 보안에 강해서 설문조사 등에서 많이 사용한다.
defalut값이 doGet방식이기 때문에 doPost로 보안에 신경써야할 경우 doPost로 바꿔서 URL에 정보가 나오지 않도록 해야한다 .
주로 form태그를 사용해서 로그인이나 회원가입 등 데이터를 주고 받는 과정을 많이 하는데
form태그에서 action과 method라는 속성을 사용해서 @webServlet과 get 또는 post 방식에 따라서 doGet이나 doPost메서드를 사용할 수 있다.
예시문을 만들어보자.
<form action = "NaverSignUp" method="post">
name:<input type=text" name="Naver_name"></br>
password: <input type="password" name=Naver_password>
</form>
에서 action의 NaverSignUp이라는 @webServlet을 만들어서 URL에 맵핑한 것만 표시하게 하고
method값이 post이므로 doPost()로request와 response를 받아서 구현한다.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException);
System.out.println("==doPost()==");
doGet(request, response);
이때 doGet(request, response)를 입력하면 doGet()메서드의 코드량을 doPost에서 받아서 코드를 한쪽으로 몰아서 사용하기에 이 방식을 많이 사용한다.
doPost()로 받은 doGet()함수의 요청과 응답을 doGet()메서드로 올려서 한 쪽에서 구현코드로 출력할 수 있다.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException);
System.out.println("==doGet()==");
String Naver_name = request.getParameter("Naver_name");
String Naver_Password = request.getParameter("Naver_PassWord");
//request라는 객체에 서버로 요청을 받아들여온 정보가 저장되는 것이다. //
.
System.out.println("Naver_name: " + Naver_name);
System.out.println("Naver_password: " + Naver_password);
Enumeration<String> names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
System.out.println("name: " + name);
}
}
으로 method 방식을 post로 받은 후 URL의 보안과 doGet으로의 정보를 모는 방식으로 많이 사용한다 .
doGet에서 getParameter(), getParameterValues(), getParameterNames() 메서드를 사용할 수 있는데
매개변수를 얻거나 여러개의 매개변수를 받는 경우, 각 속성들의 이름을 받아주는 메서드를 순서대로 표현한다.
getParameterValues() 메서드의 경우에는 여러가지 값들이 있는 경우, 즉 관심사 등을 표시할 때 사용하며 배열을 사용한다.
예를 들어서 String[] Naver_favor = request.getParamaterValues("Naver_favor");
로 복수의 요청을 받을 수도 있다.
'JSP&스프링 > JSP 키포인트' 카테고리의 다른 글
[JSP] JSP의 요청과 응답에 해당하는 내장객체 request & response 개념과 예시문 정리하기 (0) 2023.01.20 [JSP] JSP의 주요 스크립트의 종류와 예시문 정리하기 (0) 2023.01.20 [JSP] Servlet Life-Cycle 생명주기에 대한 개념과 관련 메서드 정리하기 (0) 2023.01.19 [JSP] HttpServlet 와 Servlet reqeust, response에 대한 정의 (0) 2022.12.29 [JSP] Servlet 맵핑의 정의와 특징 정리하기 (0) 2022.12.29 댓글