반응형
서버에서 사용자에 요청은 doGet, doPost로 다룰 수 있습니다.
그러기 위해선 jsp에 form 태그가 필요합니다.
● Form 태그
사용자가 form 태그에 입력한 데이터를
Servlet에서 doGet 혹은 doPost로 처리를 할 수 있습니다.
● doGet()
doGet 메소드는
사용자가 입력한 데이터가 서버에 전송될 때,
입력한 데이터들이 url에 노출이 됩니다.
보안상의 문제가 있을 수 있으니
민감한 정보는 doGet 사용을 지양해야 합니다.
● doPost()
doPost 메소드는
사용자가 입력한 데이터가 서버에 전송될 때,
입력한 데이터들이 url에 노출되지 않습니다.
Jsp, Servlet으로 회원가입 예제를 통해
사용자가 form태그에서 입력한 데이터들을 servlet의 doPost로 처리하는 방법을
다뤄보겠습니다.
● 회원가입 예제
○ JSP(utfEx.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="mSignUp" method="post">
아이디 : <input type="text" name="m_ID"><br>
패스워드 : <input type="password" name="m_PW"><br>
<input type="submit" value="login">
</form>
</body>
</html>
jsp에서 중요한 것은
input 태그의 name 값 설정입니다.
name 값을 통해 servlet에서 해당 데이터를 처리할 수 있습니다.
○ Servlet(MsignUp)
package com.servlet;
import java.io.IOException;
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("/mSignUp")
public class MSignUp extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
String mID = request.getParameter("m_ID");
String mPW = request.getParameter("m_PW");
System.out.println("mID : " + mID);
System.out.println("mPW : " + mPW);
}
}
request.getParameter("jsp 에서 입력한 input의 name")
위를 통해 servlet에서 사용자가 입력한 데이터를 처리할 수 있습니다.
○ 서버 실행
작성한 jsp파일을 서버에서 실행하고
아이디와 패스워드를 입력한 후, login 버튼을 누르면,,,
servlet에서 해당 데이터를 받아와서
출력이 정상적으로 되는 것을 볼 수 있습니다.
반응형