Spring MVC原理及配置详解

本文介绍SpringMVC框架的基本概念及优势,包括其轻量级特性、与Spring的无缝集成等,并通过一个简单的HelloWorld案例详细讲解了SpringMVC的配置步骤及运行流程。

  1. MVC框架要做哪些事情:

  1. URL映射到java类或java类的方法

  2. 封装用户提交的数据

  3. 处理请求-调用相关的业务处理-封装响应的数据

  4. 将响应数据的数据进行渲染,jsp,html,freemarker等。

     

    2springMVC是一个轻量级的,基于请求响应的MVC框架。

     

    3:为什么要学习spring MVC

      性能较struts2

      简单,便捷,易学

      天生和spring无缝集成(使用springIOCAOP

      使用约定优于配置

      能够进行简单junit测试

      支持Restfull风格

      异常处理

      本地化,国际化

      数据验证,类型转换等

      拦截器等

     

4:简单了解结构

    




5hellospringMVC的案例

    1. 导入相关包

    2. 配置web.xml文件,配置分发器

    <!-- 配置DispatchcerServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置Spring mvc下的配置文件的位置和名称 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
   
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


         c):添加springMVC配置文件,默认在WEB-INF下添加[DispatcherServlet Name]-servlet.xml文件,我这指定了src目录下的springmvc.xml


       <!-- 配置自动扫描的包 -->
        <context:component-scan base-package="nttdata.com.cn.hello"></context:component-scan>
       
        <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name = "prefix" value="/WEB-INF/jsp/"></property>
            <property name = "suffix" value = ".jsp"></property>
        </bean>



      d):编写HelloWorld.java

package nttdata.com.cn.hello;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloWorld {

    /**
     * 1. 使用RequestMapping注解来映射请求的URL
     * 2. 返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析
     * 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作
     * "/WEB-INF/views/success.jsp"
     * @return
     */
    @RequestMapping("/helloworld")
    public String hello(){
        System.out.println("hello world");
        return "success";
    }
}


e):页面请求http://localhost:8080/SpringMVC01/helloworld









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值