메뉴 건너뛰기

조회 수 2922 추천 수 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 ExcelUtil 2021.03.09 330
42 서버로부터 메시지 받아서 팝업 띄우기 (1. ModelAndView 이용) file 2021.03.09 574
41 JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법 file 2019.02.28 800
40 forEach문은 아래와 같이 활용한다. 2019.03.05 916
39 form에서 enctype="multipart/form-data"로 보낸 데이터를 request로 받기 2019.03.05 980
38 [JSTL core] [c:forEach] varStatus를 활용한 변수 2019.03.05 1048
37 JSTL을 이용하여 합계 구하기 2019.03.05 1066
36 이클립스(Eclipse) 소스 일괄 수정 file 2018.12.07 1097
35 전자정부표준프레임워크 파일 업로드 크기 설정(feat. MaxUploadSizeExceededException) file 2019.02.28 1107
34 스프링프레임워크 <form:form> 태그 사용법 file 2018.12.06 1182
33 JSTL 숫자 포맷 맞추기 (<fmt:formatNumber> 사용 예제) 2019.03.05 1182
32 @SessionAttributes와 SessionStatus 사용하기(세션에 모델 객체 저장) file 2019.02.28 1187
31 이클립스(Eclipse) 한글 언어팩 설치. Babel 프로젝트 file 2018.12.07 1199
30 JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법 file 2018.12.06 1282
29 Spring source 배포 및 Tomcat Server 셋팅 2019.03.05 1346
28 전자정부프레임워크 설치 및 실행 file 2018.12.07 1384
27 JAVA에서 alert창 띄우기 2019.03.05 1588
26 전자정부 표준프레임워크 파일업로드용량설정 file 2018.12.06 1898
25 JSTL - <c:if>, <c:choose> 태그 사용법 2019.02.28 2218
24 이클립스에서 인코딩 설정 file 2018.06.21 2330
Board Pagination Prev 1 2 3 Next
/ 3

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved