서블릿에서 클라이언트의 요청을 서버로 얻어오는 방법은
<form> 태그로 전송된 데이터를 받아오는것이다!
HTML에서 다음과 같은 form 태그가 있다.
<form name="frmLogin"method="get" action="login" encType="UTF-8">
아이디 : <input type="text" name="user_id" /><br>
비밀번호 : <input type="password" name="user_pw" /><br>
<input type="submit" value="로그인">
</form>
각각 아이디와 비밀번호를 input 태그로 입력받고, 각각의 태그 name 은 user_id 와 user_pw 이다.
그리고 이것들이 전송될때는 name 속성의 값 (user_id) 과 input태그에 입력한 값 (value) 가 쌍으로 전송된다.
만약 아이디에 hello 를 입력했다면 이것은
user_id : hello
이런식으로 전송된다는 것이다!
그리고 서블릿에서는 이렇게 전송된 데이터를 HttpServletRequest 클래스의 getParameter() 메서드를 사용하여 받아올 수 있다.
다음은 form 태그로 전송된 데이터를 받아오는 메서드의 종류이다.
메서드 | 기능 |
String getParameter (String name) | name의 값을 알고 있을 때 그리고 name에 대한 전송된 값을 받아오는데 사용 |
String[] getParameterValues (String name) | 같은 name에 대해 여러 개의 값을 얻을 때 사용 |
Enumeration getParameterNames() | name 값을 모를때 사용 |
이런 메서드들을 이용하여, 서블릿에서는 사용자가 form 태그에 입력한 값들을 가져올 수 있다.
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
request.setCharacterEncoding("UTF-8");
String user_id = request.getParameter("user_id"); // form 태그의 name 중 user_id가 가진 value를 String 타입으로 가져온다!
String user_pw = request.getParameter("user_pw"); // form 태그의 name 중 user_pw가 가진 value를 String 타입으로 가져온다!
}
요런식으로 form 태그 안의 input 태그에서 입력한 값들을 가져올 수 있다!
그러면 위 코드의 변수 user_id 와 user_pw 에 저장되는 값은
각각 HTML에서 입력한 아이디와 비밀번호가 저장될 것이다!
'프로그래밍 > JAVA WEB' 카테고리의 다른 글
HttpServletRequest , HttpServletResponse의 여러가지 메서드 (0) | 2021.01.03 |
---|---|
웹 애플리케이션의 기본 구조 (0) | 2021.01.01 |
JSP 표준 태그 라이브러리 (JSTL) 몇가지 정리 (0) | 2020.10.14 |