2024/05 25

[5회차 05] Filter - 페이지 접근 처리

페이지 접근 관리IndexController현재 로그인을 해야 main을 갈 수 있게 하도록 하겠습니다@RequestMapping("/mainPage.do")public String mainPage() { return "main";}IndexController에 간단하네 mainPage를 가는 메서드를 만들어 줍니다현재는 mainPage.do를 하면 바로 main페이지가 보이는데요 이걸 로그인을 안하면 접속을 못하게 바꾸어 보겠습니다로그인 여부는 어떻게 알까요?로그인을 하면 session이 생기기에 session을 활용해 로그인 여부를 체그해줍니다@RequestMapping("/mainPage.do")public String mainPage(HttpServletRequest request) { ..

[5회차 04] Enum - 메시지 처리

메시지 처리프론트에 메시지를 직접전달하면 너무 많은 데이터를 많이 사용하게됩니다.(한글 한글자 = 2바이트, 1바이트 = 8비트)통신을 할때 가장 중요한것은 쓸데없는 데이터를 최소화 하는 것입니다이걸 해결하기 위해 공통으로 사용하는 코드를 만들어 사용합니다 (ex. 0000:성공, 9999:알수 없는 에러)이렇게 숫자 4개만 보내면 프론트에서 이 숫자 4개만 찾아서 보여주면 됩니다Rest에서는 보통 이렇게 사용하지만 Legacy에서는 그게 잘 안되기에 흉내만 한번 내서 사용해 보겠습니다enum : 태생이 싱글톤MessageEnum.java생성com.portfolio.www.message 패키지를 만들고 Enum으로 MessageEnum.java파일을 생성합니다public enum MessageEnum {..

[5회차 03] 로그인 - 예외처리

예외처리먼저 현재 회원가입되지 않은 값을 넣어 로그인해보면이처럼 500에러가 발생하고콘솔창에는 기대값은 1인데 아무것도 안나와 0이기에 EmptyResultDataAccessException이 발생하였습니다 (null값을 주지 않음)하지만 사용자에게는 절대 이러한 에러 페이지를 보여주면 안되기에 예외처리를 해보겠습니다 Tip 예외 코드를 보면 아래서부터 실행되는 것입니다 thread가 생성 -> javax.servlet 이 받고 springframework가 servlet을 땡겨와 dispatcher servlet -> RequestMapping -> 실행시켜 찾아온 곳이 우리가 작성한 패키지의 클래스와 메서드가 나오며 그중 제일 위에 끝난부분이 에러가 발생한 곳으로 우리가 수정할 수 있는 부분이 나옵..

[5회차 02] 로그아웃

로그 아웃main.jsp그리고 LoginController에서 setViewName을 main으로 하였으니 views폴더 안에 main.jsp를 생성해 줍니다 memberId = 그러고 위 코드처럼 로그인하면 memberId값이 나오게 해주고 로그인 버튼을 만들어줍니다로그아웃을 누르면 logout.do로 갑니다그러면 이제 LoginController에 logout.do를 만들러 가야겠죠?LoginController위에 말한 logout.do를 맵핑해주고 로그아웃을 했으면 세션값을 없애도록 추가해줍니다@RequestMapping("/logout.do")public ModelAndView logout(HttpServletRequest request) { ModelAndView mv = n..