spring mvc
Edit- http://blog.springsource.org/2012/08/29/integrating-spring-mvc-with-jquery-for-validation-rules/
- http://java.dzone.com/articles/using-restful-urls-your-spring
- How-To: JSR303 validation groups in Spring MVC 3 wizard-style controllers
- Spring MVC 기초
- Spring MVC에서 클라이언트 요청의 처리 과정
Mapping 설정
- HandlerMapping
- .setOrder
- SimpleUrlHandlerMapping
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="...do">contentConroller</prop>
</props>
</property>
</bean>
- BeanNameUrlHandlerMapping
- .setMappings
- PropertiesFactoryBean을 이용하면 별도의 파일에서 설정 가능
- @RequestMapping
- import org.springframework.web.bind.annotation.RequestMapping
View
- ViewResolver
- InternalResourceViewResolver
- .setViewClass, .setCache, .setPrefix, .setSuffix
Controller
- MultiActionController
- .setMethodNameResolver
- AbstractCommandController
- .setCommandClass
- SimpleFormConroller
- .setCommandName, .setCommandClass, .formBackingObject, .onSubmit, .showForm, .initBinder, .referenceData
- @Controller
- import org.springframework.stereotype.Controller
MethodNameResolver
- PropertiesMethodNameResolver
- .setMappings
- ParameterMethodNameResolver
- .setParamName, .setDefaultMethodName
Model
- @ModelAttriutes
Binder
- @InitBinder
- WebDataBinder
- ServletRequestDataBinder
MultipartResolver
- ComonsMultipartResolver
- .setMaxUploadSize, .setUploadTempDir
파일첨부 처리 방법
- Request를 MultipartHttpServletRequest로 casting
- PropertyEditorSupport를 상속, setValue에서 value instaceof MultipartFile 이면 FileUploadUtil.uploadFormFile사용.
커스텀 태그
- spring:bind
2.5
3.0
- Spring 3.0.1 mvc:annotation-driven 이 몰래 하는 짓
- http://toby.epril.com/?p=982 : Spring 3.0 @MVC 메소드에서 자동으로 리턴 모델에 추가되는 것들
- DispatcherServlet의 디폴트 대체(fallback) 전략
- InsideSpring (3) 스프링 밖에서 WebApplicationContext에 접근하기
Validation
Converter
Spring web.xml
Listener 설정
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
WebApplicationContextUtils.getWebApplicationContext(getServlerContext());
DispatcherServlet 설정
web.xml에 설정
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>