MVC架构与SpringMVC的简单理解

本文介绍了MVC架构的概念,详细阐述了模型、视图和控制器的职责,以及使用MVC架构带来的优势。接着,重点讲解了SpringMVC作为Spring框架的一部分,它的特点和工作流程,并给出了一个简单的配置及控制器示例。通过这个例子,读者能够了解如何在实际项目中应用SpringMVC。

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

什么是MVC架构

MVC分别对应Model、View、Controller,即模型、视图、控制器。
模型层负责存储数据,视图层负责将信息展示给用户,控制器层负责协调模型层和视图层,它负责与视图层交互并根据用户的操作对模型层进行控制、修改等。

MVC架构将业务逻辑、数据、显示分离,提高了部分代码的复用性,降低了各个模块间的耦合性,可以使各个层级进行独立测试

如果项目使用MVC架构将会有以下几点好处:
1.生命周期成本低
2.方便部署
3.方便维护
典型的MVC架构就是JSP+Servlet+JavaBean的模式

Spring中的MVC

Spring MVC是spring框架的一部分,是一个基于java实现MVC的轻量级Web框架。
SpringMVC的特点:
1.轻量级,简单易学
2.高效,基于请求响应
3.约定优于配置
4.功能强大:支持RESTful、数据校验、格式化、本地化等。

Spring的Web框架围绕DispatcherServlet(调度Servlet)设计。

DispatcherServlet的作用就是将请求分发到不同的处理器,并且从Spring 2.5开始,使用Java 5或以上的用户可以使用注解进行开发,非常简单。
SpringMVC的流程如下图:
SpringMVC的工作流程
简单的Spring MVC样例:
1.首先我们需要配置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_4_0.xsd"
         version="4.0">
        <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.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>

2.我们需要配置springmvc的配置文件:

<?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.xsd">
    <!-- 配置处理器映射器 -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!-- 配置处理器适配器 -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!-- 注册我们的处理器,也就是controller注册到bean容器中! -->
    <bean class="com.hkd.controller.UserController" id="/hello"/>
</beans>

3.写一个controller即处理器:

package com.hkd.controller;

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 实现Controller接口,我们的类就是一个处理器了!
 */
public class UserController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView mv=new ModelAndView();
        mv.addObject("msg","Hello!!");
        mv.setViewName("hello");
        return mv;
    }
}

最后将项目发布并运行服务器,就可以通过对应的url地址来进行测试了!
注意:
测试时报错首先查看控制台报错信息!根据报错信息排查错误。
如果使用IDEA进行项目的编辑与测试,报404错误可以尝试查看out文件夹下是否自动打包了lib文件夹,如果没有则需要手动添加lib目录和依赖包!
总结:
本文主要简单解释了MVC架构思想和对于SpringMVC的简单理解以及简单样例,希望大家批评指正!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值