- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
목록servlet (7)
Bigfat
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..
스프링 MVC 구조로 MyBatis를 사용하여 댓글 쓰기를 구현해보자 기존에 Ajax를 이용한 댓글 쓰기 구현하기에서 모델2 구조로 구현했던 댓글 쓰기 기능을 MVC 구조로 MyBatis(이하 마이바티스)를 사용하여 구현해보자. 비동기 통신 Ajax와 데이터포맷인 Json은 기존 글을 참고하거나 검색해보도록 한다. 프로젝트 구조는 아래와 같이 진행되며 Comment 서블릿의 설정 파일인 comment-context.xml, 마이바티스 설정 파일인 mybatisConfig.xml, 쿼리를 작성할 Mapper XML 파일인 comment.xml, 그리고 com.edu.comment 패키지 아래에 컨트롤러, 서비스, DAO의 위치를 확인하자. 기존의 프로젝트에서는 *.bbs에 대한 요청을 받는 Dispatch..
스프링 MVC 구조에 대해 간략히 알아보자 아래는 이전에 모델2 구조로 구현했던 게시판(BBS)을 스프링 MVC구조(Model-View-Controller Architecture)로 재구현한 프로젝트의 구조를 볼 수 있다. 먼저 /WEB-INF/web.xml을 살펴보자. 기존의 프로젝트에서는 클라이언트의 요청(GET, POST)을 받았을 때 init()메서드로 properties파일을 읽고, **Impl클래스들의 인스턴스들을 생성한다. 그리고 요청을 처리할 인스턴스의 메서드를 실행시켜 return값(/*.jsp)을 얻어 RequestDispatcher클래스의 메서드를 통해 클라이언트에게 요청에 대한 화면을 출력해주게 된다(BBSServlet.java 참고). 스프링에서는 기존 프로젝트에서 개발자가 작성한..
브라우저로 글쓰기 화면을 출력하고, 게시글을 DB에 삽입해보자 먼저 모델 2 구조로 게시판을 구현하고, 구현이 대부분 끝난 시점부터 스프링 프레임워크로 넘어가면서 다시 게시판을 구현하도록 한다. 글쓰기 화면에서 글을 쓰고 저장하는 기능을 구현해보자. 일단 프로젝트가 어떤 구조로 진행될지 미리 확인해보자. 싱글톤 패턴을 이용하여 데이터베이스 접근하기에서 만들었던 BBS테이블, 시퀀스와 BBSDto클래스, OracleDBConnector클래스, BBSOracleDao클래스를 그대로 사용하도록 한다. 단 OracleDBConnector클래스의 getConnection()메서드에 주석 처리해둔 core.log를 사용하여 쿼리문과 결과를 콘솔에 찍도록 한다. core.log를 사용하기 위해서는 http://log..
애노테이션(annotation)을 작성하여 서블릿을 실행해보자 서블릿 배치 정보를 web.xml에서 작성할 수도 있고, 애노테이션으로 작성할 수도 있다. 서블릿 클래스명을 기입하고 'Next'버튼을 눌러준다. BBSServlet라는 클래스가 존재하므로 BBSServletAnnotation라고 기입하였다. Initialization paramters는 web.xml에서 의 자식인 엘리먼트를 작성하는 것과 동일하다. 지금은 bbsProperties를 사용하지 않기 때문에 제거해도 괜찮다. URL mappings는 web.xml에서 엘리먼트를 작성하는 것과 동일하다. 인터페이스를 상속받거나 오버라이딩할 메서드들을 선택하는 화면이다. BBSSerlvet클래스에서와 같이 doGet, doPost, init메서드를..
서블릿 클래스를 작성하고, 클라이언트 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메서드..
톰캣이 웹 애플리케이션을 실행하는 순서를 알아보자 이전에 웹 프로젝트와 서버를 생성하였고, 서버를 실행하여 간단한 결과를 확인해봤다. 이번에는 톰캣(WAS, Web Application Server, 확실히는 톰캣은 웹 컨테이너 또는 서블릿 컨테이너다)이 어떻게 프로젝트를 읽어들이고 서버에 올려 실행시키는지 알아보자. 1. 톰캣 서버가 실행되면 서버는 server.xml을 읽는다. Servers > Server name > server.xml server.xml을 열어보면 가장 하단부에 Context 엘리먼트에 docBase, path와 source에 프로젝트명이 적혀져 있는 것을 볼 수 있다. WAS는 웹 애플리케이션을 Context로 인식한다. 서버는 server.xml을 읽어 서비스해줘야할 프로젝트..