MVC29 MVC2 패턴 JSP FILTER 예시 HttpServletRequest는 ServletRequest인터페이스의 자식 인터페이스라 형변환이 가능하다. AuthFilter "/board/board_write.board", "/board/board_modify.board", "/board/registForm.board", "/board/updateForm.board", "/board/board_delete.board" 에 들어가면 필터에 있는 작업을 실행한다. 더보기 session에 아이디가 저장이 되어있다면 로그인이 되어있는 상태로 인식하고 통과시켜준다. 하지만 세션의 "user_id"가 Null값이라면 로그인이 되어있지 않은 상태이기 때문에 권한이 필요하다는 알림창을 띄우고 login.user로 보낸다. @WebFilter({"/board/b.. jsp 2022. 12. 7. MVC2 패턴 게시판 글 수정 (board_modify) Board_Modify (게시판 글 수정 페이지) 더보기 게시판 글 수정 페이지 글 번호 ${vo.bno } 작성자 글 제목 글 내용 ${vo.content } 컨트롤러에 bno를 가져가기 위해 board_content페이지에서 get방식(url?변수명=값)으로 bno를 가져감 컨트롤러에선 BoardServiceImpl에 이미 조회한 글에 대한 정보 조회 메서드(getContent)를 만들어뒀기 때문에 재사용하면 된다. }else if(command.equals("/board/board_modify.board")) {//수정화면 //조회한글에 대한 정보 조회 재활용 BoardVO vo = service.getContent(request, response); request.setAttribute("vo",.. jsp 2022. 12. 7. MVC2 패턴 게시판 게시글 내용 페이지 (board_content) Board_Content 전체 코드 -> 더보기 게시글 내용 보기 글번호 ${vo.bno } 조회수 ${vo.hit } 작성자 ${vo.writer } 작성일 글제목 ${vo.title } 글내용 ${vo.content } 게시글의 상세페이지로 넘어갈땐 제목을 클릭하면 get방식(url?변수명=${~~~~})으로 글번호나 필요한 변수들을 가져간다 BoardService에 메서드 생성 //상세페이지 public BoardVO getContent(HttpServletRequest request, HttpServletResponse response); BoardController에서 service의 getContent메서드를 반환값을 vo라는 BoardVO형 변수에 담는다 //조회한 글에 대한 정보 조회 Bo.. jsp 2022. 12. 7. MVC2패턴 게시판 목록 (board_list) Board_List 게시판 목록 화면 더보기 My Web게시판 순서 글 번호 작성자 제목 날짜 조회수 ${num.count } ${vo.bno } ${vo.writer } ${vo.title } ${vo.hit } BoardDAO에서 "SELECT * FROM Board ORDER BY bno DESC" 구문을 데이터베이스에 보낸뒤 결과값을 list에 담아주는법 public ArrayList getList(){ ArrayList list = new ArrayList(); String sql = "SELECT * FROM board ORDER BY bno DESC"; try { conn=DriverManager.getConnection(URL, UID, UPW); pstmt = conn.prepareSta.. jsp 2022. 12. 7. MVC2 (User) controller & service User Controller에서 logout case를 생성 세션 무효화 작업을 진행 case "/user/user_logout.user"://로그아웃 HttpSession session = request.getSession(); session.invalidate();//세션 무효화 response.sendRedirect(path + "/index.main");//메인으로 이동 break; user_mypage에 기능추가 ${sessionScope.user_id } (${sessionScope.user_name })님 환영합니다 [로그아웃] [정보수정] [회원탈퇴] UserController에 정보수정화면 진입case 추가 case "/user/user_modify.user"://정보수정화면 진입 req.. jsp 2022. 12. 6. MVC2패턴 예시 (CONTROLLER & SERVICE) MainController UserController 더보기 생성 후 필요없는 주석들은 다 제거한 뒤 *.user확장자를 경로로 설정 doGet 메서드와 doPost메서드 양쪽에서 실행될 수 있는 doAction이라는 메서드를 생성 @WebServlet("*.user") protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doAction(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExc.. jsp 2022. 12. 5. MVC2패턴 예시 (VO & DAO) (UTIL) DAO / VO / Util MVC2모델의 DAO클래스는 싱글톤으로 만들어줘야함 UserVO MVC2모델의 VO를 생성하기전에 테이블을 만든다 --jsp라는 계정 생성 CREATE USER jsp identified by jsp; --jsp라는 계정에 권한 할당 grant resource, connect to jsp; --jsp라는 계정에 tablespace할당 alter user jsp default TABLESPACE users QUOTA UNLIMITED on users; 테이블 구성 CREATE TABLE users( id VARCHAR2(30) PRIMARY KEY, pw VARCHAR2(30) NOT NULL, name VARCHAR2(30) NOT NULL, email VARCHAR2(30).. jsp 2022. 12. 5. 2022_12_02 MVC2 패턴 (Controller) com.example.controller패키지에 들어있는 컨트롤러 webapp/controller/에 있는 basic.jsp 서블릿 URL-Pattern 디렉토리 패턴 : 디렉토리형태로 서버의 해당 컴포넌트를 찾아서 실행하는 구조 ex) /banana /hello 와 같이 전체 주소를 입력하는것 ex) http://localhost:8181/JSPBasic/banana 확장자 패턴 : 확장자 형태로 서버의 해당 컴포넌트를 찾아서 실행하는 구조 ex) *.do *.board 이런식으로 확장자를 설정함 ex)join.test 혹은login.test 와 같이 마지막 확장자(*.test)를 지칭하는것 1. 서블릿에서 주소를 확장자 패턴으로 변경 2. get요청과 post요청을 하나로 모음 (doAction이라는.. jsp 2022. 12. 2. 2022_12_02 MVC2 패턴 M:model V: view C: Controller MVC2모델에선 화면에 자바코드를 보이지않게함 (JSTL)이라는 문법을 사용 Model - 데이터베이스 통신 ->DAO, VO, DTO View - html코드만 남게 만듬 Controller - 서블릿으로 만들어짐 -> 기능별로 하나의 컨트롤러로 나눠둠(주문/ 회원가입/ 예매/ 결제 등등) >요청이 들어오면 해당 기능을 수행하는 컨트롤러로 보내줌 Service - Controller와 Model의 사이에 존재하며 -> 컨트롤러를 보조하는 역할을 한다(역할 분담) -> ex) 로그인시 아이디 확인 및 비밀번호 검사 등등 jsp 2022. 12. 2. 이전 1 다음