메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
» 예제 따라하기(1) - 기본 서블릿 구현 file 2018.06.05 2922
22 첫 실행 URL 변경 file 2018.06.05 2715
21 이클립스 파일 찾기 & 문자열 검색 file 2018.06.21 2407
20 이클립스에서 인코딩 설정 file 2018.06.21 2330
19 JSTL - <c:if>, <c:choose> 태그 사용법 2019.02.28 2218
18 전자정부 표준프레임워크 파일업로드용량설정 file 2018.12.06 1898
17 JAVA에서 alert창 띄우기 2019.03.05 1588
16 전자정부프레임워크 설치 및 실행 file 2018.12.07 1384
15 Spring source 배포 및 Tomcat Server 셋팅 2019.03.05 1346
14 JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법 file 2018.12.06 1282
13 이클립스(Eclipse) 한글 언어팩 설치. Babel 프로젝트 file 2018.12.07 1199
12 @SessionAttributes와 SessionStatus 사용하기(세션에 모델 객체 저장) file 2019.02.28 1187
11 JSTL 숫자 포맷 맞추기 (<fmt:formatNumber> 사용 예제) 2019.03.05 1182
10 스프링프레임워크 <form:form> 태그 사용법 file 2018.12.06 1182
9 전자정부표준프레임워크 파일 업로드 크기 설정(feat. MaxUploadSizeExceededException) file 2019.02.28 1107
8 이클립스(Eclipse) 소스 일괄 수정 file 2018.12.07 1097
7 JSTL을 이용하여 합계 구하기 2019.03.05 1066
6 [JSTL core] [c:forEach] varStatus를 활용한 변수 2019.03.05 1048
5 form에서 enctype="multipart/form-data"로 보낸 데이터를 request로 받기 2019.03.05 980
4 forEach문은 아래와 같이 활용한다. 2019.03.05 916
Board Pagination Prev 1 2 3 Next
/ 3

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved