标签:
1. Spring-mvc介绍
1.1市面上流行的框架
1.2 spring-mvc结构
1. DispatcherServlet:中央控制器,把请求给转发到具体的控制类(将请求转发到具体的controller,相当于struts2中的StrutsPrepareAndExecuteFilter)
2. Controller:具体处理请求的控制器(相当于struts2中的Action),调用逻辑层
3. handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略
4. ModelAndView:服务层返回的数据和视图层的封装类
5. ViewResolver & View:视图解析器,解析具体的视图
6. Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作
1.3 spring-mvc流程
2.spring-mvc的第一个例子
1. 创建一个web工程
2. 导入依赖包
3.创建springmvc的配置文件
<!-- springmvc中央控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- struts习惯使用/*,在springmvc不管用 --> <url-pattern>*.do</url-pattern> </servlet-mapping>
创建springmvc的核心配置文件
文件的命名规则:中央控制器(servlet的名称)的名称+“-servlet.xml”
默认位置:WEB-INF下
4. 创建controller
public class TestController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { System.out.println("hello springmvc"); //viewName不是jsp的名称而是前缀与后缀之间的路径字符串 return new ModelAndView("index"); } }
------->
springmvc-servlet.xml:
<!-- 使用默认的映射处理器来映射controller --> <bean id="testController" name="/hello.do" class="cn.itcast.springmvc.TestController"></bean> <!--视图解析器: 前缀+ viewName +后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- webroot到某一指定的文件夹的路径 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 视图名称的后缀 --> <property name="suffix" value=".jsp"></property> </bean>
强调:
new ModelAndView("index");viewName并不是jsp的名字
--------->
3 .三种handlerMapping
1. BeanNameUrlHandlerMapping (默认)
<!-- 默认的映射处理器BeanNameUrlHandlerMapping,根据bean的名字就可以来访问了,不设置就是它 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 使用默认的映射处理器来映射controller --> <bean id="testController" name="/hello.do" class="cn.itcast.springmvc.TestController"></bean> <!--视图解析器: 前缀+ viewName +后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- webroot到某一指定的文件夹的路径 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 视图名称的后缀 --> <property name="suffix" value=".jsp"></property> </bean>
http://localhost:8080/springmvc-1/hello.do
2.SimpleUrlHandlerMapping
<!-- 简单url的映射处理器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello1.do">testController</prop> </props> </property> </bean> <!-- 使用默认的映射处理器来映射controller --> <bean id="testController" name="/hello.do" class="cn.itcast.springmvc.TestController"></bean> <!--视图解析器: 前缀+ viewName +后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- webroot到某一指定的文件夹的路径 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 视图名称的后缀 --> <property name="suffix" value=".jsp"></property> </bean>
http://localhost:8080/springmvc-1/hello1.do
3. ControllerClassNameHandlerMapping
<!-- 控制类的类名控制器,访问时类名首字母需要小写 --> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean> <!-- 使用默认的映射处理器来映射controller --> <bean id="testController" name="/hello.do" class="cn.itcast.springmvc.TestController"></bean> <!--视图解析器: 前缀+ viewName +后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- webroot到某一指定的文件夹的路径 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 视图名称的后缀 --> <property name="suffix" value=".jsp"></property> </bean>
http://localhost:8080/springmvc-1/testController.do
标签:
原文地址:http://www.cnblogs.com/winner-0715/p/4964919.html