MVC Spring MVC 2 MVC MVC Model MVC

  • Slides: 45
Download presentation
MVC 패턴과 Spring

MVC 패턴과 Spring

MVC 모델 2 - MVC

MVC 모델 2 - MVC

MVC Model ?

MVC Model ?

MVC Model = Domain Model

MVC Model = Domain Model

MVC Domain Model + Model = Business Obj + DAO

MVC Domain Model + Model = Business Obj + DAO

MVC 모델 1 B R O W S E R 1. Request JSP 2.

MVC 모델 1 B R O W S E R 1. Request JSP 2. Response

MVC 모델 2 1. Request B R O W S E R (Controller) Servlet

MVC 모델 2 1. Request B R O W S E R (Controller) Servlet 2. Response 3. Request (View) JSP 4. Response

Spring Framework - MVC

Spring Framework - MVC

Spring Framework - MVC

Spring Framework - MVC

Spring MVC Handler. Mapping 2 3 요청 1 Dispatcher. Servlet Controller Model. And. View

Spring MVC Handler. Mapping 2 3 요청 1 Dispatcher. Servlet Controller Model. And. View 4 5 View. Resolver 6 View

Spring MVC

Spring MVC

Spring MVC - Controller 실습 1 Hello. World. Controller

Spring MVC - Controller 실습 1 Hello. World. Controller

Spring MVC Bean. Name. Url. Handler. Mapping 2 3 /index. html 1 Dispatcher. Servlet

Spring MVC Bean. Name. Url. Handler. Mapping 2 3 /index. html 1 Dispatcher. Servlet My. Url. Filename. View. Controller Model. And. View “index” 5 4 Internal. Resource. View. Resolver 6 /WEB-INF/jsp/index. jsp

Spring MVC - Controller

Spring MVC - Controller

Spring MVC - Controller Url. Filename. View. Controller = No Model 데이터 정적인 페이지

Spring MVC - Controller Url. Filename. View. Controller = No Model 데이터 정적인 페이지

Spring MVC - Controller Multi. Action. Controller = Dispatch. Action of Struts Action of

Spring MVC - Controller Multi. Action. Controller = Dispatch. Action of Struts Action of Webwork

Spring MVC - Controller List. do B R O W S E R List.

Spring MVC - Controller List. do B R O W S E R List. Action Insert. do Insert. Action Update. do View. Action Delete. do URL : Action Delete. Action = 1: 1

Spring MVC - Controller List. do B R O W S E R Insert.

Spring MVC - Controller List. do B R O W S E R Insert. do Update. do Sample. Action View. do Delete. do URL : Action = N: 1

Spring MVC - Controller 실습 2 Multi. Hello. World. Controller

Spring MVC - Controller 실습 2 Multi. Hello. World. Controller

Spring MVC - Controller 기존 방식

Spring MVC - Controller 기존 방식

Spring MVC - Controller Simple. Form. Controller

Spring MVC - Controller Simple. Form. Controller

Spring MVC - Bean. Name. Handler. Mapping <bean id="handler. Mapping" class="org. springframework. web. servlet.

Spring MVC - Bean. Name. Handler. Mapping <bean id="handler. Mapping" class="org. springframework. web. servlet. handler. Bean. Name. Url. H andler. Mapping"/> <bean name="/user/login. do" class="net. javajigi. user. web. Login. Form. Controller"> <property name="validator" ref="bean. Validator" /> <property name="form. View" value="/decorators/login" /> <property name="success. View" value="redirect: /index. html" /> <property name="user. Service" ref="user. Service" /> </bean> <bean name="/board. do" class="net. javajigi. board. web. Board. Controller"> <property name="board. Service" ref="board. Service" /> <property name="method. Name. Resolver" ref="method. Name. Resolver" /> </bean>

Spring MVC - Simple. Url. Handler. Mapping <bean id="login. Form. Controller" class="net. javajigi. user.

Spring MVC - Simple. Url. Handler. Mapping <bean id="login. Form. Controller" class="net. javajigi. user. web. Login. Form. Controller"> <property name="validator" ref="bean. Validator" /> <property name="form. View" value="/decorators/login" /> <property name="success. View" value="redirect: /index. html" /> <property name="user. Service" ref="user. Service" /> </bean> <bean id="board. Controller" class="net. javajigi. board. web. Board. Controller"> <property name="board. Service" ref="board. Service" /> <property name="method. Name. Resolver" ref="method. Name. Resolver" /> </bean>

Spring MVC - Simple. Url. Handler. Mapping <bean id="url. Mapping" class="org. springframework. web. servlet.

Spring MVC - Simple. Url. Handler. Mapping <bean id="url. Mapping" class="org. springframework. web. servlet. handler. Simple. Url. Handl er. Mapping"> <property name="mappings"> <props> <prop key="/user/login. do">login. Form. Controller</prop> <prop key="/board. do">board. Controller</prop> </props> </property> </bean>

Spring MVC - Interceptor Spring MVC의 Interceptor <bean id="url. Mapping" class="org. springframework. web. servlet.

Spring MVC - Interceptor Spring MVC의 Interceptor <bean id="url. Mapping" class="org. springframework. web. servlet. handler. Simple. Url. Handler. Mapping"> <property name="interceptors"> <list> <ref bean="profiling. Interceptor"/> </list> </property> <bean id="logging. Interceptor" class="net. javajigi. web. Logging. Interceptor"/> <property name="mappings"> <props> <prop key="/user/login. do">login. Form. Controller</prop> <prop key="/board. do">board. Controller</prop> </props> </property> </bean>

Spring MVC - View JSTLView Excel. View HTML 문서 Excel 문서 Model PDFView PDF

Spring MVC - View JSTLView Excel. View HTML 문서 Excel 문서 Model PDFView PDF 문서 CSVView CSV 문서

Spring MVC - View. Resolver Internal. Resource View. Resolver Velocity View. Resolver JSP Velocity

Spring MVC - View. Resolver Internal. Resource View. Resolver Velocity View. Resolver JSP Velocity Model Free. Marker View. Resolver Freemarker Resource. Bundle. View. Resolver Resource. Bundle

Spring MVC - View. Resolver Chain <bean id="xml. View. Resolver" class="org. springframework. web. servlet.

Spring MVC - View. Resolver Chain <bean id="xml. View. Resolver" class="org. springframework. web. servlet. view. Xml. View. Resolver "> <property name="order" value="1"/> <property name="location" value="/WEB-INF/ajasee-views. xml"/> </bean> <bean id="view. Resolver" class="org. springframework. web. servlet. view. Internal. Resource. View. Resolver "> <property name="view. Class"> <value>org. springframework. web. servlet. view. Jstl. View</value> </property> <property name="cache" value="false" /> <property name="prefix" value="/WEB-INF/ jsp/" /> <property name="suffix" value=". jsp" /> </bean> Internal. Resource. View. Resolver는 항상 Chain의 마지막

Property Editor ? java. beans. Property. Editor

Property Editor ? java. beans. Property. Editor

Property Editor <beans> <bean id="built. In. Sample" class="Property. Editor. Bean"> <property name="class"> <value>java. lang.

Property Editor <beans> <bean id="built. In. Sample" class="Property. Editor. Bean"> <property name="class"> <value>java. lang. String</value> </property> <property name="file"> <value>c: /test. txt</value> </property> <property name="locale"> <value> en-GB </value> </property> <property name="url"> <value>http: //www. springframework. org</value> </property> <property name="properties"> <value> name=foo age=19 </value> </property> <property name="strings"> <value>rob, jan, rod, jurgen, alef</value> </property> <property name="bytes"> <value>Hello World</value> </property> </beans>

Property Editor import java. io. File; java. net. URL; java. util. Locale; java. util.

Property Editor import java. io. File; java. net. URL; java. util. Locale; java. util. Properties; public class Property. Editor. Bean { private Class cls; private File file; private URL url; private Locale locale; private Properties properties; private String[] strings; private byte[] bytes; }

Spring 2. 0 Convention over Configuration (Co. C)

Spring 2. 0 Convention over Configuration (Co. C)

Spring 2. 0 Controller <bean class="org. springframework. web. servlet. mvc. support. Controller. Class. Name.

Spring 2. 0 Controller <bean class="org. springframework. web. servlet. mvc. support. Controller. Class. Name. Handler. Mapping " /> • Hello. World. Controller => helloworld. do • Hello. World. Controller. hello => helloworld/hello. do

Spring 2. 0 Model • x. y. User => user • java. util. Hash.

Spring 2. 0 Model • x. y. User => user • java. util. Hash. Map => hash. Map • x. y. User[] => user. List • 하나 이상의 x. y. User 인스턴스를 가지는 java. util. Array. List => user. List

Spring 2. 0 View <bean id="view. Name. Translator" class="org. springframework. web. servlet. view. Default.

Spring 2. 0 View <bean id="view. Name. Translator" class="org. springframework. web. servlet. view. Default. Request. To. View. Name. Translator " /> <bean id="view. Resolver" class="org. springframework. web. servlet. view. Internal. Resource. View. Resolver "> <property name="prefix" value="/WEB-INF/ jsp/" /> <property name="suffix" value=". jsp" /> </bean> • http: //localhost: 8080/helloworld. do => WEB-INF/jsp/helloworld. jsp • http: //localhost: 8080/helloworld/hello. do => WEB-INF/jsp/helloworld/hello. jsp

Spring 2. 0 실습 3 Multi. Hello. World. Controller를 Co. C 기반으로 변경

Spring 2. 0 실습 3 Multi. Hello. World. Controller를 Co. C 기반으로 변경

참고문서!! • Request. Dispatcher를 이용할 경우 문제점과 해결방법 : http: //wiki. javajigi. net/pages/viewpage. action?

참고문서!! • Request. Dispatcher를 이용할 경우 문제점과 해결방법 : http: //wiki. javajigi. net/pages/viewpage. action? page. Id=77 • Simplify Your Web App Development Using the Spring MVC Framework : http: //www. devx. com/Java/Article/22134/1954? pf=true • Property Editor Sample : http: //www. java 2 s. com/Code/Java/Spring/Property. Editor. Bean. htm