SpringMVC入门看这一篇就够了!

SpringMVC快速入门第一讲——SpringMVC介绍与入门 SpringMVC介绍SpringMVC是什么?SpringMVC和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来: SpringMVC处理流程SpringMVC处理流程如下图所示: 这个图大致描述了SpringMVC的整个处理流程,乍一看有点晕乎,且待我一步步分析,最后弄个流程图出来就明白了。SpringMVC入门程序本系列教程使 阅读详情

什么是SpringMVC?

SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架

640?wx_fmt=jpeg
这里写图片描述

为什么要使用SpringMVC?

我们在之前已经学过了Struts2这么一个基于MVC的框架….那么我们已经学会了Struts2,为啥要要学习SpringMVC呢???

下面我们来看一下Struts2不足之处:

  • 有漏洞【详细可以去搜索】

  • 运行速度较慢【比SpringMVC要慢】

  • 配置的内容较多【需要使用Struts.xml文件】

  • 比较重量级

基于这么一些原因,并且业内现在SpringMVC已经逐渐把Struts2给替代了…因此我们学习SpringMVC一方面能够让我们跟上业界的潮流框架,一方面SpringMVC确实是非常好用!

可以这么说,Struts2能做的东西,SpringMVC也能够做….

回顾Struts2开发

在Struts2中,我们的开发特点是这样的:

  • Action类继承着ActionSupport类【如果要使用Struts2提供的额外功能,就要继承它】

  • Action业务方法总是返回一个字符串,再由Struts2内部通过我们手写的Struts.xml配置文件去跳转到对应的view

  • Action类是多例的,接收Web传递过来的参数需要使用实例变量来记住,通常我们都会写上set和get方法

Struts2的工作流程

640?wx_fmt=png
这里写图片描述
  • Struts2接收到request请求

  • 将请求转向我们的过滤分批器进行过滤

  • 读取Struts2对应的配置文件

  • 经过默认的拦截器之后创建对应的Action【多例】

  • 执行完业务方法就返回给response对象


SpringMVC快速入门

导入开发包

前6个是Spring的核心功能包【IOC】,第7个是关于web的包,第8个是SpringMVC包

  • org.springframework.context-3.0.5.RELEASE.jar

  • org.springframework.expression-3.0.5.RELEASE.jar

  • org.springframework.core-3.0.5.RELEASE.jar

  • org.springframework.beans-3.0.5.RELEASE.jar

  • org.springframework.asm-3.0.5.RELEASE.jar

  • commons-logging.jar

  • org.springframework.web-3.0.5.RELEASE.jar

  • org.springframework.web.servlet-3.0.5.RELEASE.jar

编写Action

Action实现Controller接口

public class HelloAction implements Controller {
    @Override
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
        return null;
    }

}

我们只要实现handleRequest方法即可,该方法已经说了request和response对象给我们用了。这是我们非常熟悉的request和response对象。然而该方法返回的是ModelAndView这么一个对象,这是和Struts2不同的。Struts2返回的是字符串,而SpringMVC返回的是ModelAndView

ModelAndView其实他就是将我们的视图路径和数据封装起来而已【我们想要跳转到哪,把什么数据存到request域中,设置这个对象的属性就行了】。

public class HelloAction implements Controller {
    @Override
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {


        ModelAndView modelAndView = new ModelAndView();

        //跳转到hello.jsp页面。
        modelAndView.setViewName("/hello.jsp");
        return modelAndView;
    }
}

注册核心控制器

在Struts2中,我们想要使用Struts2的功能,那么就得在web.xml文件中配置过滤器。而我们使用SpringMVC的话,我们是在web.xml中配置核心控制器

<!-- 注册springmvc框架核心控制器 -->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <!--到类目录下寻找我们的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:hello.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <!--映射的路径为.action-->
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

创建SpringMVC控制器

我们在hello.xml配置文件中把SpringMVC的控制器创建出来

    <!--
        注册控制器
        name属性的值表示的是请求的路径【也就是说,当用户请求到/helloAction时,就交由HelloAction类进行处理】
    -->
    <bean class="HelloAction" name="/hello.action"></bean>

访问

当我们在浏览器访问http://localhost:8080/hello.action的时候,Spring会读取到我们的访问路径,然后对比一下我们的配置文件中是否有配置/hello.action,如果有。那么就交由对应的Action类来进行处理。Action类的业务方法将其请求输出到hello.jsp页面上。

640?wx_fmt=png
这里写图片描述

SpringMVC工作流程

640?wx_fmt=png
这里写图片描述
  • 用户发送请求

  • 请求交由核心控制器处理

  • 核心控制器找到映射器,映射器看看请求路径是什么

  • 核心控制器再找到适配器,看看有哪些类实现了Controller接口或者对应的bean对象

  • 将带过来的数据进行转换,格式化等等操作

  • 找到我们的控制器Action,处理完业务之后返回一个ModelAndView对象

  • 最后通过视图解析器来对ModelAndView进行解析

  • 跳转到对应的JSP/html页面

上面的工作流程中,我们是没有讲过映射器,适配器,视图解析器这样的东西的。但是SpringMVC的环境还是被我们搭建起来了。

下面就由我来一个一个来介绍他们是有什么用的!

映射器

我们在web.xml中配置规定只要是.action为后缀的请求都是会经过SpringMVC的核心Servlet。

当我们接收到请求的时候,我们发现是hello.action,是会经过我们的核心Servlet的,那么核心Servlet就会去找有没有专门的Action类来处理hello.action请求的。

也就是说:映射器就是用于处理“什么样的请求提交给Action”处理。【默认可省略的】…..

其实我们在快速入门的例子已经配置了:name属性就是规定了hello.action到HelloAction控制器中处理!

    <!--
        注册控制器
        name属性的值表示的是请求的路径【也就是说,当用户请求到/helloAction时,就交由HelloAction类进行处理】
    -->
    <bean class="HelloAction" name="/hello.action"></bean>

映射器默认的值是这样的:

  <!-- 注册映射器(handler包)(框架)【可省略】 -->
      <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       </bean>

当然了,上面我们在创建控制器的时候【也就是HelloAction】可以不使用name属性来指定路径,可以使用我们的映射器来配置。如以下的代码:

    <bean class="HelloAction" id="helloAction"></bean>

    <!-- 注册映射器(handler包)(框架) -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.action">helloAction</prop>
            </props>
        </property>
    </bean>

当我们需要多个请求路径都交由helloAction控制器来处理的话,我们只要添加prop标签就行了!

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.action">helloAction</prop>
                <prop key="/bye.action">helloAction</prop>
            </props>
        </property>
    </bean>
640?wx_fmt=png
这里写图片描述

适配器

当我们映射器找到对应的Action来处理请求的时候,核心控制器会让适配器去找该类是否实现了Controller接口。【默认可省略的】

也就是说:适配器就是去找实现了Controller接口的类

    <!-- 适配器【可省略】 -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

视图解析器

我们把结果封装到ModelAndView以后,SpringMVC会使用视图解析器来对ModelAndView进行解析。【默认可省略的】

也有一种情况是不能省略的。我们在快速入门的例子中,将结果封装到ModelAndView中,用的是绝对真实路径!如果我们用的是逻辑路径,那么就必须对其配置,否则SpringMVC是找不到对应的路径的。

那什么是逻辑路径呢???我们在Struts2中,返回的是"success"这样的字符串,从而跳转到success.jsp这样的页面上。我们就可以把"success"称作为逻辑路径。

在Action中返回hello,hello是一个逻辑路径。需要我们使用视图解析器把逻辑路基补全

    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {


        ModelAndView modelAndView = new ModelAndView();

        //跳转到hello.jsp页面。
        modelAndView.setViewName("hello");
        return modelAndView;
    }

如果不使用视图解析器的话,那么就会找不到页面:

640?wx_fmt=png
这里写图片描述

因此,我们需要配置视图解析器

    <!--
    如果Action中书写的是视图逻辑名称,那么视图解析器就必须配置
    如果Action中书写的是视图真实名称,那么视图解析器就可选配置
-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 路径前缀 -->
        <property name="prefix" value="/"/>
        <!-- 路径后缀 -->
        <property name="suffix" value=".jsp"/>
        <!-- 前缀+视图逻辑名+后缀=真实路径 -->
    </bean>

控制器

ParameterizableViewController

我们在之前使用Struts2的时候,如果仅仅要跳转到某个WEB-INF/JSP页面,也要写业务方法。而业务方法也仅仅是返回一个简单的字符串。

如下的代码:

public String home(){

    return "home";
}
    <package name="nsfw-home" namespace="/nsfw" extends="struts-default">

        <action name="nsfw_*" class="zhongfucheng.nsfw.HomeAction" method="{1}">
            <result name="{1}">/WEB-INF/jsp/nsfw/{1}.jsp</result>
        </action>
    </package>

在SpringMVC中,如果仅仅是跳转到某个视图上,我们可以省略该Action和业务方法。配置的Action只要继承着ParameterizableViewController这个类就行了!

    <!-- 专用于jsp到jsp/html的转发控制器 -->
    <bean name="/ok.action" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
        <!-- 转发到真实视图名 -->
        <property name="viewName" value="/WEB-INF/ok.jsp"/>
    </bean>
640?wx_fmt=png
这里写图片描述
  • 2017年9月26日15:57:45  现在看来, 好像还是在方法上写更好。我觉得统一管理起来会更加方便


AbstractCommandController

到目前为止,我们都没有将SpringMVC是怎么接收web端传递过来的参数的。

我们在Struts2中,只要在Action类上写对应的成员变量,给出对应的set和get方法。那么Struts2就会帮我们把参数封装到对应的成员变量中,是非常方便的。

那么我们在SpringMVC中是怎么获取参数的呢????我们是将Action继承AbstractCommandController这么一个类的。

public class HelloAction extends AbstractCommandController {

    @Override
    protected ModelAndView handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, BindException e) throws Exception {

        return null;
    } 
}

在讲解该控制器之前,首先我们要明白SpringMVC控制器一个与Struts2不同的地方:SpringMVC的控制器是单例的,Struts2的控制器是多例的!

也就是说:Struts2收集变量是定义成员变量来进行接收,而SpringMVC作为单例的,是不可能使用成员变量来进行接收的【因为会有多个用户访问,就会出现数据不合理性】!

那么SpringMVC作为单例的,他只能通过方法的参数来进行接收对应的参数!只有方法才能保证不同的用户对应不同的数据!

实体

实体的属性要和web页面上的name提交过来的名称是一致的。这和Struts2是一样的!

public class User {

    private String id;
    private String username;

    public User() {
    }

    public User(String id, String username) {
        this.id = id;
        this.username = username;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", username='" + username + '\'' +
                '}';
    }
}

提交参数的JSP

<form action="${pageContext.request.contextPath}/hello.action" method="post">
    <table align="center">
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>编号</td>
            <td><input type="text" name="id"></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="提交">
            </td>
        </tr>
    </table>

</form>

配置Action处理请求

    <bean class="HelloAction" id="helloAction"></bean>


    <!-- 注册映射器(handler包)(框架) -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello.action">helloAction</prop>
            </props>
        </property>
    </bean>

Action接收参数

public class HelloAction extends AbstractCommandController {

    /*设置无参构造器,里边调用setCommandClass方法,传入要封装的对象*/
    public HelloAction() {
        this.setCommandClass(User.class);
    }

    /**
     *
     * @param httpServletRequest
     * @param httpServletResponse
     * @param o  这里的对象就表示已经封装好的了User对象了。!
     * @param e
     * @return
     * @throws Exception
     */
    @Override
    protected ModelAndView handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, BindException e) throws Exception {

        User user = (User) o;

        System.out.println(user);

        ModelAndView modelAndView = new ModelAndView();
        //跳转到ok.jsp
        modelAndView.setViewName("/WEB-INF/ok.jsp");
        //将数据封装到ModelAndView中
        modelAndView.addObject("USER", user);
        return modelAndView;
    }
}

效果:

640?wx_fmt=png
这里写图片描述

小总结

640?wx_fmt=jpeg
这里写图片描述
640?wx_fmt=jpeg
这里写图片描述

Struts2和SpringMVC存值的区别:

640?wx_fmt=jpeg
这里写图片描述
  • SpringMVC的工作流程:

    • 用户发送HTTP请求,SpringMVC核心控制器接收到请求

    • 找到映射器看该请求是否交由对应的Action类进行处理

    • 找到适配器看有无该Action类

    • Action类处理完结果封装到ModelAndView中

    • 通过视图解析器把数据解析,跳转到对应的JSP页面

  • 控制器介绍了两种:

    • 可以实现对参数数据的封装

    • 能够实现跳转到WEB-INF下资源,并不用写处理方法

    • ParameterizableViewController

    • AbstractCommandController

————  e n d ————

觉得文章不错的,欢迎点在看和转发,长按下图关注公众号 程序员乔戈里,收看更多精彩。

640?

springMVC最全笔记,一篇就够 springMVC最全笔记内容 阅读详情

相关推荐

学会Spring与Web环境集成以及SpringMVC快速入门这一篇就够了

学会Spring与Web环境集成以及SpringMVC快速入门这一篇就够了 Spring集成web环境 1.1 ApplicationContext应用上下文获取方式 1.2 Spring提供获取应用上下文的工具 1.3 导入Spring集成web的坐标 1.4 配置ContextLoaderListener监听器 1.5 通过工具获得应用上下文对象 SpringMVC SpringMVC概述 SpringMVC快速入门 SpringMVC流程图示 SpringMVC 组件解析 SpringMVC的执行流程

LIUHAO的博客 612

SpringMVC第一篇【介绍、入门、工作流程、控制器】

什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架 为什么要使用SpringMVC? 我们在之前已经学过了Struts2这么一个基于MVC的框架….那么我们已经学会了Struts2,为啥要要学习SpringMVC呢??? 下面我们来看一下Stru...

3y 448

电驱系统功率级“多合一”解决方案

如何提升电驱动系统的产品性能、减小能耗和进一步轻量化,以加强整车市场竞争力,是摆在国内外新能源车企面前的共同课题。为此,具有多年动力总成电子系统开发经验的美国著名半导体及电子解决方案专家——德州仪器(Texas Instrument)提出了多种功率级别“多合一”整合方案和设计思路,助力新能源车企提升技术优势。

yessunday的专栏 1370

Spring MVC【入门】就这一篇!

MVC 设计概述 在早期 Java Web 的开发中,统一把显示层、控制层、数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1: 出现的弊端: JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起 要求开发者不仅要掌握 Java ,还要有高超的前端水平 前端和后端相互依赖,前端需要等待后端完成,后端也...

我没有三颗心脏的博客 642

扩增子测序|iCAMP包——基于系统发育零模型分析确定性和随机性在群落构建过程R中实践

iCAMP的核心功能是通过系统发育分箱的零模型分析,量化不同生态过程的相对重要性。,用于评估不同生态过程(同质选择、异质选择、扩散和漂变)对整个群落及各个系统发育分箱(bin)的相对重要性。该方法也成为nature,science系列文章的常客,深受大家喜欢,在文章中运用该方法将为论文增色不少。外环和内环的圆环图显示了每个门(或变形菌门的分类)中不同过程的相对重要性。中央是系统发育树,内环展示了不同过程的相对重要性,表示每个系统发育箱中的DL。示例代码中提供了数据和代码,已经小编测试,可直接运行。

weixin_46814750的博客 6230

鸿蒙平板PC应用开发:在termux中安装ubuntu

打开AVNC点击右上角的设置图标,然后点击 输入 , 点击手势栏目中的 单指轻扫 ,选择滚动远程内容

DMZDAMS的博客 5200

【SpringMVC】入门,这"一篇"文章就够了(一)

文章目录简介一、是什么二、优势三、对比Struts应用 简介 一、是什么  SpringMVC是一种基于Java实现的MVC设计模型的请求驱动类型的轻量级WEB模块,通过注解让一个简单的java类成为处理请求的控制器。它主要分为model(数据模型)、view(JSP、HTML请求)、Controller(接收用户请求)。 二、优势  SpringMVC的优点很多,这里不一一概述,介绍几个主要的:...

Smily-王婷婷 510

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

SpringMVC入门看这一篇就够了

转载自https://www.imooc.com/article/24433?block_id=tuijian_wz,觉得作为入门spring MVC写得很好,分享一下。 什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架 这里写图片描述 为什么要使用Sp...

Jimxiake的博客 657

在YOLO中扩充新类别并且不影响旧类的识别精度

让我们先从简单的部分开始:用我们的新类训练自定义 YOLOv8 模型。在本教程中,我们将向模型添加车牌类。我们将使用Roboflow 中的一个数据集。这个数据集有两个车牌类。在开始训练之前,我们还必须对库进行一些更改。为了节省时间,我还将本教程中我们将进行的更改转换为补丁该补丁包含多项更改,但大多数更改都用于指南的下一部分。if RANK!= -1:是的,我们将编写一个回调。我们希望将此自定义训练模型的头部与 COCO 预训练模型中的旧头部一起使用。

如果想成为中心,那么就到中心去吧。 1225

头歌OpenGauss数据库-G.视图的使用

OpenGauss数据库-G.视图的使用

python一生之敌的博客 1383

SSM框架-SpringMVC详解

springmvc概述 Springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合。 Springmvc是一个基于mvc的web框架 表现层的三大任务: URL到controller的映射 http请求参数绑定 http响应的生成和输出 MVC设计模式 MVC设计模式是一种通用的软件编程思想。 在MVC设计模式中认为, 任何软件都可以分为三部分组成: (1)控制程序流转的控制器(Controller) (2)封装数据处理数据的模型(Mod.

weixin_50205273的博客 708

【UML】-- 期末试题题库含答案(各章题目、选择题、填空题、简答题、画图题)

每章都有对应的题目和答案,选择题,填空简答,大题,答案已标红,方便大家观看

个人博客 1万+

SpringMVC入门一篇就够了!

SpringMVC小结 1. Spring简化IOC容器的获取 1.1 原理 在spring学习中,我们要获取IOC容器通常都是new ClasspathXmlApplicationContext(applicationContest.xml)来获取,这种方式的弊端是每次通过IOC获取Bean时都要new一下,applicationContest.xml文件要加载多次。 在web项目中,我们可以利用监听器监听web应用的启动,当web应用启动时,就自动加载Spring配置文件applicationCont

weixin_44226752的博客 1337

Ubuntu搭建Pytorch环境(Anaconda、Cuda、cuDNN、Pytorch、Python、Pycharm、Jupyter)

Ubuntu搭建Pytorch环境(Anconda、Cuda、Pytorch、Python、Pycharm、Jupyter)

funfan的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SpringMVC快速入门,看这一篇就够了!

springmvc概述 Springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合。 Springmvc是一个基于mvc的web框架 表现层的三大任务: URL到controller的映射 http请求参数绑定 http响应的生成和输出 MVC设计模式 MVC设计模式是一种通用的软件编程思想。 在MVC设计模式中认为, 任何软件都可以分为三部分组成: (1)控制程序流转的控制器(Controller) (2)封装数据处理数据的模型(Model) (3)负责展示数据的

程序媛小琬的博客 886

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

阿里技术专家深入讲解,SpringMVC入门到进阶,看这一篇就够了!

前言 SpringMVC是一个实现了Web MVC设计模式的轻量级Web框架。它与前辈Struts 2框架一样,都属于MVC框架,因为其使用和性能等方面比Struts 2更加优异,所以Spring MVC是现在比较主流的MVC框架。 先简单概括一下SpringMVC的主要特点: 灵活性强,容易与其他框架集成;提供了前端控制器DispatcherServlet;支持多种视图技术,如JSP、FreeMarker等视图技术;支持国际化; And So On… 接下来,开始写我们的第一个Spring MV

Java____superman的博客 576

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SpringMVC(看这一篇就够了)

MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分:Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。View(视图):用于展示模型中的数据的,一般为jsp或html文件。Controller(控制器):是应用程序中处理用户交互的部分。接受视图提出的请求,将数据交给模型处理,并将处理后的结果交给视图显示。 SpringMVC是一个基于MVC

m0_74436895的博客 3万+

SpringBoot入门,这一篇就够了

0. 学习目标 说出Spring Boot的作用 应用Spring Boot Yaml配置文件 了解Spring Boot自动配置原理 使用Spring Boot整合SpringMVC 使用Spring Boot整合连接池 使用Spring Boot整合Mybatis 使用Spring Boot整合Redis 部署Spring Boot项目 1. Spring Boot概述 在这一部分,我们主要了解以下3个问题: 什么是Spring Boot 为什么要学习Spring Boot Sp

terence的博客 3万+

SpringMVC【入门】篇

SSM三部曲: 如果你读完这篇文章,恭喜你!你的spring入门了! 如果你读完这篇文章,恭喜你!你的Mybatis入门了! 第一篇 SpringMVC的概念及入门 什么是SpringMVC? 概念 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Sp...

qq_40181435的博客 1万+

SpringMVC框架入门看这一篇就够了

Spring MVC体系结构与处理请求控制器 一、基本认识 我们常说的SSM项目,第一个“S”,就是我今天要给大家说的SpringMVC,第二个“S”是什么呢?是Spring,最后一个“M”就是Mybatis持久层框架,它封装了JDBC操作,让我们在对数据库进行操作的时候可以更加便捷。 SpringMVC它主要是来干嘛的呢?就像我上文说到的,Mybatis把JDBC封装了,那SpringMVC又做了什么呢?核心就是IOC,控制反转,对所有的对象,比如说Service层,对象的控制交给了Spring,还有一些

JavaJieRui的博客 1230

【SpringMVC】| SpringMVC 入门

【SpringMVC】| SpringMVC 入门

m0_61933976的博客 4108

学会 SpringMVC,看这一篇就够了!

什么是 SpringMVC ? SpringMVC 实际上是 Spring 的一部分,它是一个表现层的框架。 什么是 MVC 模型 用户的请求会到达 Servlet,然后根据请求调用相应的 Java Bean,并把所有的显示结果交给 JSP 去完成,这样的模式我们就称为 MVC 模式。 M 代表 模型(Model):数据,dao,bean V 代表 视图(View):网页,JSP,用来展示模型...

Geffin的博客 846

SpringMVC看这一篇就够了(一)

SpringMVC 简介: SpringMVC是一个Web层的MVC框架, MVC model模型 view 视图 controller 控制器 这三层为的是将责任进行拆分. 不同的组件负责自己的事情.降低耦合度 好处 结构清晰 更容易维护(大量使用JSP的年代, 容易出现难以维护的情况) 坏处 更加复杂 文章目录SpringMVC简介:MVC@[toc]SpringMVC简单分析F...

TheSevenSky 2712

学习SpringMVC这一篇就够了

1.SpringMVC 1.1.概述 SpringMVC 也叫 Spring web mvc。是 Spring 框架的一部分,是在 Spring3.0 后发布的 SpringMVC的底层本质就是servlet 1.2.优势 基于 MVC 架构 基于 MVC 架构,功能分工明确。解耦合 容易理解,上手快;使用简单 Spring MVC通过一套MVC注解,让 POJO 成为处理请求的控制器,而无须实现任何接口 作 为Spring框 架 一 部 分 , 能 够 使 用Spring的IoC和Aop。

qq_45366447的博客 795
上一篇: GitHub 60000+ Star 登顶,命令行的艺术!
下一篇: 入职百度一周,我知道了这些
程序员乔戈里
博客等级 码龄8年 1057粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值