Java(39)
-
[Spring] 스프링이 지원하는 iBATIS 사용하기 (게시판 구현)
스프링 프레임워크가 지원하는 iBATIS를 사용해보자 iBATIS(이하 iBatis, 아이바티스)는 SQL에 기반한 데이터베이스와 자바, 닷넷(.NET), 루비(Ruby) 등을 연결시켜주는 역할을 하는 영속성 프레임워크(Persistence Framework)이다. 이러한 연결은 프로그램의 소스코드에서 SQL 문장을 분리하여 별도의 XML 파일로 저장하고, 이 둘을 서로 연결시켜주는 방식으로 작동한다. iBatis는 사용자가 SQL 문장을 만들면 그에 적합한 객체모델을 생성하는 방식으로 작동한다(참고1). iBatis 설정 파일(sqlMapConfig.xml)과 Mapper 파일(bbs.xml)의 위치를 확인하기 위해 전체적인 프로젝트 구조를 먼저 살펴본다. iBatis는 스프링4에서 더이상 지원하지 않..
2017.04.19 -
[Spring] 스프링이 지원하는 JdbcTemplate 사용하기 (게시판 구현)
스프링 프레임워크가 지원하는 JdbcTemplate을 사용해보자 스프링이 제공하는 JdbcTemplate은 데이터베이스 접근 정보를 클래스에 담지 않는다. 그러므로 더이상 기존 프로젝트의 OracleDBConnector클래스는 필요가 없으며, **DaoImpl클래스에서 메서드마다 커넥션을 얻지 않아도 된다. 스프링은 이러한 **Template클래스와 같이 다양한 API를 제공하는데, 이를 PSA(Portable Service Abstractions, 쉬운 서비스 추상화) 기술이라고 한다(참고1). 우선 pom.xml에 아래와 같이 spring-jdbc에 대한 의존성을 추가한다. 이때 주의할 점은 스프링에 관련된 jar파일들의 버전은 항상 일치해야 한다. 그렇지 않으면 에러가 발생하니 유의하도록 하자. 아..
2017.04.18 -
[Spring] 스프링 MVC 구조로 게시판 구현하기 (댓글 제외)
기존의 게시판 프로젝트를 스프링 MVC 구조로 구현해보자 먼저 프로젝트가 어떤 구조로 진행될 지 확인하자. /WEB-INF/web.xml에 아래와 같은 설정을 추가해줬다. URL을 루트로, 즉 http://localhost/bbs/로 접근하였을 때 login.jsp화면을 출력해주기 위해 를, UTF-8 인코딩을 위한 를, 에러 페이지를 처리하기 위한 를 추가해준 코드다. 컨트롤러에서 request를 받아서 setCharacterEncoding메서드로 변경해줘도 안되는 이유는 아직 모르겠다..1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465..
2017.04.18 -
[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 -
[Spring] 스프링 프로젝트 생성 및 웹 애플리케이션 실행하기
스프링 MVC 프로젝트 생성하고 웹 페이지를 띄워보자 스프링 프레임워크 공식사이트(https://spring.io/)에서 STS(Spring Tool Suite)를 다운받자. 이클립스에서도 플러그인을 설치해 개발할 수 있지만 STS가 가볍다고 한다. Index of release/org/springframework/spring을 확인하면 이때까지 릴리즈된 스프링 버전들의 문서나 라이브러리들을 다운받을 수 있다. 다운받은 STS를 압축 해제하고, sts-3.8.4.RELEASE폴더에서 STS.exe를 실행한다. STS가 실행되면 File > New > Spring Legacy Project를 선택하면 아래와 같은 창이 열린다. Project name을 기입하고 템플릿(Templates)를 Spring MV..
2017.04.17 -
[Web] Ajax를 이용한 댓글 쓰기 구현하기 (게시판 구현)
Ajax를 이용해 비동기 통신으로 댓글 쓰기를 구현해보자 기존 웹 애플리케이션은 브라우저에서 채운 form을 웹 서버로 제출(submit)하는 요청으로 웹 서버의 중복되는 HTML 코드의 전송으로 대역폭의 낭비를 야기할 수 있다. Ajax(Asynchronous JavaSript and XML, 에이잭스)는 페이지 이동 없이 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있는 기술이기 때문에 기존 웹 애플리케이션의 단점을 극복할 수 있다. 웹 서버와 비동기적으로 데이터를 교환하고 조작하기 위해 XML을 이용했기 때문에 붙여진 이름이지만, Ajax 애플리케이션은 XML 대신하는 데이터 포맷으로 JSON(JavaScript Object Notation)을 이용할 수 ..
2017.04.13