본문 바로가기

분류 전체보기

(197)
404 NOT_FOUND 처리하기 스프링 MVC의 모든 요청은 DispatcherServlet을 통해 처리되므로 404 에러도 같이 처리할 수 있도록 해야한다. 1. web.xml 설정 추가 appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml throwExceptionIfNoHandlerFound true 1 2. Controller @ControllerAdvice 해당 객체가 스프링의 컨트롤러에서 발생하는 예외를 처리하는 존재임을 명시 @ExceptionHandler 해당 메서드가 ()에 들어가는 예외 타입을 처리한다는 것을 의미 즉, NoHandlerFou..
파일 업로드 처리 : MultipartResolver 첨부파일을 서버에 전송하는 방식 중에 여러 가지가 있지만 그 중에서 서블릿 3.0 이상에서는 자체적인 파일 업로드 처리가 API 상에서 지원된다. 이 방법을 통해 파일 업로드를 처리해보자. 1. 임시로 업로드될 폴더 경로 만들기 /Users/dabin/upload/tmp 2. pom.xml에 라이브러리 수정 및 추가 1.8 5.0.7.RELEASE 1.9.0 1.7.25 javax.servlet javax.servlet-api 3.1.0 provided 3. web.xml 설정 Tomcat이 관여하는 첨부파일의 처리에 대한 설정을 한다. 서블릿 3.1 버전으로 web.xml 파일의 헤더 부분의 변경이 필요하다. 파일 업로드를 위해 설정도 추가해준다. appServlet org.springframework..
Model 객체 / @ModelAttribute Controller의 메서드를 작성할 때 Model이라는 타입을 파라미터로 지정할 수 있다. Model 객체는 JSP에 컨트롤러에서 생성된 데이터를 담아서 전달하는 역할을 한다. 메서드의 파라미터에 Model 타입이 지정된 경우에는 스프링이 알아서 Model 객체를 만들어준다. @ModelAttribute 어노테이션에 대해 알아보자. 스프링 MVC Controller는 기본적으로 자바 빈 규칙에 맞는 객체는 다시 화면으로 객체를 전달한다. 자바 빈 규칙이란 생성자가 없거나 빈 생성자를 가져야하며 setter/getter를 가진 클래스의 객체를 말한다. 아무튼, 자바 빈 규칙에 의해 생성된 객체는 전달될 때 클래스명의 앞글자가 소문자로 처리되어 화면까지 전달된다. @GetMapping("/ex04") pu..
@RequestParam 어노테이션 @RequestParam 어노테이션은 파라미터로 사용된 변수의 이름과 전달되는 파라미터의 이름이 다른 경우에 쓰이는 어노테이션이다. 보통 이와 같이 파라미터와 동일한 이름을 사용하지만 @GetMapping("/ex02") public String ex02(String name, int age) { log.info("name: " + name); log.info("age: " + age); return "ex02"; } 이렇게 파라미터명을 다르게 처리하고 싶을 때, @RequestParam 어노테이션을 사용한다. 주소창에서 /sample/ex02?n=dblee&age=25 와 같이 입력해야 정상적으로 처리된다. @GetMapping("/ex02") public String ex02(@RequestParam..
스프링 MVC의 기본 구조 및 흐름 프로젝트 구동 시 관여하는 XML 파일에는 여러 가지가 있다. web.xml Tomcat 구동과 관련된 설정으로 프로젝트 구동은 여기서부터 시작한다. contextConfigLocation /WEB-INF/spring/root-context.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 appServlet / root-context.xml 그 다음 동작하는 스프링과 관련된 설정 파일로 빈 등록 및 의존 주입이 이루어..
MyBatis 설정 MyBatis는 'SQL 매핑 프레임워크' 중 하나이다. JDBC 연결 방식에 비해 더욱 빠르고 간편해서 스프링 프레임워크와 연동하여 사용해보자. 다음은 스프링에서의 MyBatis 설정 방법이다. 1. pom.xml에 라이브러리 추가 org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-tx ${org.springframework-version} org.springframework spring-jdbc ${org.springframework-version} 2. root-context.xml에 빈 등록 및 의존 주입 SQLSession Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴..
커넥션 풀 - HikariCP 자바에서는 DataSource라는 인터페이스를 통해 커넥션 풀을 사용한다. 이러한 커넥션 풀에는 다양한 종류가 있다. DBCP / C3P0 그리고 최근 뜨고 있는 HikariCP 등 HikariCP 설정 방법에 대해 알아보자. 1. pom.xml에 라이브러리 추가 com.zaxxer HikariCP 2.7.4 2. root-context.xml에 빈 등록 및 의존 주입
오라클 포트번호 변경하는 방법 오라클 11g는 기본적으로 8080 포트 번호를 가지고 있다. Tomcat과 겹치기 때문에 포트 번호를 변경해줘야한다. 일단, SYS 계정으로 접속한 후, 다음 명령어를 실행한다. // 포트 번호 확인 select dbms_xdb.gethttpport() from dual; // 포트 번호 변경 exec dbms_xdb.sethttpport(변경할 포트 번호);