3. Back-end/3-1. Spring MVC - 국비
SpringMVC - [ 컨트롤러에서 예외 처리 ( @ControllerAdivce ) ]
컨트롤러 담은 패키지에 CommonExceptionAdvice 클래스 생성 여기서 모든 예외처리 할 것!! @ControllerAdvice는 컨트롤러에서 발생하는 모든 예외를 처리하는 객체를 의미. 예외 처리할 클래스 위에 애노테이션을 달아준다. 처리할 예외를 아래 사진처럼 메서드로 만들어준다. @ExceptionHandler(Exception.class) 는 Exception 클래스를 다루는 동작을 의미한다. NullPointerException을 다룰땐 @ExceptionHandler(NullPointerException.class) 와 같이 애노테이션을 달아주면 된다. 여기서 return 자리에 예외 발생시 이동할 페이지를 적어주면 된다. 예외 처리를 했으면 컨트롤러의 메서드들에 throws Exc..
![SpringMVC - [ 컨트롤러에서 예외 처리 ( @ControllerAdivce ) ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxyCVv%2FbtrFuo7NjoV%2F7IingTSWvlZbMjz6G5GE51%2Fimg.png)
Spring MVC - [ tomcat 실행 주소 경로 변경 ]
서버 더블클릭 왼쪽 아래에서 Modules 탭 -> 선택 후 오른쪽에 Edit 클릭 Path를 변경해주면 끝! 나는 프로젝트를 하나만 사용중이라 그냥 루트( / ) 로 변경했다.
![Spring MVC - [ tomcat 실행 주소 경로 변경 ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbttg7H%2FbtrExYp6JPK%2FhrsZLlaHdAosAZdCeW4Kz0%2Fimg.png)
Spring MVC - [ 컨트롤러 주소 매핑 / 파라메터 전달 / 페이지 이동 ]
1. 컨트롤러 주소 매핑 @RequestMapping("주소") 을 통해 메서드를 컨트롤러와 연결시킬 수 있음 -> 특정 URI의 특정 메서드를 연결 (모델2에서 if(commans.eqaul("주소")) 와 같은 의미) 아래와 같이 매핑시키면. http://localhost:8088/web/doA2 주소를 실행했을 때 doA2로 매핑된 메서드가 호출 후/ 뷰를 알아서 매핑해줌 (메서드 이름과 매핑한 주소는 달라도 상관 없음.) 메서드의 리턴타입이 void일 때는 해당주소.jsp (RequestMapping에 사용한 주소이름) 페이지 호출 String을 리턴하면 리턴한 값의 주소를 찾음. 즉 아래와 같은 상황이면 itwill.jsp 파일을 찾음 모델2에서는 get,post 방식 구분이 어려워서 컨트롤러에..
![Spring MVC - [ 컨트롤러 주소 매핑 / 파라메터 전달 / 페이지 이동 ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeLaSJ%2FbtrExGpKGn7%2FggKKiwZNBmMDKGrccpOIj0%2Fimg.png)
SpringMVC - [ log 생성 단축키 / 로그 남기기 ]
log 생성 단축키 Window -> preference Java -> Editor -> Templates 이동 New 클릭 - Name : mylog - Description : new Logger - Pattern : ${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)} private static final Logger log = LoggerFactory.getLogger(${enclosing_type}.class); 로그 남기기 log4j.xml 파일에서 Application Loggers 부분에 아래처럼 로그 남길 패키지 추가
![SpringMVC - [ log 생성 단축키 / 로그 남기기 ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUPQig%2FbtrECAIBWFG%2FaQzwRSC7A17glWByOLIELK%2Fimg.png)
Spring MVC - [ 외부 라이브러리 연결 ]
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.28 MySQL Connector를 프로젝트에 연결해보자! 여기서 아래쪽에 Maven 탭의 내용을 클릭하면 알아서 복사된다. pom.xml 파일 - > dependencies 태그 안에 사진처럼 추가하면 끝!
![Spring MVC - [ 외부 라이브러리 연결 ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9WZdq%2FbtrEdAaVhM3%2Fsmkulkq0cY31ACl1POgorK%2Fimg.png)
Spring MVC - [ 한글 처리 ]
web.xml 파일 아래 코드 추가 encoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encoding /*
![Spring MVC - [ 한글 처리 ]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkQQ1V%2FbtrEdSYlK4z%2Fqh9jkCZcHBuyDkuLmCT5Vk%2Fimg.png)