<?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:rte2: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-13T12:20:59+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:ajax_support&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:annotation-based_controller&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:annotationcommandmapargumentresolver&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:async_request&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:controller&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:dispatcherservlet&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:handlermapping&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:internationalization&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jquery&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jquery_ajax&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jsr303&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:mvc&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:security&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spel&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_architecture&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_tag_configuration&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:ui_adaptor&amp;rev=1703132264&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:validation&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:view&amp;rev=1703136093&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:rte2:ptl:ajax_support&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:ajax_support</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:ajax_support&amp;rev=1703136093&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:rte2:ptl:annotation-based_controller&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:annotation-based_controller</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:annotation-based_controller&amp;rev=1703136093&amp;do=diff</link>
        <description>작업중입니다... ControllerAdvice추가예정



개요

스프링 프레임워크는 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:rte2:ptl:annotationcommandmapargumentresolver&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:annotationcommandmapargumentresolver</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:annotationcommandmapargumentresolver&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

Controller에서 화면(JSP) 입력값을 받기 위해서 일반적으로 Command(Form Class) 객체를 사용하지만, Map 객체를 사용하는걸 선호할 수 있다.

전자정부프레임워크 버전 3.0이전에서는 CommandMapArgumentResolver를 통해 Map객체를 사용할 수 있었다. 그러나 3.0부터는 @CommandMap과 AnnotationCommandmapArgumentResolver를 통해 Map객체를 사용할 수 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:async_request&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:async_request</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:async_request&amp;rev=1703136093&amp;do=diff</link>
        <description>작업중입니다 ... 



개요

기존의 요청 처리는 하나의 요청에 대해 한 개의 쓰레드를 사용하였다. 하나의 쓰레드에서 요청-응답 과정을 모두 처리하기 때문에 요청처리 이후 응답이 오기까지 쓰레드를 대기상태로 유지하였다. 그러나 서버와의 연결을 유지한채 대기상태로 있는 것이 아니라 서버와의 처리를 계속 이어가게 해주기 위해서는 이러한 기존의 처리에 한계가 있었다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:controller&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:controller</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:controller&amp;rev=1703136093&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:rte2:ptl:dispatcherservlet&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:dispatcherservlet</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:dispatcherservlet&amp;rev=1703136093&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:rte2:ptl:handlermapping&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:handlermapping</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:handlermapping&amp;rev=1703136093&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 이상의 실행환경일 때, Spring 3.1이후 버전이면(egov 3.0부터) RequestMappingHandlerMapping가 기본 HandlerMapping이며, 

Spring 3.1이전 버전이면(egov 3.0이전 버전) DefaultAnnotationHandlerM…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:internationalization&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:internationalization</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:internationalization&amp;rev=1703136093&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:rte2:ptl:jquery&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:jquery</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jquery&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

jQuery는 브라우저 호환성이 있는 다양한 기능을 제공하는 자바스크립트 라이브러리이다. jQuery에서 제공하는 오픈 라이브러리들을 통해 java script로 ajax, event, 다양한 ui 기능 등을 구현할 수 있으며 위키가이드에서는 jQuery의 기본적인 몇가지 기능(ajax, callback함수, post호출 등)에 대하여 살펴본다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jquery_ajax&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:jquery_ajax</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jquery_ajax&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

jQuery는 브라우저 호환성이 있는 다양한 기능을 제공하는 자바스크립트 라이브러리이다. jQuery에서 제공하는 오픈 라이브러리들을 통해 java script로 ajax, event, 다양한 ui 기능 등을 구현할 수 있으며 위키가이드에서는 jQuery의 기본적인 몇가지 기능(ajax, callback함수, post호출 등)에 대하여 살펴본다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jsr303&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:jsr303</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:jsr303&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

화면처리: validation을 통해 검증방법을 알아보았다.
이전과는 다르게 JSR-303(Bean Validation) 스펙은 자동 검증 방식을 제공한다. @javax.validation.Valid애노테이션을 사용하여 내부적으로(자동으로) 검증이 수행된다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:mvc&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:mvc</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:mvc&amp;rev=1703136093&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:rte2:ptl:security&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:security</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:security&amp;rev=1703136093&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:rte2:ptl:spel&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:spel</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spel&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

Spring 3.0에서 처음 소개된 스프링 전용 표현식 언어로 강력하고 유연하게 사용된다.

SpEL은 빈 오브젝트에 직접 접근할 수 있는 표현식을 이용해서 프로퍼티 값을 능동적으로 가져오는 방법이며 가장 기본적이다.
또한 jsp에서 &lt;spring:eval&gt;태그를 사용하여 SpEL을 적용 할 수도 있다.</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_architecture&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:spring_mvc_architecture</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_architecture&amp;rev=1703136093&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:rte2:ptl:spring_mvc_tag_configuration&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:spring_mvc_tag_configuration</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:spring_mvc_tag_configuration&amp;rev=1703136093&amp;do=diff</link>
        <description>개요

Spring 3부터 mvc태그를 통하여 Controller처리를 위한 설정을 쉽게 하도록 Spring mvc 네임스페이스를 제공한다. 

	*  
	*  
	*  

설명

&lt;mvc:annotation-driven&gt;

 Spring 3.0부터 제공하는 mvc 태그 설정이다. Annotation기반의 Controller호출 설정과 필요한 bean설정을 편리하게 하도록 만들어졌다. 그러나 내부 수정이 어렵기 때문에 mvc:annotation-driven에서 제공하는 기능에 대하여 잘 숙지하고 변경이 불가능 한 경우에는 mvc:annotation-driven을 쓰지 않고 필요한 bean을 수동으로 넣어줘야하는 경우도 있다. 

mvc:annotation-driven에서 쓰는 bean설정을 중복으로 쓰지 않도록 주의한다.…</description>
    </item>
    <item rdf:about="http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:ui_adaptor&amp;rev=1703132264&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T04:17:44+00:00</dc:date>
        <title>egovframework:rte2:ptl:ui_adaptor</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:ui_adaptor&amp;rev=1703132264&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:rte2:ptl:validation&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:validation</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:validation&amp;rev=1703136093&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:rte2:ptl:view&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:ptl:view</title>
        <link>http://egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:view&amp;rev=1703136093&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>
