标签:
1. Spring MVC 介绍
Spring MVC是Spring框架中的一个子项目,为Web应用程序开发提供MVC模式的支持。Spring MVC的功能与Struts2框架相似,可以把Java Web程序员从繁复的Serlvet API中解放出来;与Struts2不同的是,尤其在Spring 3.1之后,Spring MVC广泛采用了“规范优于配置”(convention-over-configuration)的设计思想,因此配置信息大大减少,灵活性也有很大的提升。
2.Spring MVC的特点
3.MVC架构的核心类和原理
下图是Spring MVC核心组件结构和执行流程。
3. 搭建Spring MVC应用程序
3.1 导入Spring MVC相关的jar包
(1)手工导入则需要以下内容:
3.2 配置核心控制器-DispatcherServlet
在web.xml中配置Spring MVC核心控制器:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3.3 定义Spring MVC配置文件
Spring MVC配置文件就是一份常规的Spring bean配置文件,只是引入了spring-mvc的命名空间(见下面配置的蓝色字部份)。
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<!-- 前缀:从根目录到视图文件夹 -->
<property name="prefix" value="/WEB-INF/views/" />
<!--视图文件的后缀名 -->
<property name="suffix" value=".jsp" />
</bean>
</beans>
3.4在src中定义一个控制器类HomeController继承抽象类AbstractController
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("hello,spring mvc...");
ModelAndView mv=new ModelAndView("index"); //index:代表从前缀到后缀之间的名字
//如果请求存放在admin下的index.jsp则视图名字为"admin/index"
return mv;
}
3.5在springmvc-servlet中配置controller
<!-- 默认的映射处理器 解析Controller-->
<bean id="home" name="/hello" class="com.demo.springmvc.HomeController"/>
其中:name=”/hello”代表在地址栏中请求的url
3.6发布并运行http://localhost:8080/mvchello/hello
注意:在这里并没有配置映射处理器,使用的是默认的映射处理器,可以不配置org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
还有其他的一些映射处理器比如: org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
在配置文件springmvc-servlet中添加如下配置,测试多个映射处理器的工作
<!-- 默认的映射处理器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 简单的url映射处理器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello1">homeController</prop>
</props>
</property>
</bean>
当使用ttp://localhost:8080/mvchello/hello1的url访问时,使用的是简单的url映射处理器
标签:
原文地址:http://www.cnblogs.com/yang5201314/p/5393307.html