zoukankan      html  css  js  c++  java
  • Spring MVC入门配置

    1. Spring MVC 介绍

    Spring MVCSpring框架中的一个子项目,为Web应用程序开发提供MVC模式的支持。Spring MVC的功能与Struts2框架相似,可以把Java Web程序员从繁复的Serlvet API中解放出来;与Struts2不同的是,尤其在Spring 3.1之后,Spring MVC广泛采用了规范优于配置convention-over-configuration)的设计思想,因此配置信息大大减少,灵活性也有很大的提升。

    2.Spring MVC的特点

    • Controller为中心完成对系统流程的控制
    • 从请求中搜集数据
    • 对传入的参数进行验证
    • 将结果返回给视图
    • 针对不同的视图提供不同的解决方法
    • 针对jsp视图技术提供标签库
    • 拦截器
    • 上传文件

     

    3.MVC架构的核心类和原理

    • DispatchServlet:中央控制器,把请求转发给具体的控制器类
    • Controller: 具体的控制器类
    • HandlerMapping:映射处理器,负责映射中央处理器到具体控制器类的策略
    • ModelAndView:服务层返回的数据层和视图层的封装类
    • ViewResolver:视图解析器,解析具体的视图
    • Inteceptors:拦截器

    下图是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.4src中定义一个控制器类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.5springmvc-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/hello1url访问时,使用的是简单的url映射处理器

  • 相关阅读:
    python-----删除文件到回收站
    python-----列表生成式和列表生成器表达
    html5 标准文档结构
    java基础之 类型转换
    java基础之 数据类型
    java基础之 变量
    java基础之 开发环境配置
    通用登录界面1.1
    mysql获取字段信息
    喵喵喵?
  • 原文地址:https://www.cnblogs.com/yang5201314/p/5393307.html
Copyright © 2011-2022 走看看