메뉴 건너뛰기

조회 수 2971 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

전자정부프레임워크 예제 분석

(예제 다운로드 받는 방법 : http://blog.naver.com/lionlyloveil/220699239451)


예제 파일 다운 받아서 작동하는 거는 봤고,
그 중에 내가 필요한 기능들만 최소한을 뽑으면서 차근차근 확인해보려 한다.
에러가 나지 않는 최소한의 코드만을 사용한다.
주체적으로 타이핑 하는 코드는 별로 없을 것이며, 대부분은 기존 예제에서 복붙을 사용한다.

우선 servlet 부터 구현해보자.
( 기본 실행 URL 루트로 변경 후 진행. http://blog.naver.com/lionlyloveil/220759050598 )


'eGovFrame Web Project' 를 새로 생성.
프로젝트명은 'test_v0.2'.

최종 디렉토리↓↓
 * 이 포스팅이 완료된 후 파일 구조는 아래 그림과 같다. 총 6개의 파일을 사용한다.
 * 새로 생성 : sevController.java, dispatcher-servlet.xml, hello.jsp, index.jsp
 * 기본으로 생성되는 파일 : web.xml, pom.xml



test_v0.2/src/main/webapp/WEB-INF/web.xml
파일을 보면 <welcome-file-list> 에 여러 파일들이 있는데,
나는 jsp 파일을 쓸 거니까 index.jsp 만 남기고 다 지웠다.
그리고 서블릿 설정들 추가.

<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/config/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>

첫 페이지는 index.jsp 이고,
config 파일의 위치를 지정해줬고,
(아직 생성 전이니, 폴더와 파일을 생성해주어야 한다.)
서블릿 init()때 호출 순서를 1로 지정,
그리고 URL 패턴은 .do 로 지정했다.

전부 원하는 대로 바꿔도 상관없다.


이제, 위에서 지정한 것 중에 없는 파일들(index.jsp, dispatcher-servlet.xml)을 만들 것이다.

test_v0.2/src/main/webapp/index.jsp
바로 페이지 포워딩 시킨다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <jsp:forward page="/mainTest.do"/>

test_v2.0/src/main/webapp/WEB-INF/config/dispatcher-servlet.xml
WEB-INF 폴더 밑에 config 라는 이름의 폴더를 새로 만들어서
xml 파일을 추가한다.
base-package 는 컨트롤러 파일이 위치한 패키지명을 입력.
viewResolver의 prefix는 jsp 파일이 위치할 경로 입력.

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <context:component-scan base-package="sevtest"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/> </context:component-scan> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> </beans>

여기서 또 없는게 Controller 와 jsp 파일.
Controller 먼저 만들자.

test_v0.2/src/test/java/sevtest.sevController.java
src/test/java 라는 폴더 밑에 sevtest 라는 패키지를 생성하고, sevController라는 자바 파일 생성.

package sevtest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class sevController { @RequestMapping(value="/mainTest.do") public String mainTest() throws Exception { System.out.println("sevController.java - mainTest()"); return "test/hello"; } }


위 xml 파일에서 설정한 prefix 와 suffix가 적용되면,
return은 /WEB-INF/jsp/test/hello.jsp 가 된다.
 

저 파일 만들자.

▶ test_v0.2/src/main/webapp/WEB-INF/jsp/test/hello.jsp
WEB-INF 밑에 jsp 폴더 만들고 하위에 test 폴더 만들고, hello.jsp 파일 생성.
간단하게 문구만 출력해본다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> HELLO~ </body> </html>


실행해보면

헬로~






List of Articles
번호 제목 날짜 조회 수
43 Aspect 어노테이션 사용을 위한 설정. file 2016.08.18 5059
42 개발자로서 기본 구성합니다. file 2016.08.18 4993
41 공통코드관리 2016.09.21 5804
40 message 사용을 위한 설정 2016.09.21 6607
39 getFileMap() 메소드를 이용한 파일 업로드 기능 구현하기 2016.09.21 6250
38 getFileNames() 메소드를 이용한 파일 업로드 기능 구현하기 2016.09.21 5899
37 로그인 체크 인터셉터 사용 (AuthenticInterceptor) 2016.09.21 6740
36 HTMLTagFilter ? 2016.09.21 7821
35 java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceExceptionTranslator 2016.09.21 4224
34 전자정부 프레임워크(egov framework) 설치하기(1) file 2017.09.12 5362
33 전자정부 프레임워크(eGovframe) 동적 웹프로젝트 시작하기(2) file 2017.09.12 4208
32 전자정부프레임워크 구조 파악하기 file 2018.06.02 4269
31 첫 실행 URL 변경 file 2018.06.05 2775
» 예제 따라하기(1) - 기본 서블릿 구현 file 2018.06.05 2971
29 "알 수 없는 오류가 발생하였습니다." 라는 에러 메시지가 발생했을 때 대처법 2018.06.12 4258
28 전자정부프레임워크 사용 중 중복 저장 방지 (새로고침 혹은 뒤로가기시) 2018.06.12 3097
27 스프링 CKEditor 적용 - 에디터 2018.06.12 5636
26 spring ckeditor 파일업로드 예제 (file upload) file 2018.06.12 4571
25 CKEditor 사용 및 파일 업로드 적용 2018.06.12 3236
24 이클립스 파일 찾기 & 문자열 검색 file 2018.06.21 2460
Board Pagination Prev 1 2 3 Next
/ 3

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved