spring mvc 之初体验

Spring MVC最简单的配置

  配置一个Spring MVC只需要三步:

  1. 在web.xml中配置Servlet;
  2. 创建Spring MVC的xml配置文件;
  3. 创建Controller和View
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 5          version="3.1">
 6 
 7     <!-- spring mvc配置开始  -->
 8     <servlet>
 9         <servlet-name>test</servlet-name>
10         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
11         <load-on-startup>1</load-on-startup>
12     </servlet>
13 
14     <servlet-mapping>
15         <servlet-name>test</servlet-name>
16         <url-pattern>/</url-pattern>
17     </servlet-mapping>
18     <!-- spring mvc配置结束  -->
19 
20     <welcome-file-list>
21         <welcome-file>index</welcome-file>
22     </welcome-file-list>
23 </web-app>

所配置的Servlet是DispatcherServlet类型,它就是Spring MVC的入口,Spring MVC的本质就是一个Servlet。在配置DispatcherServlet的时候可以设置contextConfigLocation参数来指定Spring MVC配置文件的位置,如果不指定就默认使用WEB-INF/[ServletName]-servlet.xml文件。

 

servlet.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 4    xmlns:context="http://www.springframework.org/schema/context"
 5    xmlns:mvc="http://www.springframework.org/schema/mvc"
 6    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 7    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
 8    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 9 
10     <mvc:annotation-driven/>
11     <context:component-scan base-package="com.excelib" />
12 </beans>

<mvc:annotation-driven/>是Spring MVC提供的一键式的配置方法,配置此标签后Spring MVC会自动做一些注册组件之类的事情。

context:component-scan base-package="com.excelib" />扫描通过注释配置的类,还可以通过context:include-filter子标签来设置只扫描@Controller就可以了,别的交给Spring容器管理

1 <context:component-scan base-package="com.excelib" use-default-filters="false">
2 <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
3 </context:component-scan>

 

 1 @Controller
 2 public class GoController {
 3     private final Log logger = LogFactory.getLog(GoController.class);
 4     //处理HEAD类型的”/”请求,HEAD类型的请求可以用来检测服务器的状态,因为它不返回body所以比GET请求更省网络资源
 5     @RequestMapping(value={"/"},method= {RequestMethod.HEAD})
 6     public String head() {
 7         return "go.jsp";
 8     }
 9     //处理GET类型的"/index"和”/”请求
10     @RequestMapping(value={"/index","/"},method= {RequestMethod.GET})
11     public String index(Model model) throws Exception {
12         logger.info("======processed by index=======");
13         //返回msg参数
14         model.addAttribute("msg", "Go Go Go!");
15         return "go.jsp";
16     }
17 }

 

若果没有配置ViewResolver,Spring MVC将默认使用org.springframework.web.servlet.view.InternalResourceViewResolver作为ViewResolver。

 

posted @ 2017-04-27 00:03  kevin_shen  阅读(204)  评论(0编辑  收藏  举报