일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NestedFor
- 인터페이스
- 컬렉션프레임워크
- cursor문
- 환경설정
- 예외미루기
- exception
- Java
- 한국건설관리시스템
- 메소드오버로딩
- 자바
- oracle
- 예외처리
- 생성자오버로드
- 자동차수리시스템
- 참조형변수
- 집합_SET
- EnhancedFor
- 대덕인재개발원
- 정수형타입
- 컬렉션 타입
- 객체 비교
- 사용자예외클래스생성
- 제네릭
- abstract
- GRANT VIEW
- 다형성
- 어윈 사용법
- 추상메서드
- 오라클
- Today
- Total
목록Java (116)
거니의 velog
6. 글상세창 구현하기 * 이번에는 글상세창으로 표시하는 기능을 구현해 보자. 1. 매퍼 파일 board.xml에 전달된 글 번호에 대해 글 정보를 조회하는 SQL문을 추가한다. 2. 글상세창(viewArticle.jsp)을 나타낼 타일즈 기능을 설정한다. [tiles_board.xml] 3. 첨부 파일을 표시할 파일 다운로드 컨트롤러인 FileDownloadController를 common/file 패키지에 구현한다. 4. 이전의 FileDownloadController 클래스를 복사해 붙여 넣은 후 다음과 같이 수정한다. package com.myspring.pro30.common.file; import java.io.File; import java.io.FileInputStream; import j..
4. 게시판 목록 표시하기 * 게시판 글목록창은 이전에 이미 실습해 봤다. 이번에는 스프링에서 마이바티스와 타일즈를 이용해 게시판 글목록창을 나타내 보자. (1) 자바 클래스 구현하기 1. 먼저 src/main/java 패키지 하위에 board 패키지를 만든 후 아래 그림처럼 패키지를 구성한다. 그리고 JSP는 이전에 실습한 게시판 관련 JSP 파일을 재사용할 것이므로 프로젝트 pro17의 board07 폴더에 있는 JSP 파일을 모두 복사해 views/board 폴더에 붙여 넣는다. 2. 컨트롤러 클래스인 BoardControllerImpl를 다음과 같이 작성한다. 브라우저에서 요청하면 모든 글 정보를 조회한 후 ModelAndView 객체에 바인딩하여 JSP로 전달한다. @Controller("boa..
* 일반적인 웹 애플리케이션은 여러 기능들이 합쳐져 만들어진다. 즉, 개발자들이 기능들을 각각 구현한 다음 이를 합쳐서 하나의 웹 애플리케이션을 만드는 것이다. 우리는 지금까지 회원 관리 기능을 구현하면서 스프링 기능을 익혔다. 이번에는 이제까지 구현한 회원 관리 기능에 답변형 게시판 기능을 추가해 보자. 이를 통해 일반적인 웹 애플리케이션 구현 과정에 한 발 더 다가갈 수 있을 것이다. 1. 기존 소스 코드 변경하기 * 새 프로젝트 pro30을 만든 후 이전에 만든 회원 기능 소스 코드를 복사해 수정하는 방식으로 실습을 진행해 보자. 1. pro30의 pom.xml에 타일즈와 마이바티스 관련 라이브러리를 추가한다. 4.0.0 com.myspring pro30 pro30 war 1.0.0-BUILD-SN..
3. @PathVariable 사용하기 * @PathVariable을 사용하면 브라우저에서 요청 URL로 전달된 매개변수를 가져올 수 있다. [TestController.java] @RestController @RequestMapping("/test/*") public class TestController { @RequestMapping(value = "/notice/{num}", method = RequestMethod.GET) // 브라우저에서 요청 시 {num} 부분의 값이 @PathVariable로 지정된다. public int notice(@PathVariable("num") int num) throws Exception { // 요청 URL 에서 지정된 값이 num에 자동으로 할당된다. ret..
* 스프링을 사용하는 웹 애플리케이션이 브라우저에 응답하는 방식은 주로 웹 페이지였다. 그러나 최근 모바일 기기가 등장하면서 다른 데이터 방식으로 연동하는 일이 잦아졌다. 이번에는 스프링에서 다양한 기기들과 연동하는 방식을 알아보자. 1. REST란? * 지금은 PC뿐만 아니라 스마트폰, 태블릿, 스마트 TV 등에서도 인터넷 기반으로 웹 애플리케이션을 실행하여 기능을 제공한다. PC에서는 네트워크 전송 속도나 메모리 들이 풍부하므로 지금까지 실습한 대로 브라우저에서 요청 시 화면 정보(HTML, CSS, 자바스크립트 등)도 일일이 다시 전송해서 표시해도 아무 문제가 없었다. 그러나 스마트폰 같은 모바일 기기는 다르게 동작하는 경우가 많다. * 아래 그림은 모바일 기기에서 상품을 조회한 후 나타나는 최초의..
5. 스프링 인터셉터 사용하기 * 이번에는 스프링에서 제공하는 기능인 인터셉터(Interceptor)에 대해 알아보자. 인터셉터를 사용하면 브라우저 요청이 있을 때 요청 메서드 호출 전후에 개발자가 원하는 기능을 수행할 수 있다. * 무슨 말인지 다음 그림을 보자. * 위 그림과 같이 브라우저의 요청을 해당 컨트롤러의 메서드가 처리하기 전후에 인터셉터를 두어 특정 작업을 수행한다. 인터셉터는 필터와 비슷한 기능을 하지만 필터는 웹 애플리케이션의 특정한 위치에서만 동작하는 데 반해 인터셉터는 좀 더 자유롭게 위치를 변경해서 기능을 수행할 수 있다. 즉, 인터셉터는 애플리케이션 안에서 적용 범위를 설정할 수 있다. 주로 쿠키(cookie) 제어, 파일 업로드 작업 등에 사용한다. * 다음 표는 스프링에서 인..
3. 스프링 이메일 사용하기 * 스프링에서는 이메일 기능도 설정만으로 쉽게 구현할 수 있다. 우리는 구글에서 제공하는 SMTP 서버를 이용해 메일을 보낼 것이므로 www.google.com 으로 접속하여 구글 메일 계정을 미리 만들어 놓아야 한다. 1. 이메일 기능 설정을 위한 XML 파일들을 준비한다. 2. pom.xml 파일을 다음과 같이 작성한다. 이메일 기능을 사용하기 위해 코어 스프링 라이브러리 버전을 4.1.1.RELEASE로 변경한 후 관련 라이브러리를 추가한다. 4.0.0 com.myspring pro28 pro28 war 1.0.0-BUILD-SNAPSHOT 1.6 4.1.1.RELEASE 1.6.10 1.6.6 ... org.springframework spring-context-sup..
* 스프링 프레임워크는 오픈 소스이기 때문에 상당히 많은 기능을 지원한다. 이번에는 여러 오픈 소스 라이브러리를 사용해 다중 파일 업로드, 썸네일 이미지, 이메일, 인터셉터 등 여러 가지 기능을 구현해 보자. 1. 다중 파일 업로드하기 * 스프링의 CommonsMultipartResolver 클래스를 이용하면 여러 개의 파일을 한꺼번에 업로드할 수 있다. 다음 표에 CommonsMultipartResolver 클래스의 여러 가지 속성을 정리했다. 속성 설명 maxUploadSize 최대로 업로드가 가능한 파일의 크기를 설정한다. maxInMemorySize 디스크에 임시 파일을 생성하기 전 메모리에 보관할 수 있는 최대 바이트 크기를 설정한..
11. JSP에 회원 목록창 나타내기 * 이제 타일즈를 이용해 페이지 본문에 회원 목록창이 나타나도록 구현해 보자. 1. 먼저 tiles_member.xml에 /member/listMember.do로 요청했을 때 표시할 태그를 추가한다. name의 값은 URL 요청명에서 .do를 제외한 요청명과 일치해야 한다. 2. 브라우저에서 컨트롤러 요청 시 요청명에 대해 뷰이름을 가져온다. 그리고 다시 ModelAndView 객체에 설정한 후 뷰리졸버로 반환한다. [MemberControllerImpl.java] @Controller("memberController") public class MemberControllerImpl implements MemberController { // LoggerFactory 클..
9. 타일즈란? * 일반적으로 JSP는 모든 화면 기능을 일일이 구현하는 것이 아니라 다음 그림처럼 전체 화면 틀을 일정하게 만들어 놓고 본문 부분만 변경해서 사용한다. * 그러면 상세 화면에서 화면 상단은 변하지 않고 본문의 내용만 변경된다. * 일반적인 웹 애플리케이션 화면 구조는 상단 부분이나 왼쪽 메뉴 그리고 하단 부분을 담당하는 페이지를 따로 만들어 놓고 브라우저에서 웹 페이지를 요청하면 본문 화면만 추가하여 보여준다. 이러한 화면 레이아웃 기능을 제공하는 것이 바로 타일즈(tiles) 기능이다. * 타일즈는 화면의 레이아웃을 쉽게 구현하기 위해 도입된, JSP 페이지 레이아웃을 위한 프레임워크이다. 스프링이나 스트러츠에서도 제공하지만 독립적으로 타일즈 기능을 사용할 수도 있다. * 타일즈를 사..