JSP&Servlet/기초정리
JSP&Servlet 기초 - MVC Model2 방식
줘니(•̀ᴗ•́)و
2023. 2. 13. 12:20
728x90
3. MVC Model2 방식
: M / V / C 로 나눠 생각
저번 포스팅 Model1 방식의 실습을 이어서 로그인 기능을 Model2 방식으로 해보자!
Login.jsp/Main.jsp/Join.jsp 파일을 복사해 가져오고,
DAO.java/DAO.java 파일도 복사해 model패키지에 넣는다.
이러고 이제 나머지 실습을 진행하면 된다.
1. Main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="Join.jsp"><button>회원가입</button></a>
<br><br>
<a href="Login.jsp"><button>로그인</button></a>
</body>
</html>
2. Login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginProgram" method="post">
<input type="text" name="id"> <br>
<input type="password" name="pw"> <br>
<input type="submit" value="로그인">
</form>
</body>
</html>
3. LoginProgram.java
: 로그인에 대한 기능 연결하기
package com.smhrd.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.smhrd.model.DAO;
import com.smhrd.model.DTO;
public class LoginProgram extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 한글 인코딩 잡기
request.setCharacterEncoding("utf-8");
// 로그인에 대한 기능 연결하기
String id = request.getParameter("id");
String pw = request.getParameter("pw");
// DB에 해당하는 로그인 정보 전달하기
// import 필요
DAO dao = new DAO();
DTO dto = new DTO(id, pw);
// 로그인 메소드에 따른 결과값(String) 저장
String result = dao.login(dto);
// 로그인 성공 -> result = "테스트";
// 로그인 실패 -> result = null;
if(result != null) {
// 성공! - 포워드 방식 사용
RequestDispatcher rd = request.getRequestDispatcher("LoginSuccess.jsp");
// 전달할 데이터 작성하기
request.setAttribute("name", result);
rd.forward(request, response);
}else {
// 실패
response.sendRedirect("LoginFail.jsp");
}
}
}
4. LoginFail.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>로그인 실패!</h1>
<a href="Main.jsp"><button>main으로 돌아가기</button></a>
<a href="Login.jsp"><button>login으로 돌아가기</button></a>
</body>
</html>
5. LoginSuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = (String)request.getAttribute("name");
%>
<%= name%>님 환영합니다!
</body>
</html>
728x90