- [JSP] 43. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (2)2024년 07월 09일
- Song hyun
- 작성자
- 2024.07.09.:47
728x90반응형[JSP] 43. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (2)
1. UserDAO
package com.tenco.model; import java.util.List; public interface UserDAO { int addUser(UserDTO userDTO); UserDTO getUserById(int id); UserDTO getUserByUsername(String username); List<UserDTO> getAllUsers(); int updateUser(UserDTO userDTO, int principalId); // 권한 (마이 정보 -> 나만 바꿔야 함!) // 인증 시에는 세션도 체크해야 한다. (세션 ID) // principalId == 세션 ID int deleteUser(int id); // 세션 인증 필요 }
2.UserDTO
package com.tenco.model; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; /** * 데이터를 변환, 담는 개념, 메서드를 사용할 수 있다. * 단순히 데이터만 담는 개념 => VO */ @Data @NoArgsConstructor @AllArgsConstructor @Builder @ToString public class UserDTO { private int id; private String username; private String password; private String email; private String createdAt; // 필요하다면 메서드 정의 가능!ㅉ }
3. UserDAOImpl
package com.tenco.model; import java.util.List; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class UserDAOImpl implements UserDAO{ private DataSource dataSource; public UserDAOImpl() { try { InitialContext ctx=new InitialContext(); dataSource=(DataSource)ctx.lookup("java:comp/env/jdbc/MyDB"); } catch (NamingException e) { e.printStackTrace(); } } @Override public int addUser(UserDTO userDTO) { // TODO Auto-generated method stub return 0; } @Override public UserDTO getUserById(int id) { // TODO Auto-generated method stub return null; } @Override public UserDTO getUserByUsername(String username) { // TODO Auto-generated method stub return null; } @Override public List<UserDTO> getAllUsers() { // TODO Auto-generated method stub return null; } @Override public int updateUser(UserDTO userDTO, int principalId) { // TODO Auto-generated method stub return 0; } @Override public int deleteUser(int id) { // TODO Auto-generated method stub return 0; } }
4. UserController.java
package com.tenco.controller; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import com.tenco.model.UserDAO; import com.tenco.model.UserDAOImpl; // 주소설계 // http://localhost:8080/mvc/user/ @WebServlet("/user/*") public class UserController extends HttpServlet { private static final long serialVersionUID = 1L; private UserDAO userDAO; public UserController() { super(); } @Override public void init() throws ServletException { userDAO=new UserDAOImpl(); } // GET 방식으로 들어올 때, // http://localhost:8080/mvc/user/signUp --> 회원가입 페이지 // http://localhost:8080/mvc/user/signIn --> 로그인 페이지 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getPathInfo(); switch(action) { case "/signIn": // 로그인 페이지로 보내는 동작 처리 request.getRequestDispatcher("/views/signIn.jsp").forward(request, response); break; case "/signUp": // 회원가입 페이지로 보내는 동작 처리 request.getRequestDispatcher("/views/signUp.jsp").forward(request, response); break; default: response.sendError(HttpServletResponse.SC_NOT_FOUND); break; } } // http://localhost:8080/mvc/views/todoForm.jsp protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
5. signIn.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>여기는 로그인 JSP 파일입니다.</h1> </body> </html>
6. signUp.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>여기는 회원가입 JSP 파일입니다.</h1> </body> </html>
7. todoForm.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>여기는 todoForm 페이지입니다.</h1> </body> </html>
*페이지를 보안 처리하기
(WEB_INF -> views)
728x90반응형'JSP > Todo 리스트 만들기' 카테고리의 다른 글
[JSP] 46. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (5) (0) 2024.07.09 [JSP] 45. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (4) (0) 2024.07.09 [JSP] 44. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (3) (0) 2024.07.09 [JSP] 42. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (1) (0) 2024.07.09 [JSP] 41. <JSP와 MVC 패턴을 사용한 to-do 프로젝트> (0) : 사전 기반 지식 (0) 2024.07.09 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)