<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://egovframe.go.kr/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://egovframe.go.kr/wiki/feed.php">
        <title>eGovFrame egovframework:rte:ptl</title>
        <description></description>
        <link>http://egovframe.go.kr/wiki/</link>
        <image rdf:resource="http://egovframe.go.kr/wiki/lib/images/favicon.ico" />
       <dc:date>2025-06-15T01:57:02+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ajax_support&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:annotation-based_controller&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:controller&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:dispatcherservlet&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:easycompany&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:exception_handling&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:handlermapping&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:internationalization&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:mvc&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:security&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:spring_mvc_architecture&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:tobesoft&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ui_adaptor&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:validation&amp;rev=1703136096&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:view&amp;rev=1703136096&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://egovframe.go.kr/wiki/lib/images/favicon.ico">
        <title>eGovFrame</title>
        <link>http://egovframe.go.kr/wiki/</link>
        <url>http://egovframe.go.kr/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ajax_support&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:ajax_support</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ajax_support&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

일반적으로 Ajax 기능은 javascript 언어로 개발하나, server-side 구현에 익숙한 J2EE 개발자들에게는 쉽지 않은 작업이 될 수 있다.

Ajax 지원 서비스에서는 Ajax를 이용해 자주 사용되는 기능을 custom tag형태로 제공한다.

기능은 오픈소스 라이브러리인 AjaxTags를 이용한다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:annotation-based_controller&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:annotation-based_controller</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:annotation-based_controller&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

스프링 프레임워크는 2.5 버젼 부터 Java 5+ 이상이면 @Controller(Annotation-based Controller)를 개발할 수 있는 환경을 제공한다.

인터페이스 Controller를 구현한 SimpleFormController, MultiActionController 같은 기존의 계층형(Hierarchy) Controller와의 주요 차이점 및 개선점은 아래와 같다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:controller&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:controller</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:controller&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

DispatcherServlet은 HandlerMapping를 이용해서 해당 요청을 처리할 Controller를 결정한다.

이 Controller는 요청에 대해서 처리를 하고 데이터를 Model 객체에 반영한다.

Spring MVC는 다양한 종류의 Controller를 제공하는데, 데이터 바인딩이나 폼 처리 또는 멀티 액션등의 편의 기능을 제공한다. 

이 Controller들은 org.springframework.web.servlet.mvc.Controller 인터페이스를 구현한 클래스들이다.(@Controller는 예외다. 여기서는 @Controller에 대한 설명은 제외한다.) 

eclipse에서 인터페이스 Controller를 Hierarchy View에서 열어보면 아래와 같은 구조를 보여준다. 

 

이중에 주요 Controller의 용도 및 특징을 표로 나타내보면 아래와 같다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:dispatcherservlet&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:dispatcherservlet</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:dispatcherservlet&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

Spring MVC Framework의 유일한 Front Controller인 DispatcherServlet은 Spring MVC의 핵심 요소이다. 

DispatcherServlet은 Controller로 향하는 모든 웹요청의 진입점이며, 웹요청을 처리하며, 결과 데이터를 Client에게 응답 한다. 

DispatcherServlet은 Spring MVC의 웹요청 Life Cycle을 주관한다 할 수 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:easycompany&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:easycompany</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:easycompany&amp;rev=1703136096&amp;do=diff</link>
        <description>개발환경

	*  JDK : Sun JDK 1.5
	*  Eclipse : 3.4.1
	*  Web Container : Tomcat 5.5
	*  DBMS : HSQLDB 1.8

설치

1. SVN에서 예제 코드 easycompany 프로젝트를 다운 받습니다. 

이클립스에서 해당 프로젝트를 보면 아래와 같은 구조를 가지고 있습니다. 



src/ : 자바 클래스

com.easycompany.controller.annotation: @Controller

com.easycompany.controller.hierachy: 계층형 Controller

com.easycompany.dao: DAO 클래스, SQL Map 파일 

com.easycompany.domain: 폼클래스, JavaBeans 

com.easycompany.interceptor: 선후처리를 위한 Interceptor 

com.easycompany.service: 서비스 클래스들 

com.easycompa…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:exception_handling&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:exception_handling</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:exception_handling&amp;rev=1703136096&amp;do=diff</link>
        <description>개요


화면단의 Exception 처리는 Controller 로 전달된 Excpetion 따른 지정된 에러 화면으로 이동으로 이루어져 있다.

Controller 인터페이스의 handleRequest() 메소드는 Excetpion 을 발생하도록 정의되어 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:handlermapping&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:handlermapping</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:handlermapping&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

DispatcherServlet에 Client로부터 Http Request가 들어 오면 HandlerMapping은 요청처리를 담당할 Controller를 mapping한다. 

Spring MVC는 interface인 HandlerMapping의 구현 클래스도 가지고 있는데, 용도에 따라 여러 개의 HandlerMapping을 사용하는 것도 가능하다. 

빈 정의 파일에 HandlerMapping에 대한 정의가 없다면 Spring MVC는 기본(default) HandlerMapping을 사용한다. 

기본 HandlerMapping은 BeanNameUrlHandlerMapping이며, jdk1.5 이상의 실행환경이면, DefaultAnnotationHandlerMapping도 기본 HandlerMapping이다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:internationalization&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:internationalization</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:internationalization&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

전자정부 표준 프레임워크에서는 Spring MVC 에서 제공하는 LocaleResolver를 이용한다. 

우리는 여기서 LocaleResolver를 알아보고 적용하는 설정과 다국어가 적용된 message resource 를 가져와 활용하는 것을 보도록 하겠다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:mvc&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:mvc</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:mvc&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

 

MVC(Model-View-Controller) 패턴은 코드를 기능(역활)에 따라 Model, View, Controller 3가지 요소로 분리한다. 


	*  Model : 어플리케이션의 데이터와 비지니스 로직을 담는 객체이다. 
	*  View : Model의 정보를 사용자에게 표시한다. 하나의 Model을 다양한 View에서 사용할 수 있다.
	*  Controller : Model과 View의 중계역활을 한다. 사용자의 요청을 받아 Model에 변경된 상태를 반영하고, 응답을 위한 View를 선택한다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:security&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:security</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:security&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

인증, 권한 같은 일반적인(통상적인) 개념의 Security 서비스는 Spring Security를 활용한 공통기반 레이어에서 제공한다.

화면 처리 레이어의 Security 서비스는 입력값 유효성 검증 기능을 제공한다.

입력값 유효성 검증(validation)을 위한 기능은 Valang, Jakarta Commons, Spring 등에서 제공하는데, 여기서는 기반 오픈소스로 Jakarta Commons Validator를 선택했다.
 
MVC 프레임워크인 Spring MVC와 Jakarta Commons Validator의 연계와 활용방안 설명한다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:spring_mvc_architecture&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:spring_mvc_architecture</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:spring_mvc_architecture&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

Spring Framework은 간단한 설정만으로 Struts나 Webwork같은 Web Framework을 사용할 수 있지만, 자체적으로 MVC Web Framework을 가지고 있다. 

Spring MVC는 기본요소인 Model, View, Controller 외에도, 아래와 같은 특성을 가지고 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:tobesoft&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:tobesoft</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:tobesoft&amp;rev=1703136096&amp;do=diff</link>
        <description>전자정부 프레임 워크와 마이플랫폼 연동을 위한 기본 가이드


마이플랫폼 전자정부 표준 프레임워크 연동은 입력 파라메터 또는 입력 데이터가 없는 경우와 있는 경우 두 가지로 크게 나눌 수 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ui_adaptor&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:ui_adaptor</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:ui_adaptor&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

전자정부 표준프레임워크와 UI 솔루션(Rich Internet Application) 연동에 대해 살펴 본다. 

UI Adaptor를 적용하는 방식은 특정한 하나의 방법을 표준화하기 어렵다. 

보통 Web Framework 과 UI 솔루션과의 연동을 하는 방법중 가장 많이 사용하는 방식은 

Controller 역할을 수행하는 Servlet 객체에서 업무 로직을 호출전 데이타를 DTO 형태로 변화하여 업무로직으로 넘기는 방식이다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:validation&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:validation</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:validation&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

객체의 유효성 검증을 위해 스프링 프레임워크는 org.springframework.validation.Validator라는 인터페이스를 제공한다.

Validator는 특정 계층에 종속적인 구조가 아니라서, web이나 data-access등 어떤 계층의 객체라도 유효성 검증이 가능하게 한다.

Jakarta Commons Validator나 Valang 같은 외부 Validator들도 Spring 프레임워크에서 사용할 수 있다.

Spring Modules를 이용한 Jakarta Commons Validator 사용 방법에 대해서는 Spring Framework에서 Commons Validator 사용 을 참고하라.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:view&amp;rev=1703136096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:36+00:00</dc:date>
        <title>egovframework:rte:ptl:view</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:view&amp;rev=1703136096&amp;do=diff</link>
        <description>개요

Controller가 요청에 대한 처리를 하고, View 이름과 데이터(Model)를 ModelAndView에 저장해 DispatcherServlet에 반환(return)하면,

DispatcherServlet은 View 이름을 가지고 ViewResolver에게서 실제 View 객체를 얻고, 이 View는 Controller가 저장한 Model 객체의 정보를 출력한다.

여기서는 View와 ViewResolver, 그리고 JSP에서 편리한 데이터 출력을 위해 스프링이 제공하는 Spring form tag library에 대해서 설명한다.…</description>
    </item>
</rdf:RDF>
