메뉴 건너뛰기

조회 수 248 추천 수 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
번호 제목 날짜 조회 수
22 이클립스에서 인코딩 설정 file 2018.06.21 210
21 Spring Security의 동작 방법 file 2018.06.21 232
20 이클립스 파일 찾기 & 문자열 검색 file 2018.06.21 174
19 CKEditor 사용 및 파일 업로드 적용 2018.06.11 212
18 spring ckeditor 파일업로드 예제 (file upload) file 2018.06.11 228
17 스프링 CKEditor 적용 - 에디터 2018.06.11 282
16 전자정부프레임워크 사용 중 중복 저장 방지 (새로고침 혹은 뒤로가기시) 2018.06.11 234
15 "알 수 없는 오류가 발생하였습니다." 라는 에러 메시지가 발생했을 때 대처법 2018.06.11 194
» 예제 따라하기(1) - 기본 서블릿 구현 file 2018.06.04 248
13 첫 실행 URL 변경 file 2018.06.04 262
12 전자정부프레임워크 구조 파악하기 file 2018.06.01 234
11 전자정부 프레임워크(eGovframe) 동적 웹프로젝트 시작하기(2) file 2017.09.12 1429
10 전자정부 프레임워크(egov framework) 설치하기(1) file 2017.09.12 1949
9 java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceExceptionTranslator 2016.09.21 2221
8 HTMLTagFilter ? 2016.09.21 3279
7 로그인 체크 인터셉터 사용 (AuthenticInterceptor) 2016.09.21 3295
6 getFileNames() 메소드를 이용한 파일 업로드 기능 구현하기 2016.09.21 2829
5 getFileMap() 메소드를 이용한 파일 업로드 기능 구현하기 2016.09.21 2771
4 message 사용을 위한 설정 2016.09.21 2644
3 공통코드관리 2016.09.21 2840
Board Pagination Prev 1 2 Next
/ 2

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved