码迷,mamicode.com
首页 > 编程语言 > 详细

spring mvc开发:基于配置文件

时间:2015-11-14 20:40:32      阅读:435      评论:0      收藏:0      [点我收藏+]

标签:

1. Spring-mvc介绍

  1.1市面上流行的框架

  • Struts2(比较多)
  • Springmvc(比较多而且属于上升的趋势)
  • Struts1(即将被淘汰)
  • 其他

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

 

spring mvc开发:基于配置文件

标签:

原文地址:http://www.cnblogs.com/winner-0715/p/4964919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!