Back-end

파일 업로드 처리 Servlet 3.0 이후(Tomcat7.0)에는 기본적으로 업로드 되는 파일을 처리할 수 있는 기능이 추가가 되었고 별도로 commons-fileupload 라이브러리 등을 사용합니다. MVN REPOSITORY에서 Apache Commons FileUpload 라이브러리 코드를 pom.xml에 추가한다. https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload/1.4 pom.xml에 코드에 commons-fileupload 라이브러리를 추가하면 Maven Dependencies에 commons 관련 jar 파일 2개가 추가되는 것을 확인할 수 있다. 라이브러리를추가한 후 파일이 임시로 업로드될 폴더를 C 드라이..
Controller의 리턴 타입 스프링 MVC의 구조가 기존의 상속과 인터페이스에서 어노테이션을 사용하는 방식으로 변한 이후에 가장 큰 변화 중 하나는 리턴 타입이 자유로워 졌다는 점입니다. String : jsp를 이용하는 경우에는 jsp 파일의 경로와 파일이름을 나타내기 위해서 사용 void : 호출하는 URL과 동일한 이름의 jsp를 의미 VO, DTO 타입 : 주로 JSON 타입의 데이터를 만들어서 반환하는 용도로 사용(추가적인 라이브러리 필요) ResponseEntity 타입 : response할 때 Http 헤더 정보와 내용을 가공하는 용도로 사용(추가적인 라이브러리 필요) Model, ModelAndView : Model로 데이터를 반환하거나 화면까지 같이 지정하는 경우에 사용(최근에는 사용..
스프링 MVC의 Controller 특징 HttpServletRequest, HttpServletResponse를거의 사용할 필요 없이 필요한 기능 구현 다양한 타입의 파라미터 처리, 다양한타입의 리턴타입 사용 가능 GET 방식, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능 @Controller, @RequestMapping 프로젝트 내 org.noel.controller 패키지 폴더에 SampleController라는이름의 클래스를 작성한다. ▶ SampleController 클래스 package org.noel.controller; import org.springframework.stereotype.Controll..
스프링 MVC는 스프링의 서브(sub) 프로젝트 입니다. https://spring.io/projects 를 보면 Spring Framework라는 메인 프로젝트 외에도 여러 종류의 서브 프로젝트가 존재하는데, 스프링 MVC 역시 이러한 프로젝트 중 일부입니다. 스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 '코어'라고 할 수 있는 프레임워크에 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되었습니다. 서브 프로젝트라는 의미를 개발자의 입장에서 가장 쉽게 이해할 수 있는 방법은 '별도의 설정이존재할 수 있다'라는 개념입니다. Spring Legacy Project로 생성한 예제의 경우에도 servlet-context.xml과 root-context.xml로 설정 파일이 ..
Mapper 인터페이스 Mapper는 쉽게 말해서 SQL과 그에 대한 처리를 지정하는 역할을 합니다. MyBatis-Spring을 이용하는 경우에는 Mapper를 XML과 인터페이스 + 어노테이션의 형태로 작성할 수 있습니다. Mappper를 작성하는 작업은 XML을 이용할 수도 있지만, 이번 예제에서는 최소한의 코드를 작성하는 Mapper 인터페이스를 사용해 보겠습니다. TimeMapper 인터페이스에는 MyBatis의 어노테이션을 이용해서 SQL을 메서드에 추가합니다. ▶ TimeMapper 인터페이스 package org.noel.mapper; import org.apache.ibatis.annotations.Select; // org.noel.mapper.TimeMapper.getTime2 -> ..
MyBatis MyBatis는 흔히 'SQL 매핑(mapping) 프레임워크'로 분류되는데, 개발자들은 JDBC 코드의 복잡하고 지루한 작업을 피하는 용도로 많이 사용합니다. https://mybatis.org/mybatis-3/ mybatis – MyBatis 3 | Introduction What is MyBatis? MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of res..
커넥션 풀 설정 일반적으로 여러 명의 사용자를 동시에 처리해아하는 웹 애플리케이션의 경우 데이터베이스 연결을 이용할 때는 '커넥션 풀(Connection Pool)'을 이용하므로, 아예 스프링에 커넥션 풀을 등록해서 사용하는 것이 좋다. Java에서는 DataSource라는 인터페이스를 통해서 커넥션 풀을 사용한다. DataSource를 통해 매번 데이터베이스와 연결하는 방식이 아닌, 미리 연결을 맺어주고 반환하는 구조를 이용하여 성능 향상을 한다. 커넥션 풀은 여러 종류가 있고, spring-jdbc 라이브러리를 이용하는 방식도 있지만, 나는 최근 유행하는 HikariCP를 이용할 것이다. GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-per..
프로젝트의 JDBC 연결 본격적인 예제를 구성하기 위해서는 반드시 JDBC 연결에 문제가 없는지 확인해야 한다. 우선 JDBC 연결을 하려면 JDBC Driver가 필요하다. 하지만 Oracle 데이터베이스의 JDBC Driver는 11g까지 공식적으로 Maven으로는 지원되지 않기 때문에 직접 jar 파일을 프로젝트에 추가하는 방법이 안전하지만 JDBC 연결이 되는지 확인만 할 것이기 때문에 Maven을 이용할 것이다. Maven Repository (https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4)에 접속해서 Ojdbc의 Maven 코드를 복사해서 pon.xml 에 내용 추가하기 com.oracle.database..
noeul.log
'Back-end' 카테고리의 글 목록 (2 Page)