개발 일기
Servlet(서블릿) POST방식으로 데이터 전달 받아 로그인 연습! 본문
안녕하세요!
어제 Form의 'GET'방식을 통한 로그인 관련 서블릿을 작성해보았는데요. (https://soonggi.tistory.com/61)
이번에는 Form의 'POST'방식으로 코딩하여 로그인 서블릿을 만들어 보겠습니다~
GET과 POST의 차이는 너무너무 잘 정리된 글이 있어 참고해주세요!!(https://mangkyu.tistory.com/17)
Servlet 코딩 연습!! (form을 활용하여 post방식으로 login해보기)
1. HTML의 Form 태그를 활용하여 ID와 PW를 입력받을 화면을 post 방식으로 생성
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>로그인[POST]</h1>
<hr/>
<form action="post_login.do" method="post">
ID:<input type="text" name="id"><br/>
PW:<input type="password" name="pass"><br/><br/>
<input type="submit" value="로그인">
<input type="reset" value="취소">
</form>
</body>
</html>
- form태그의 method="post"로 설정
- POST방식데이타전송
- form 에입력된데이타를 query string으로만든다.[id=guard&pass=1111]
- 요청라인,헤더,바디전송시 query string(form data)을 전송한다.
-- 결과 브라우저 화면
2. ID와 PW를 입력받고 유효성 검사를 진행 할 Servlet 클래스 코딩
package com.itwill.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class GetLoginServlet
*/
@WebServlet("/post_login.do")
public class PostLoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h1>잘못된 요청 방법입니다.</h>");
out.println("<a href='05-02.login_post.html'>다시로그인</a>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
String pass = request.getParameter("pass");
if (id == null || pass == null || id.equals("") || pass.equals("")) {
out.println("<h1>아이디, 패스워드를 입력하세요[POST]</h1><hr>");
out.println("<a href ='05-02.login_post.html'>로그인폼</a>");
return;
}
boolean isMember1 = id.equals("xxx") && pass.equals("1111");
boolean isMember2 = id.equals("yyy") && pass.equals("2222");
out.println("<h1>POST로그인결과</h1><hr>");
if (isMember1 || isMember2) {
// 로그인 성공
out.println("<h3>" + id + "님 로그인 성공</h3><hr>");
out.println("<a href='index.html'>메인으로</a>");
} else {
// 로그인 실패
out.println("<h3>" + id + "님 로그인 실패</h3>");
out.println("<a href='05-02.login_post.html'>다시로그인</a>");
}
}
}
- doGet 메소드를 재정의하여 get방식으로 요청이 들어오면 잘못된 요청 문구 리턴
- doPost 메소드를 통해 post방식 요청 응답
*ID, PW 입력 후 로그인 성공 출력 화면
*브라우저 URL에 GET방식 form으로 값을 넣었을 때 재정의한 doGet메소드 출력 화면
POST방식을 활용한 로그인 코딩을 예시로 해보았습니다!
감사합니다.
'Servlet & JSP' 카테고리의 다른 글
쿠키(cookie)란?? (feat. JSP에서 쿠키 설정(cookie )하는 법) (0) | 2021.08.12 |
---|---|
JSP(JavaServer Pages)란?? (feat. JSP파일 실행 시 Servlet 소스 파일 생성 위치) (0) | 2021.08.11 |
웹에서 회원가입을 받아 직접 DB에 넣어보자!! (feat. DTO, HTML, SERVLET 총 출동) (0) | 2021.08.10 |
Servlet 활용해서 회원가입 받기! (feat. HTML의 form으로 데이터를 POST 방식으로 넘겨주기) (0) | 2021.08.09 |
JAVA Servlet(서블릿)이란?? (feat. form을 활용하여 get방식으로 login해보기) (0) | 2021.08.04 |
Comments