불로구
[JSP] - (Servlet) 로그인 본문
서블릿 기본 기능 수행 과정
- 서블릿은 세 가지 주요 기능을 타나 낸다.
- 클라이언트로부터 요청을 받는다.
- DB 연동과 같은 비즈니스 로직을 처리한다.
- 처리된 결과를 클라이언트로 반환한다.
서블릿 응답과 요청 수행 API
- 요청과 응답 API는 모두 javax.servlet.http 패키지에 있다.
- 요청 관련 API : javax.servlet.http.HttpServletRequest 클래스
- 응답 관련 API : javax.servlet.http.HttpServletResponse 클래스
실습
1) 서블릿에 요청하고 서블릿에서 요청받기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form name="frmLogin" method="get" action="login">
아이디 : <input type="text" name="user_id" /><br>
비밀번호 : <input type="password" name="user_pw" /><br>
<input type="submit" value="로그인">
</form>
</body>
</html>
우선, HTML을 이용해서 데이터를 전송할 수 있는 양식을 만든다.
<from> 태그 기능
name |
구분자 역할 |
method |
데이터를 전송할 방법 지정 (default : GET) |
action |
데이터를 전송할 서블릿이나 JSP 지정 ( 전송 시 매핑 이름 사용) |
사용자는 ID와 PW를 입력 후 로그인 버튼을 클릭하면 login 서블릿으로 ID와 PW가 전송된다.
그럼 서블릿은 요청을 어떻게 얻을까?
<form> 태그로 전송된 데이터 받는 메서드
String getParameter(String name) |
name의 값을 알 때 name에 대한 전송된 값 받기 |
String[] getParameterValues(String name) |
같은 name에 대해 여러 개의 값을 얻을 때 사용 |
Enumeration getParameterNames() |
name 값을 모를 때 사용 |
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("/login") //매핑
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void init() throws ServletException {
System.out.println("init 호출");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); //전송된 데이터 UTF-8로 인코딩
String user_id = request.getParameter("user_id"); //값 받기
String user_pw = request.getParameter("user_pw"); //값 받기
System.out.println("user_id : " + user_id);
System.out.println("user_pw : " + user_pw);
}
@Override
public void destroy() {
System.out.println("destroy 메서드 호출");
}
}
자 이렇게 ID와 PW를 적고 로그인을 눌리면
전송받은 ID와 PW를 정상적으로 콘솔에 출력했다.
추천도서
'프로그래밍 > WEB' 카테고리의 다른 글
(Servlet) 서블릿 DB 연동하기 (1) (0) | 2021.03.15 |
---|---|
(Servlet) 서블릿 GET, POST 동시 요청 (0) | 2021.03.15 |
(Servlet) 서블릿 여러 개의 값 전송 (0) | 2021.03.14 |
(Servlet) 서블릿 동작 과정, 애너테이션 (0) | 2021.03.13 |
[JSP 웹 프로그래밍] 서블릿(Servlet) 이란? (0) | 2021.03.10 |