[HTML]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Servlet 복습</title>
</head>
<body>
<h1>Servlet 복습</h1>
<form action="/login" method="POST">
<div>
ID : <input type="text" name = "inputId">
</div>
<div>
PW : <input type="password" name="inputPw">
</div>
<div>
다음 문자를 똑같이 입력하세요 <br>
<strong>헬로 월드</strong>
<input type="text" name="check">
</div>
<!-- button 태그의 type 기본 값은 "submit" -->
<button>로그인</button>
</form>
</body>
</html>
[Java 1]
package edu.kh.servlet2.controller;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
// 해당 클래스를 Servlet으로 등록 + "/login" 요청 주소 처리하도록 매핑
@WebServlet("/login")
public class LoginServlet extends HttpServlet{
//"/login" POST 방식 요청을 처리하는 메서드
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 요청 시 제출된 값(파라미터) 모두 얻어오기
String inputId = req.getParameter("inputId");
String inputPw = req.getParameter("inputPw");
String check = req.getParameter("check");
System.out.println(inputId);
System.out.println(inputPw);
System.out.println(check);
#결과


| 아이디 : user00 비밀번호 : pass00 check : 헬로 월드 모두 일치하는 경우 -> "로그인 성공" 불일치한 내용이 있을 경우 -> 000이 일치하지 않습니다 (000은 ID, PW, CHECK) |
[Java 2]
String result = ""; // 결과 문자열 저장
if(inputId.equals("user00")
&& inputPw.equals("pass00")
&& check.equals("헬로 월드")){
result = "<h1 style = 'color:red;'> 로그인 성공</h1>";
}else {
if(!inputId.equals("user00")) {
result += "<h3> ID가 일치하지 않습니다</h3>";
}
if(!inputPw.equals("pass00!")) {
result += "<h3> PW가 일치하지 않습니다</h3>";
}
if(!check.equals("헬로 월드")) {
result += "<h3> CHECK가 일치하지 않습니다</h3>";
}
}
<응답하기>
// 응답되는 문서의 형식, 문자 인코딩 지정
resp.setContentType("text/html; charset=utf-8");
// 클라이언트와 연결된 출력용 스트림 얻어오기
PrintWriter out = resp.getWriter();
// 출력할 HTML 작성하기
StringBuilder sb = new StringBuilder();
sb.append("""
<!DOCTYPE html>
<html>
<head>
<title>로그인 결과 페이지 </title>
</head>
<body>""");
sb.append(result);
sb.append("</body>");
sb.append("</html>");
out.write(sb.toString()); // 클라이언트에게 출력
// == 서버 응답
#결과


→ 비밀번호만 다르게 입력 했을 경우 위와 같이 출력

→ 모두 맞게 입력했을 우 위와 같이 출력
'BackEnd > Java' 카테고리의 다른 글
| [Servlet/JSP]EL/JSTL (0) | 2024.08.16 |
|---|---|
| [Servlet/JSP]Servlet을 이용해 서버 요청 보내기 (0) | 2024.08.16 |
| [Servlet/JSP] 알고 있어야 할 선수 지식 및 웹 개발 상식 (0) | 2024.08.16 |
| [Servlet/JSP]JSP란? (0) | 2024.08.16 |
| [Servlet/JSP]Servlet 정의 (0) | 2024.08.16 |