본문 바로가기

JAVA/JSP

JSP - 템플린 페이지 설명 및 방법

반응형

** 템플릿 페이지

: 사용자가 어떠한 서비스를 요청하더라도 동일한 형태의 플랫폼으로 서비스 하는 것을 말한다.



** 방법


1. jsp 파일로 만들 페이지의 화면구성을 해줌

left.jsp

bottom.jsp

template.jsp

및 로고


2. 사용자의 서비스 요청별 처리할 action클래스이름을 프로퍼티 파일에 설정한다.

new - file - hanb.properties 에 입력

예)

insertBoard.do=com.hanb.action.InsertBoardAction


3. 모든 *.do의 요청을 처리할 front Controller 를 작성한다.

Controller는 servlet으로 만듬

new - servlet - (package)com.hanb.controller - (class)HanbController

사용자의 서비스 요청은 get or post 할 수도 있다.

이를 동일하게 처리하기 위해 proRequest 메소드 만듬

메개변수 : request, responce

예외처리할 동일한 것 복사

사용자의 요청별 처리할 클래스명이 작성된 프로퍼티 파일(hanb.properties)의 내용을 읽어 map에 등록한다.

==> 서블릿이 동작할 때 최초에 한번만 실행하면 되므로 init 메소드를 재정의하여 작성한다.

init은 두가지가 있는데 매개변수를 갖는 init을 사용한다.

WEB-INF의 실제 경로를 알아야 하므로


4. init 재정의 방법

servlet 빈공간 오른단추 - source - OverRide/Implement Methods

- GenericServlet - init(ServletConfig)


만들고 Hashmap 멤버변수로 만들고 재정의 하기 


5. servlet 등록하기(두가지방법)

web.xml 에서 등록방법

<servlet>

   <servlet-name>hanb</servlet-name>

   <servlet-class>com.hanb.controller.HanbController</servlet-class>

  </servlet>

  

  <servlet-mapping>

   <servlet-name>hanb</servlet-name>

   <url-pattern>*.do</url-pattern>

  </servlet-mapping>

어노테이션 방법 : --> 

@WebServlet("*.do") --> 이렇게 바꿔줌

public class HanbController extends HttpServlet {


6. 사용자가 요청하는 서비스명에 처리를 위한 각각의 action 클래스들을 정의한다.

모든 action 클래스들이 일처리를 위한 각각 다른 이름에 메소드를 갖게 된다면 

controller가 복잡해 질것이다.

==> 그래서 모든 action 클래스가 일처리를 위한 메소드를 하나로 정의해 주는 것이 좋다.

==> 이것을 '일반화' 한다고 한다.


모든 action 클래스들이 가져야 할 메소드(공통기능)을 뽑아 interface를 정의한다.


(package)com.hanb.action 모든 액션들은 여기 패키지에 둔다.

1) HanbAction 인터페이스를 만들고 

2) 모든 action 클래스들은 HanbAction을 구현하도록 한다.

3) 각각의 viewPage(jsp)을 작성한다.

(action 클래스 구현하기 전 전날했던 이미지 파일과, insertBoard.jsp, listBoard.jsp 가져옴)


(일단 저 두개 jsp 복사와 insertBoardAction, listBoardAction 을 만들고 )

( HanbController 로 다시 와서 proRequest 를 정의해줌)


7. start.jsp를 실행시켜 서버등록을 한번 해주고


8. server.xml 에서 해당 프로젝트에 Resource 복사해준다.


9. start.jsp 다시 실행하여 listBoard.do 를 써서 잘되나 확인




** 해보기


** 상품관리 시스템을 MVC 적용, 템플릿 페이지 적용하여 작성

상품등록, 목록, 수정, 삭제

상품등록시에는 상품이미지도 등록이 되도록 한다.


** 사용자가 어떠한 요청을 하더라도 요청을 하더라도 동일한 형태의 서비스를 위한 템플릿을 구성한다.

(top, menu, bottom, template).jsp


** 사용자의 요청명과 그 용청에 따른 처리를 위한 설정파일인 properties 파일을 작성


** 사용자의 모든 요청을 받아 처리할 controller 작성

(컨트롤러는 서블릿을 상속받아 정의한다)


- init을 재정의하여 프로퍼티 파일의 내용을 읽어 들여

사용자의 요청명과 처리할 action클래스의 객체를 생성하여

map에 등록한다.


** 사용자의 요청에 따른 처리를 위한 각각의 action 클래스들을 정의한다.

각각의 action의 처리를 위한 메소드를 일반화시키기 위해 

모든 action들이 가져야 할 메소드를 하나로 정해 둔다. ==> interface를 정의한다.


즉, GoodsAction이라는 인터페이스를 만들어 두고 

모든 action은 GoodsAction 인터페이스를 구현하도록 한다.


** DBCP를 설정한다.


** ConnectionProvider를 정의한다.


** GoodsVo와 GoodsDao(insertGoods 메소드)를 정의한다.


반응형