목록전체 글 (249)
고래씌

1. 게시글 등록 => views/board/boardEnrollForm.jsp 파일 생성 ▶ boardEnrollForm.jsp => 사진도 보내고 해야하기 때문에 multipart 사용 => 첨부파일은 ORIGIN_NAME과 CHANGE_NAME에 컬럼에 저장할 예정 게시글 작성하기 제목 작성자 ${loginUser.userId } 첨부파일 내용 등록 취소 ▶ BoardController.java @GetMapping("/insert/{boardCode}") public String enrollBoard(@PathVariable("boardCode") String boardCode) { return "board/boardEnrollForm"; } ▶ boardListView.java => 글쓰기 버튼..

1. Intercepter 1) Application 전역에 boardType 리스트를 저장 ☞ filter가 가장먼저 받고 다음 Dispatcher가 받음 ☞ Interceptor : 디스패처서블릿에서 컨트롤러에 요청내용을 전달할 때 인터셉터가 중간에 요청을 가로챈다. 스프링의 모든 빈객체에 접근이 가능하며 일반적으로 로그인체크, 권한체크, 프로그램실행시간체크, 로그확인시 사용된다. 컨트롤러에서 디스패처서블릿을 응답시킬때도 가로챔 ▶ servelt-context.xml ▶ BoardTypeInterceptor => common 폴더아래 interceptor 폴더 생성후, BoardTypeInterceptor 클래스 파일 생성 => HandlerInterceptor 안에 있는 preHandle 함수를 오..

1. 게시판 검색기능 => paramMap에 condition이랑 keyword, boardCode 가 다 담긴다! 그래서 별도로 BoardController에 추가하지 않아도 된다. => 검색창에 작성자로 설정해놓고 "ddd"라는 값을 입력했을 때 log에 값이 담긴 것을 확인할 수 있다. => 그래서 바로 board-mapper.xml로 가서 코드 수정만 하면된다! ▶ board-mapper.xml => 페이징과 게시글 목록을 불러오는 코드를 모두 다음과 같이 수정함 SELECT COUNT(*) FROM BOARD B LEFT JOIN MEMBER M ON (BOARD_WRITER = USER_NO) WHERE B.STATUS = 'Y' AND BOARD_CD= #{boardCode} AND BOAR..

1. 게시판 목록 ▶ boardListView.jsp 일반게시판 글쓰기 글번호 제목 작성자 조회수 작성일 게시글이 없습니다. Previous 1 2 3 4 5 6 7 8 9 10 Next 작성자 제목 내용 제목+내용 검색 => 다음과 같이 폴더 및 파일 생성(BoardDao, BoardService는 interface 파일임) ▶ Board.java package com.kh.spring.board.model.vo; import java.sql.Date; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor // 기본생성자 @AllArgsConstructor @Data ..

1. 아이디 중복검사 ▶ memberErollForm.jsp => 아이디 중복체크를 위해 idCheck() 함수를 이용할 것! => 밑에 script 에 다음과 같이 추가 회원가입 * ID 아이디중복체크 * PWD * NAME EMAIL BIRTHDAY GENDER 남 여 PHONE ADDRESS 초기화 회원가입 ▶ MemberController.java ☞ 비동기방법으로 보낼때는 항상 문자열 데이터만 전달할 수 있다!! ☞ @ResponseBody => 이게 있어야지 순수한 값자체가 반환이 된다! (비동기 요청시 필요! 라이브러리 없이 사용한다면 필수로 추가해야함) 컨트롤러에서 반환되는 값은 forward 혹은 redirect를 위한 경로로 해석을 한다. 즉, 반환되는 문자열값은 "경로"로써 인식을 함..

1. Spring 예외처리 1) 메소드 예외처리(try-catch / throws) → 1순위로 적용됨 2) 하나의 컨트롤러에서 발생하는 예외를 모아서 처리하는 방법 → 2순위로 적용 => 메소드에 작성 @ExceptionHandler 3) 애플리케이션 전역에서 발생하는 예외를 모아서 처리하는 방법 → 3순위로 적용. 중복으로도 적용 => 클래스로 작성 @ControllerAdvice 2번째 방법) 하나의 컨트롤러에서 발생하는 예외를 모아서 처리하는 방법 ▶ MemberController.java @ExceptionHandler public String exceptionHandler(Exception e, Model model) { e.printStackTrace(); model.addAttribute(..

1. 마이페이지 수정하기 ▶ myPage.jsp 내정보 수정 * ID * PWD * NAME EMAIL BIRTHDAY GENDER 남 여 PHONE ADDRESS 초기화 수정 ▶ MemberController.java => 먼저 마이페이지로 보내줌. Get 방식 @GetMapping("/myPage.me") public String myPage() { return "member/myPage"; } => 내정보 수정기능 수정 성공시 → myPage로 url 재요청 실패시 → 에러페이저로 Post 방식 @PostMapping("/update.me") public String updateMember(Member m, Model model, HttpSession session, RedirectAttribute..

1. 회원가입 - WEB-INF/views/member 폴더 아래에 memmberErollForm.jsp 추가 ▶ memberErollForm.jsp 회원가입 * ID 아이디중복체크 * PWD * NAME EMAIL BIRTHDAY GENDER 남 여 PHONE ADDRESS 초기화 회원가입 ▶ MemberController.java => get 방식 @GetMapping("/insert.me") public String memberEroll(HttpSession session) { return "member/memberErollForm"; } => (WEB-INF/views)member폴더 안에 있는 memberErollForm으로 서블렛 보냄 => post방식 => Member m을 넣으면 알아서 s..

1. 로그인 페이지 => member 폴더 ▶ Member.java package com.kh.spring.member.model.vo; import java.sql.Date; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @Builder @Data public class Member { private int userNo; private String userId; private String userPwd; private String userName; private String birthd..

1. header, footer 만들기 => WEB-INF폴더 아래에 views 폴더 생성하고 그 안에 board, chat, common, member, main.jsp 생성 ▶ HomeController.java package com.kh.spring; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class HomeController { @RequestMapping(value = "/", method =..