SpringMVC框架学习笔记整理-动力节点王鹤(无必详细)

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

继续整理了Springmvc的学习笔记,动力节点王鹤老师讲的springmvc,分享给大家。

看了这么多网上的视频,还是只有王鹤老师讲的能听明白…就喜欢讲的细的,而且老师条理很清晰

视频资源:https://www.bilibili.com/video/BV1sk4y167pD

第一章 SpringMVC 概述

1.1 SpringMVC 基本说明

SpringMVC是基于spring的, 是spring中的一个模块,做web开发使用的。 springmvc 叫做spring web mvc

说明他是spring的核心技术, 做web开发,springmvc内部是使用mvc架构模式。

SpringMVC 是一个容器, 管理对象的,使用IoC核心技术。 springmvc管理界面层中的控制器对象。

SpringMVC底层也是Servlet。 以Servlet为核心, 接收请求,处理请求。 显示处理结果给用户。

处理用户的请求:

用户发起请求----SpringMVC—Spring—MyBatis–mysql数据库

1.2 SpringMVC中的核心Servlet – DispatcherServlet

DispatcherServlet 是框架一个Servlet对象。 负责接收请求, 响应处理结果。

DispatcherServlet 他的父类是HttpServlet

DispatcherServlet 也叫做前端控制器( front controller)。

SpringMVC是管理控制器对象, 原来没有SpringMVC之前使用 Servlet作为控制器对象使用。现在通过SpringMVC容器创建一种叫做控制器的对象,代替Servlet行驶控制器的角色。功能。

SpringMVC 主要使用注解的方式, 创建控制器对象, 处理请求。

<servlet>
    <servlet-name>myweb</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>
    <!--
       表示服务器tomcat创建对象的顺序, 是个整数值, 大于等于0.
       数值越小,创建对象的时间越早。
    -->
    <load-on-startup>1</load-on-startup>
</servlet>


<servlet-mapping>
    <servlet-name>myweb</servlet-name>
    <!--
       url-pattern 作用: 把一些请求交给指定的servlet处理
       使用中央调度器(DispatcherServlet)
       1. 使用扩展名方式, 格式 *.xxx ,  xxx是自定义的扩展名。
          例如  *.do , *.action, *.mvc 等等. 不能使用*.jsp
          http://localhost:8080/myweb/some.do
          http://localhost:8080/myweb/user/list/queryUser.do
          http://localhost:8080/myweb/user/list/list.do

       2. 使用斜杠 "/"
    -->
    <url-pattern>*.do</url-pattern>

</servlet-mapping>

1.3 springmvc请求的处理过程

简单的处理过程:

用户发起请求some.do—>Tomcat接收了请求—DispatcherServlet–分配MyController(doSome()返回mv对象)–mv显示给用户了。

省略tomcat

用户some.do--------------DispatcherServlet--------------MyController

如果使用servlet处理请求

用户发起请求--------------------没有其他对象------------------------Servlet
在这里插入图片描述

1.4 复习

用户发起some.do—DispatcherServlet(Servlet接收请求)—转给MyController

public class DispatcherServlet extends HttpServlet{
   
   public void service(HttpServletRequest request, HttpServletResponse response){
   
   if("some.do".equals(request.getURI())){
   
   //从容器中获取MyControllerMyController c  = ctx.getBean("some"));

​                              c.doSome();} e lse if( "other.do".equals(request.getURI())){
   
   OtherController c  = ctx.getBean("other"));

​                               c.doOther();}}

}

1.5 web开发中配置文件的说明

  1. web.xml 部署描述符文件 , 给服务器(tomcat)。

    作用:服务器在启动的时候,读取web.xml ,根据文件中的声明创建各种对象,

    ​ 根据文件中的声明 知道 请求和servlet等对象的关系。

  2. 框架的配置文件, springmvc的配置文件

    作用:声明框架创建的项目中的各种对象, 主要是创建Controller对象的

配置文件的加载顺序和功能

  1. tomcat服务器启动, 读取web.xml. 根据web.xml文件中的说明,创建对象。

    <servlet>
            <servlet-name>myweb</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>
            <!--
               表示服务器tomcat创建对象的顺序, 是个整数值, 大于等于0.
               数值越小,创建对象的时间越早。
            -->
            <load-on-startup>1</load-on-startup>
        </servlet>
    

    创建DispatcherServlet他的对象, 会执行init()方法。 在init()方法中会执行 springmvc容器对象创建

    WebApplicationContext ctx = new ClassPathXmlApplicationContext(“classpath:springmvc.xml”)

  2. springmvc框架, new ClassPathXmlApplicationContext()读取springmvc的配置文件。

     <context:component-scan base-package="com.bjpowernode.controller" />
    
        <!--声明视图解析器:帮助处理视图-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!--前缀:指定视图文件的路径-->
            <property name="prefix" value="/WEB-INF/view/" />
            <!--后缀:视图文件的扩展名-->
            <property name="suffix" value=".jsp" />
        </bean>
    

使用组件扫描器base-package=“com.bjpowernode.controller” ,遍历controller包中的所有类,MyController类, 找到这个类中的@Controller, @RequestMapping注解, 就能创建MyContoller对象。

知道some.do的请求是执行doSome()方法

以上 1, 2. 都是项目启动的过程, 没有执行任何的用户请求。

  1. 用户发起请求some.do----DispatcherServlet

    DispatcherServlet里面有 WebApplicationContext 。 WebApplicationContext 里面有MyController对象。

    请求some.do ,DispatcherServlet 就知道是 MyController处理的。

1.6 SpringMVC内部的执行流程

springmvc内部请求的处理过程

  1. 用户发起请求给DispatcherServlet

  2. DispatcherServlet把请求(request)交给了 处理器映射器。

    处理器映射器: springmvc框架中的对象, 需要实现HandlerMapping接口。

    映射器作用: 从springmvc容器中,获取控制器对象(MyController),把找到的控制器和拦截器对象都放到 处理器执行链对象中,保存,并返回给中央调度器。(MyController controller = ApplicationContext.getBean())

  3. DispatcherServlet把获取到的处理器执行链中的控制器对象,交给了处理器适配器

    处理器适配器:是springmvc框架中的对象, 实现HandlerAdapter接口。

    适配器作用: 执行控制器的方法, 也就是执行MyController.doSome()方法。得到结果ModelAndView

  4. DispatcherServlet把控制器执行结果mv交给了 视图解析器

    视图解析器: springmvc中的对象,需要实现ViewResolver接口。

    视图解析器作用: 处理视图的, 组成视图的完整路径。 能创建View类型的对象

  5. DispatcherServlet调用View类的方法, 把Model中的数据放入到request作用域。 执行request.setAttribute(), 对视图执行forward()转发行为, request.getRequestDispather("/show.jsp").forward(request,response)

第二章 SpringMVC 注解式开发

2.1 @RequestMapping注解的使用。

属性: value 请求的uri地址。

位置: 1) 在方法的上面, 必须的。 2)在类的上面作为模块名称

Ollama DNS 重新绑定攻击 (CVE-2024-28224) 一旦 DNS 重新绑定攻击成功,攻击者就可以对这些 API 进行排序,以读取 Ollama 运行的进程可访问的任意文件数据,并将这些数据泄露到攻击者控制的系统中。完成对“创建模型” API 请求的调用后,Ollama 将收集组成新创建的用户模型的许多工件,包括大型语言模型数据、许可证数据等,以及我们要提取的文件,所有这些都可以通过其 SHA256 内容进行寻址。这是我们要窃取的文件,在我们的示例中,是可通过运行 Ollama 的主机上的路径名访问的现有文本文件。值得注意的是,该模型配置为通过参数中的。 阅读详情

相关推荐

手机直连低轨卫星通信:架构、关键技术和未来展望

【摘 要】借助低轨卫星星座全时全域覆盖优势,手机直连卫星通信预期成为6G重要特征之一。首先介绍了手机直连卫星的测试验证、标准化与商业项目发展现状。其次,介绍了基于透明转发、部分可再生处理、完全可再生处理、集成接入和回传的四种手机直连低轨卫星网络架构及组网方式。通过分析手机直连低轨卫星网络场景下高移动性与大传输时延等带来的接入与传输问题,提出对地面移动通信体制进行适应性改进的关键技术方案。最后,探讨了未来手机直连低轨卫星发展发向和潜在思路。通过上述阐述与分析,提供未来发展手机直连低轨卫星通信的可行路径。【关

fzq0625的博客 1653

SSM-SpringMVC框架学习笔记

SpringMVC框架 第一章 SpringMVC 概述 1.1 SpringMVC 基本说明 SpringMVC是基于spring的, 是spring中的一个模块,做web开发使用的。 springmvc 叫做spring web mvc 说明他是spring的核心技术, 做web开发,springmvc内部是使用mvc架构模式。 SpringMVC 是一个容器, 管理对象的,使用IoC核心技术。 springmvc管理界面层中的控制器对象。 SpringMVC底层也是Servlet。 以Servlet为

qq_45603808的博客 429

2004-2021年全国死因监测数据集-最新出炉.zip

2004-2021年全国死因监测数据集-最新出炉.zip

SpringMVC笔记

1、SpringMVC概述 1.1、SpringMVC概念 SpringMVC也叫Spring web mvc。是Spring内置的一个MVC框架,在Spring3.0后发布。SpringMVC框架解决了WEB开发中常见的问题(参数接收、文件上传、表单验证等等),而且使用简单,与Spring无缝集成。支持RESTful风格的URL请求,采用了松耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。 1.2、SpringMVC原理 在没有使用SpringMVC之前我们都是使用Servlet在做Web开发。但

cc76825的博客 636

SpringMVC 实战

主要内容 MVC 架构模式简介 SpringMVC 简介 SpringMVC 的基本使用 SpringMVC 基于注解开发 获取请求参数 指定处理请求类型 SpringMVC 处理响应 文件上传与下载 静态资源映射 S pringMVC 的异常处理 SpringMVC 拦截器 SpringMVC 对 Restful 风格的支持 JSON 数据处理 SpringMVC 解决跨域请求问题 SpringMVC 常用注解 SSM 框架整合 基于 Maven 搭建 SSM 整合 一、 MVC 架构模式简介 MVC 是

LiLi的博客 3158

超级详细!!!SSM三部曲之SpringMVC下篇完整知识点 涵盖:获取原生对象、获取请求头和Cookie、JSP开发模式、拦截器、统—异常处理、文件上传、文件下载、SpringMVC执行流程!!!

10.获取原生对象 我们之前在web阶段我们经常要使用到request对象,response,session对象等。我们也可以通过SpringMVC获取到这些对象。(不过在MVC中我们很少获取这些对象,因为有更简便的方式,避免了我们使用这些原生对象相对繁琐的API。) 我们只需要在方法上添加对应类型的参数即可,但是注意数据类型不要写错了,SpringMVC会把我们需要的对象传给我们的形参。 例如: @Controller public class RequestResponseContr...

weixin_45203539的博客 371

springmvc 同时匹配.do,.action

web.xml: 正确的多路径匹配配置: <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-n

蚂蚁吞象 1100

SpringMVC学习笔记整理详细

SpringMVC 文章目录SpringMVC1.回顾MVC1.1、什么是MVC1.2、Model1时代1.3、Model2时代1.4、回顾Servlet2、什么是SpringMVC2.1、概述2.2、中心控制器2.3、SpringMVC执行原理3.第一个MVC程序配置版注解版小结4.RestFul和控制器控制器Controller实现Controller接口使用注解@ControllerRequestMappingRestFul 风格扩展:小黄鸭调试法5.数据处理及跳转结果跳转方式ModelAndView

qq_43431171的博客 6230

SpringMVC-动力节点-王鹤

第1章 SpringMVC 概述 1.1 SpringMVC 简介 SpringMVC 也叫 Spring web mvc。是 Spring 框架的一部分,是在 Spring3.0 后发布的。 1.2 SpringMVC 优点 1.基于 MVC 架构 基于 MVC 架构,功能分工明确。解耦合, MVC(Model–View–Controller)模式是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 模型(Model):程序

魂小猫的博客 1701

SpringMVC框架详细解读

帮助你快速认识SpringMVC框架,@Controller注解,DispatcherServlet中央调度器,Servlet

weixin_44362089的博客 4363

动力节点王鹤MyBatis框架『第一章』框架的概述

MyBatis 框架 第一章 框架的概述 1.三层架构 mvc:web开发中,使用mvc架构模式。 m:数据, v:视图, c:控制器。 c控制器: 接收请求,调用service对象,显示请求的处理结果。 当前使用servlet作为控制器 v视图: 现在使用jsp,html,css,js。 显示请求的处理结果,把m中数据显示出来。 m数据: 来自数据库mysql, 来自文件,来自网络 mvc作用: ​ 1)实现解耦合。 ​ 2)让mvc 各负其职。 ​ 3)使的系统扩展更好。更

A_coding的博客 1392

[Java]SpringMVC 学习笔记动力节点王鹤王妈妈2020)

SpringMVC 学习笔记SpringMVC 概述 SpringMVC 处理用户请求的过程 第一个 SpringMVC 程序 创建项目 引入依赖 注册 DispatherServlet 对象 创建发起请求的页面 index.jsp 创建控制器类 创建显示结果的页面 创建 springmvc 的配置文件 请求处理过程分析 DispatcherServlet 源码分析 init() doDispath() 配置视图解析器 类上的 RequestMapping 注解 设置方法处理请求的类型 处理器方法形参 Ht

emmmm..... 689

[记录学习]自学动力节点荣姐SpringMVC5笔记

SpringMVC5 学习笔记

sls1223074612的博客 4959

整理动力节点王鹤老师ssm整合步骤

听了动力节点王鹤老师的Springmvc课程,根据老师上课做的笔记,还有注意点,还有自己写碰到的一些问题,或者需要注意的地方,整理出来的一份文章

weixin_59649587的博客 956

动力节点王鹤Spring Boot笔记

多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 如果须启动一个新的Spring项目,我们须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置。 因此,开始一个新的spring项目需要很多努力,因为我们现在须从头开始做所有事情。 Spring Boot是解决这个问题的方法。Spring Boot已经建立在现有spring框架

DDDYSz的博客 328

SpringMVC学习笔记(一): 基础知识

spring-mvc的主要结构: 1、DispatcherServlet:中央控制器。 1)把请求给转发到具体的控制类(即具体的Controller)。 2)需要在web.xml 中配置,类似于struts2需要配置的 StrutsPrepareAndExecuteFilter 。 2、Controller:具体处理请求的控制器。 1)类似于struts2的action ,处理具体请求与返回的信息。 2)日常功能都在Controller 中处理。可以使用xml实现(继承AbstractController

Sam Blog 2316

初探SpringMVC,走进SpringMVC的世界

1.Springmvc入门 1.1.Springmvc是什么 SpringMVCSpring中的一个组件,目前(2019)在互联网公司用的很多,是需学习的一门框架技术!SpringMVC用于web层,相当于controller(等价于传统的servlet和struts的action,或者hendler),用来处理用户请求。举个例子,用户在地址栏输入http://网站域名/login,那么spr...

weixin_45932896的博客 299

SpringMVC中央调度器的*.do和/处理静态文件的区别

url-pattern的*.do和/url-pattern的第一种*.dourl-pattern的第二种 /解决方案一解决方案二 url-pattern的*.do和/ 在web.xml中配置中央调度器的时候,配置url-pattern时有*.do和/两种方式 两种方式对静态资源的处理不同 web.xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class&g.

qq_36976201的博客 1321

SpringMVC

SpringMVC 1 了解MVC MVC是英文Modle(具体业务处理) View(视图) Controller(控制器请求和响应,业务分发页面跳转)的简称,是一种软件设计典范,目的是将业务逻辑、数据、页面视图代码分离,降低耦合。 2 什么是SpringMVC 表示层的MVC框架,是Spring的子...

fighting 566

Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空

1、在写异步线程代码时,一定要注意异常情况的捕获和处理;若未正确的捕获或处理异常,会导致程序没有达到预期的执行结果,且没有任何异常输出,造成出现问题,难以排查的情况。

HaHa_Sir的博客 8963
上一篇: MyBatis框架学习笔记整理(超全、硬货)管饱
下一篇: 面试官最爱问的Redis(一)NoSQL简介及使用
Java_Coding1
博客等级 码龄5年 9粉丝 · 46原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值