一、web.xml配置
注:Spring MVC looks for a file named [servlet-name]-servlet.xml in the WEB-INF directory of your web application and creates the beans defined there。如上例所示,如果名字不是examplep-servlet.xml,则可以加初始化参数,如下:
或者
二、Special Bean Types In the WebApplicationContext。配置在[servlet-name]-servlet.xml文件中。
1.HandlerMapping:HandlerMapping 将会把请求映射为 HandlerExecutionChain 对象(包含一个 Handler 处理器、多个 HandlerInterceptor 拦截器)对象。
2.HandlerAdapter:把处理器包装为适器配,从而支持多种类型的处理器。我的理解Controller上有多个@RequestMapping注解,但每一个Controller对应一个adapter,因此每次@RequestMapping请求会取对应的处理器处理。
3.HandlerExceptionResolver:对应异常处理
4.ViewResolver:把逻辑视图名解析为具体的 View
5.LocaleResolver:国际化处理
6.ThemeResolver:主题处理
7.MultipartResolver:文件上传
注:As mentioned in the previous section for each special bean the DispatcherServlet maintains a list of implementations to use by default. This information is kept in the file DispatcherServlet.properties in the package org.springframework.web.servlet
三、example-servlet.xml
四、Controller
五、其它注解
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则;
@PathVariable: 请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI;
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
@ModelAttribute:请求参数到命令对象的绑定;
@SessionAttributes : 用于声 明 session 级别存 储 的 属性, 放 置 在 处 理器 类 上 , 通 常 列 出 模型 属性(如
@ModelAttribute)对应的名称,则这些属性会透明的保存到 session 中;
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型
@CookieValue:cookie 数据到处理器功能处理方法的方法参数上的绑定;
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定;
@RequestBody:请求的 body 体的绑定(通过 HttpMessageConverter 进行类型转换) ;
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过 HttpMessageConverter 进行类型转换) ;
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因;
@ExceptionHandler:注解式声明异常处理器;
具体问题可参考附件文档,从此处下载:
[url]http://jinnianshilongnian.iteye.com/blog/1752171[/url]
<web-app>
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>/example/*</url-pattern>
</servlet-mapping>
</web-app>
注:Spring MVC looks for a file named [servlet-name]-servlet.xml in the WEB-INF directory of your web application and creates the beans defined there。如上例所示,如果名字不是examplep-servlet.xml,则可以加初始化参数,如下:
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring_servlet.xml</param-value>
</init-param>
</servlet>
或者
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) {
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet());
registration.setLoadOnStartup(1);
registration.addMapping("/example/*");
}
}
二、Special Bean Types In the WebApplicationContext。配置在[servlet-name]-servlet.xml文件中。
1.HandlerMapping:HandlerMapping 将会把请求映射为 HandlerExecutionChain 对象(包含一个 Handler 处理器、多个 HandlerInterceptor 拦截器)对象。
2.HandlerAdapter:把处理器包装为适器配,从而支持多种类型的处理器。我的理解Controller上有多个@RequestMapping注解,但每一个Controller对应一个adapter,因此每次@RequestMapping请求会取对应的处理器处理。
3.HandlerExceptionResolver:对应异常处理
4.ViewResolver:把逻辑视图名解析为具体的 View
5.LocaleResolver:国际化处理
6.ThemeResolver:主题处理
7.MultipartResolver:文件上传
注:As mentioned in the previous section for each special bean the DispatcherServlet maintains a list of implementations to use by default. This information is kept in the file DispatcherServlet.properties in the package org.springframework.web.servlet
三、example-servlet.xml
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/tx/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--
搜索org.test.web.controller包下实现了Controller接口或者
带有@Controller注解的类。(@Compnent,@Service,@Repository等)
-->
<context:component-scan base-package="org.test.web.controller"/>
<!-- 视图为根目录下,且后缀为JSP -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp"/>
</bean>
</beans>
四、Controller
//标志为spring组件
@Controller
//请求路径为http://ip:port/projectName/controller
@RequestMapping("/controller")
public class HelloWorldController {
//接受请求为/helloworld的请求,
//请求路径为http://ip:port/projectName/controller/helloworld
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
model.addAttribute("message", "Hello World!");
return "helloWorld";
}
}
五、其它注解
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则;
@PathVariable: 请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI;
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
@ModelAttribute:请求参数到命令对象的绑定;
@SessionAttributes : 用于声 明 session 级别存 储 的 属性, 放 置 在 处 理器 类 上 , 通 常 列 出 模型 属性(如
@ModelAttribute)对应的名称,则这些属性会透明的保存到 session 中;
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型
@CookieValue:cookie 数据到处理器功能处理方法的方法参数上的绑定;
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定;
@RequestBody:请求的 body 体的绑定(通过 HttpMessageConverter 进行类型转换) ;
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过 HttpMessageConverter 进行类型转换) ;
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因;
@ExceptionHandler:注解式声明异常处理器;
具体问题可参考附件文档,从此处下载:
[url]http://jinnianshilongnian.iteye.com/blog/1752171[/url]