Java/web(33)
-
[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 -
[Web] 답글 쓰기 구현하기 (게시판 구현)
게시글에 답글을 쓰는 기능을 구현해보자 이전과 동일하게 bbs.properties파일에 요청에 대해 처리할 클래스를 매핑한다.#bbs.properties /writeForm.bbs=com.edu.bbs.WriteFormImpl /write.bbs=com.edu.bbs.WriteImpl /list.bbs=com.edu.bbs.ListImpl /content.bbs=com.edu.bbs.ContentImpl /login.bbs=com.edu.bbs.LoginImpl /logout.bbs=com.edu.bbs.LogoutImpl /updateForm.bbs=com.edu.bbs.UpdateFormImpl /update.bbs=com.edu.bbs.UpdateImpl /delete.bbs=com.edu.bbs...
2017.04.13