Spring Mvc

本文深入剖析SpringMVC框架,介绍其作为轻量级Web框架的优势,包括灵活性、易于集成、自动绑定输入及国际化支持等特点。详细讲解了SpringMVC的配置过程,从Web.xml配置到控制器编写,再到springmvc-config.xml的设置,最后到JSP页面的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

what?

  • Spring mvc 是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架,它与Struts2框架一样,都是MVC框架,但其使用和性能等方面比Struts2更优异。

特点

  • 是Spring框架的一部分,可以方便的利用Spring所提供的其他功能,
  • 灵活性强,易于与其他框架集成,
  • 提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象
  • 可自动绑定用户的输入,并能正确的转换数据类型,
  • 内置了常见的检验器,可以校验用户的输入,如果校验不能通过,那么重定向到输入表单
  • 支持国际化,可以根据用户区域显示多国语言
  • 支持多种视图技术,它支持JSP,Velocity和FreeMarker等视图技术
  • 使用基于XML的配置文件,在编译后,不需要重现编译应用程序

程序过程

  • 在 web.xml中配置前端控制器DisaptcherServlet,在初始化文件属性中配置前端控制器的配置文件(处理器,处理器映射器,处理器适配器,视图解析器)
  • 在控制层编写FirstController implements Cotroller(注意包是Web的MVC的),在重写的方法中,实例化ObjectAndView对象,并设置setObject,setView(这里面映射的是一个jsp文件的地址),并返回这个实例话对象。
  • 控制器的配置文件(springmvc-config.xml):在这里面配置处理器,处理器映射器,处理器适配器,视图解析器,
  • 新建一个jsp文件,接受Object中的数据

代码

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!--配置前端控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--初始化时加载配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-config.xml</param-value>
        </init-param>
        <!--表示容器启动立即加载配置文件-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

FirstController

package com.yzb.chapter11.controller;


import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* 控制器类
* */
public class FirstController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        //创建一个对象ModelAndView对象
        ModelAndView modelAndView = new ModelAndView();
        //像模型对象中添加数据
        modelAndView.addObject("msg","这是我的一个程序");
        //设置逻辑视图名
        modelAndView.setViewName("/WEB-INF/JSP/first.jsp");
        //返回ModelAndView对象
        return modelAndView;
    }
}

springmvc-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    <!--配置处理器Handle,映射请求“/firstController”-->
    <bean name="/firstController" class="com.yzb.chapter11.controller.FirstController"/>
    <!--处理器映射器,将处理器Handle的name作为url进行查找-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--处理器适配器,配置对处理器中handleRequest()方法的调用-->
    <bean class="org.springframework.web.servlet.handler.SimpleServletHandlerAdapter"/>
    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
    <!--在spring4.0之后,处理器映射器,处理器适配器,视图解析器不用在配置-->
</beans>

first.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--EL表达式--%>
${msg}
</body>
</html>

Spring mvc 的过程理解

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值