불로구

[JSP] - (Servlet) 로그인 본문

프로그래밍/WEB

[JSP] - (Servlet) 로그인

맹이맹이 2021. 3. 11. 13:00
반응형

 

서블릿 기본 기능 수행 과정

- 서블릿은 세 가지 주요 기능을 타나 낸다.

- 클라이언트로부터 요청을 받는다.

- 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를 정상적으로 콘솔에 출력했다.

추천도서

스프링5 레시피:스프링 애플리케이션 개발에 유용한 161가지 문제 해결 기법, 한빛미디어 배워서 바로 쓰는 스프링 프레임워크:AOP 보안 메시징부터 스프링 웹 MVC까지 실용적인, 한빛미디어 JSP Web Programming:웹 서비스&애플리케이션 개발을 위한 입문서, 예문사

반응형
Comments