servlet(7)
-
[모델2] Multipart를 이용한 단일 파일 업로드 구현하기 (게시판 구현)
Multipart를 이용해 단일 파일 업로드(Single File Upload)를 구현해보자 서블릿 3.0 스펙부터 파일 업로드(upload) 기능을 지원한다. web.xml을 열어 파일을 업로드할 디렉토리의 경로를 컨텍스트 파라미터로 설정해준다. D드라이브 아래에 upload 폴더와 temp 폴더를 미리 만들어두자.1234 saveDirectory D:\upload\Colored by Color Scriptercs 서블릿이 multipart를 인식하기 위해서 multipart-config를 설정해준다. 서블릿 3.0부터는 web.xml 없는 개발 및 배포가 가능하므로 @MultipartConfig 어노테이션으로 fileSizeThreshold, location, maxFileSize, maxReques..
2017.05.01 -
[Spring] MyBatis 사용하기, 댓글 쓰기 구현하기 (게시판 구현)
스프링 MVC 구조로 MyBatis를 사용하여 댓글 쓰기를 구현해보자 기존에 Ajax를 이용한 댓글 쓰기 구현하기에서 모델2 구조로 구현했던 댓글 쓰기 기능을 MVC 구조로 MyBatis(이하 마이바티스)를 사용하여 구현해보자. 비동기 통신 Ajax와 데이터포맷인 Json은 기존 글을 참고하거나 검색해보도록 한다. 프로젝트 구조는 아래와 같이 진행되며 Comment 서블릿의 설정 파일인 comment-context.xml, 마이바티스 설정 파일인 mybatisConfig.xml, 쿼리를 작성할 Mapper XML 파일인 comment.xml, 그리고 com.edu.comment 패키지 아래에 컨트롤러, 서비스, DAO의 위치를 확인하자. 기존의 프로젝트에서는 *.bbs에 대한 요청을 받는 Dispatch..
2017.04.24 -
[Spring] Overview of Spring MVC Architecture
스프링 MVC 구조에 대해 간략히 알아보자 아래는 이전에 모델2 구조로 구현했던 게시판(BBS)을 스프링 MVC구조(Model-View-Controller Architecture)로 재구현한 프로젝트의 구조를 볼 수 있다. 먼저 /WEB-INF/web.xml을 살펴보자. 기존의 프로젝트에서는 클라이언트의 요청(GET, POST)을 받았을 때 init()메서드로 properties파일을 읽고, **Impl클래스들의 인스턴스들을 생성한다. 그리고 요청을 처리할 인스턴스의 메서드를 실행시켜 return값(/*.jsp)을 얻어 RequestDispatcher클래스의 메서드를 통해 클라이언트에게 요청에 대한 화면을 출력해주게 된다(BBSServlet.java 참고). 스프링에서는 기존 프로젝트에서 개발자가 작성한..
2017.04.18 -
[Web] 글쓰기 화면 만들기 (게시판 구현)
브라우저로 글쓰기 화면을 출력하고, 게시글을 DB에 삽입해보자 먼저 모델 2 구조로 게시판을 구현하고, 구현이 대부분 끝난 시점부터 스프링 프레임워크로 넘어가면서 다시 게시판을 구현하도록 한다. 글쓰기 화면에서 글을 쓰고 저장하는 기능을 구현해보자. 일단 프로젝트가 어떤 구조로 진행될지 미리 확인해보자. 싱글톤 패턴을 이용하여 데이터베이스 접근하기에서 만들었던 BBS테이블, 시퀀스와 BBSDto클래스, OracleDBConnector클래스, BBSOracleDao클래스를 그대로 사용하도록 한다. 단 OracleDBConnector클래스의 getConnection()메서드에 주석 처리해둔 core.log를 사용하여 쿼리문과 결과를 콘솔에 찍도록 한다. core.log를 사용하기 위해서는 http://log..
2017.04.05 -
[Web] 서블릿 생성하기(애노테이션)
애노테이션(annotation)을 작성하여 서블릿을 실행해보자 서블릿 배치 정보를 web.xml에서 작성할 수도 있고, 애노테이션으로 작성할 수도 있다. 서블릿 클래스명을 기입하고 'Next'버튼을 눌러준다. BBSServlet라는 클래스가 존재하므로 BBSServletAnnotation라고 기입하였다. Initialization paramters는 web.xml에서 의 자식인 엘리먼트를 작성하는 것과 동일하다. 지금은 bbsProperties를 사용하지 않기 때문에 제거해도 괜찮다. URL mappings는 web.xml에서 엘리먼트를 작성하는 것과 동일하다. 인터페이스를 상속받거나 오버라이딩할 메서드들을 선택하는 화면이다. BBSSerlvet클래스에서와 같이 doGet, doPost, init메서드를..
2017.03.24 -
[Web] 서블릿 생성하기(web.xml)
서블릿 클래스를 작성하고, 클라이언트 Request를 처리해보자 브라우저에 'Hello world!'를 출력했을 때부터 시작해보기로 한다. 우선 Java Resources/src에 com.edu.bbs란 패키지를 생성하고, BBSServlet클래스를 만들어보자. BBSServlet클래스는 HttpServlet클래스를 상속받게 한다. HttpServlet클래스는 Java EE 7 API 문서에서 확인할 수 있다. Servlet은 웹 컨테이너(대표적으로 Tomcat, 서블릿 컨테이너라고도 부른다)에 의해 실행, 관리된다. BBSServlet클래스에서 alt+shift+s를 눌러 Override/Implement Methods를 선택한다. 부모클래스인 HttpServlet클래스의 doGet, doPost메서드..
2017.03.22