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

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

Spring MVC体系结构与处理请求控制器

一、基本认识
我们常说的SSM项目,第一个“S”,就是我今天要给大家说的SpringMVC,第二个“S”是什么呢?是Spring,最后一个“M”就是Mybatis持久层框架,它封装了JDBC操作,让我们在对数据库进行操作的时候可以更加便捷。
SpringMVC它主要是来干嘛的呢?就像我上文说到的,Mybatis把JDBC封装了,那SpringMVC又做了什么呢?核心就是IOC,控制反转,对所有的对象,比如说Service层,对象的控制交给了Spring,还有一些关于事务的管理,AOP切面编程,公共的一些代码也可以交由Spring来管理。
Mybatis替代了JDBC,封装了连接数据库等的细节,那SpringMVC它替代了什么呢?他实现了IOC和AOP对对象的控制,其实它代替可以理解为是替代了Servlet这一层。在用MVC框架之前,用Servlet很麻烦,要继承一下Servlet,实现doget和dopost等的方法,所有请求过来都会经过doget和dopost等的方法。根据你传参数的不同来决定访问哪一个方法。实现请求的区分。但是这个方法太繁琐了。所以我们要来学习MVC来把Servlet来替换掉,因为它太繁琐了,实现一个控制层的反转。
springMVC流程图
上图是一个MVC的架构图。
实现的是一个Controller到Model,Model就是模型,也就是Dao层,JavaBean,到View视图层,给用户看的一个页面,Jsp等等。这就是MVC,分层的一个框架。请求会经过controller(控制器)-》调Service层-》调Dao层,最后Controller来决定调一个Jsp或一个Html页面来返回给用户看。
二、基本使用
SpringMVC如何搭建?也非常简单
1.下载jar文件并导入工程(jar包)
-spring-web-3.2.13.RELEASE.jar
-spring-webmvc-3.2.13.RELEASE.jar
2.配置文件(配置xml文件)
-在web.xml中配置Servlet
-创建Spring MVC的配置文件
3.创建Controller处理请求的控制器(java的程序调用)
搭建:
第一步:创建一个web的项目,一定要勾选web!下面是流程图:
创建一个web工程
给项目起名字,以及目录放置就不赘述了
这是创建完成的样子,这里用的IDE是IDEA;
工程创建好的样子
一定要有一个带蓝点的web文件夹以及下面的WEB-INF和web.xml的文件,才是一个web工程,当然也有创建失败的情况,也就是web文件夹不带小蓝点,这个在IDEA中怎么处理我们以后再讲。因为这里一定要有web组件。它是一个web项目。为了真正的让大家理解,这里我们不用MAVEN来管理jar包,采用直接添加jar包的方式来讲解。
引jar包,我们要在WEB-INF下创建一个lib文件夹,用来存放jar包;
创建jar包文件夹
好了,存放jar包的地方创建完成之后,我们就可以去仓库找一下对应的jar包添加了。
给工程添加jar包
上图是给工程添加好jar包的样子,把jar包放进lib文件夹后一定要记得全部选中你要添加的jar包然后add as libary,这样jar包才会生效。
ok,这样第一步给工程引jar包就完成了
第二步:配置xml文件
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">
    <display-name></display-name>
    <!--SpringMVC-Servlet配置-->
    <servlet>
        <servlet-name>springmvc</servlet-name><!--首先是起个名字,这里我叫springmvc,叫什么无所谓-->
    <!--这里是用mvc框架与Servlet最大的不同,以前用Servlet的时候,起完名字要给一个class,也就是这个变量名到底是哪个类
    即是自己写的一个Servlet,但是这里不同了,这里用的是框架,也就是SpringMVC写的Servlet:把包名.类名直接带进来就ok
    "org.springframework.web.servlet.DispatcherServlet"-->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--配置找springmvc的配置文件路径,不配置的话,他默认会去WEB-INF的目录下找-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
    </servlet>
    <!--以前指向的是自己写的Servlet,现在指向的是SpringMVC的Servlet-->

    <!--声明完Servlet之后,紧接着就要声明一下哪一些映射能过去,也就是路径,这里配/user-->
    <!--这个是什么意思呢?这个就是如果请求到这个项目,如果请求的路径中包含/user就会去找springmvc,找到它就会去找servlet-name
    的springmvc,找到它的话,就找到了servlet-class中我们配置的SpringMVC的Servlet,找到"org.springframework.web.servlet.DispatcherServlet"
    请求就进去了,只不过这个Servlet不是我们自己写的,而是框架中带的-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/user/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
ok,配置web.xml文件的详细内容和讲解我都放在注释中去讲解了,下面我们还需要配一个文件,springmvc.xml;

首先新建一个名字为resources的文件夹,将他标记为资源文件夹,怎么标记呢?创建完文件夹之后,右键Mark Directory as,将这个文件夹标记为资源文件夹:
标记资源文件夹
可能有人想问,xml不是配好了吗?这里要注意,web.xml中配置的只是,请求来了以后要去找Servlet,去找SpringMVC的DispatcherServlet。
springmvc.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"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!--请求到了SpringMVC的Servlet之后,我们这里要接受请求之后对请求做一个处理-->
 <!--既然我们这里用了框架,就要将Controller控制器交给Spring去管理,怎么就交给Spring去管理了呢?
 存到Spring容器里就好了嘛,所以下面我们要加这么一个东西:-->
    <!--扫描controller包,既然交给Spring管理就要让Spring去扫描,发现这些控制器-->
    <context:component-scan base-package="com.csdn.controller"/>

    <!--做完上面的事情之后,就要开启MVC注解,这里不开注解会很麻烦,开了之后只需要去扫描你加的注解就可以做很多事情-->
    <mvc:annotation-driven/>

    <!--视图解析器,这个是用来干嘛的呢?为了把所有的控制器交给Spring去管理,简单来讲,就是controller控制器
    一会儿会返回一个字符串,这个字符串会解析为一个路径来给到前端-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--给controller控制器加一个前缀加一个后缀,就会定位到一个详细的路径中去了,定位到了一个详细的页面路径
        不就给到前端去了吗?-->
        <!--前缀:在方法返回的字符串前面拼接上-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀:在方法返回的字符串后面拼接上-->
        <property name="suffix" value=".jsp"/>

    </bean>

</beans>

下面就可以写代码了(一个小栗子):
先写一个controller(UserController)下面是代码和详解:

package com.csdn.controller;

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

//首先加一个注解@Controller,将这个对象new出来,将当前的类实例化,并存入Spring容器,
// 标记为他是一个控制器,这就是为什么我们要在web.xml中配置扫描controller包的意义
@Controller
public class UserController {
    //这个注解意思是如果访问到了这个项目,进入了我的Servlet,带一个/user就进来了,
    //然后就去@RequestMapping上去找,去匹配,如果跟这个路径匹配到了,就会进去这个对应的方法
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("走这个方法了吗?");
        return "helloWorld";
        //ok,它返回一个字符串,那还记得我们在web.xml中配置什么了吗?对,前缀和后缀
        //返回一个字符串之后,他会变成什么样子呢?会变成下面这个样子:
        //WEB-INF/jsp/helloWorld.jsp  也就是说他会去找这个地址,把这个文件响应给用户
        //那我们就去对应路径下创建一个helloWorld.jsp,让他能访问到
    }
}

去对应的路径下创建helloWorld.jsp
返回前端的页面
ok,将项目部署到tomcat中的过程我就不赘述了,下面跑起来看一下效果
页面效果
效果很完美,再来看一下控制台:
控制台打印效果
效果一样很完美。
OK这就是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的执行流程 阅读详情

相关推荐

springMVC最全笔记,一篇就够

springMVC最全笔记内容

m0_65992672的博客 1453

SSM 三大框架

摘要:本文介绍了SpringMVC框架的基本概念和工作原理。SpringMVC是基于MVC设计模式的Web框架,通过分层架构实现代码松耦合。文章详细阐述了MVC模式的分层结构(Model、View、Controller)及其优势,并通过一个入门案例展示了如何创建SpringMVC项目来展示汽车数据。案例包含启动类RunApp、POJO类Car和控制器CarController的实现,最终实现通过URL访问获取JSON格式的汽车数据。整个流程体现了SpringMVC接收请求、处理业务和返回响应的核心功能。

꯭ 瞎꯭扯꯭蛋꯭的博客 6761

SpringMVC框架从入门到精通

SpringMVC 框架介绍 概述 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一 般不用),Struts2(一般老项目使用)等。 SpringMVC就是基于MVC设计模式来实现的。 我们的PO

cgblpx的博客 4万+

传统SSM框架 解析SSM三个字母

问题1:什么是SSM框架? 第一个S:为Spring Spring是一个分层的javaSE/EEfull-stack(一站式)轻量级开源框架。 Spring为不同的层都提供企业级解决方案: web层:spring mvc service层:spring dao层:JDBCTemplate Spring的核心思想是IOC(控制反转)和AOP(面向切面编程) 第二个S:为Spring MVC MVC...

weixin_42865375的博客 1441

Jetson AGX Orin边缘AI实战:用YOLOv8做目标检测,我的环境配置踩坑与优化记录

本文详细记录了在Jetson AGX Orin上部署YOLOv8目标检测模型的环境配置与优化过程。从JetPack版本确认、PyTorch安装陷阱到Torchvision编译技巧,再到YOLOv8部署和系统级优化,提供了完整的实战指南。特别针对边缘AI设备的特性,分享了CUDA加速、内存管理等性能调优经验,帮助开发者高效完成工业级AI应用部署。

weixin_30839881的博客 376

电阻的基本原理、参数、应用与选型

电阻的基本原理、电阻的分类、参数,应用与选型,0欧姆电阻的介绍等。

luobeihai的博客 1万+

ssm框架的配置

Ssm  第一个s是springMVC 的二个s是spring   m是mybatis首先我们先配置web.xml&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/n...

Xiayubing_的博客 389

Unity游戏开发实战:用Flow Field实现RTS百人军团流畅寻路(附完整代码)

本文深入探讨了在Unity中利用流场寻路技术解决RTS游戏大规模单位移动性能瓶颈的实战方案。通过解析从Dijkstra算法生成成本场、积分场到最终向量场的核心原理,并结合分块、缓存及与DOTS/ECS架构集成的优化策略,实现了百人军团的流畅群体寻路。文章提供了完整的代码示例,助力开发者构建高性能的RTS寻路系统。

weixin_28363123的博客 587

SpringMVC框架

SpringMVC详细功能操作

Allure泽宇的博客 5590

数据预处理的分箱操作

数据分箱 介绍 我们在建立模型前,一般需要对特征变量进行离散化,特征离散化后,模型会更稳定,降低模型过拟合的风险。尤其是采用 logsitic 建立评分卡模型时,必须对连续变量进行离散化。而特征离散化处理通常采用的就是分箱法,数据分箱(也称为离散分箱或分段)是一种数据预处理技术,用于减少次要观察误差的影响,提高泛化性。 数据分箱又分为有监督分箱和无监督分箱,是否使用标签进行离散化(分箱)决定了有监督还是无监督的离散化方法。 知识点 无监督分箱 split 分箱 merge 分箱 无监督分箱 这里为了

随笔记 5332

Openclaw第4章:本地文件管理

OpenClaw本地文件管理功能摘要: OpenClaw提供强大的本地文件管理能力,主要功能包括: 智能文件搜索:支持内容搜索、自然语言描述、跨文件夹搜索和智能过滤排序,比传统文件名搜索效率提升10倍以上 批量文件处理:可自动整理发票、提取PDF内容、识别名片信息,批量处理数百文件仅需几分钟 文件自动整理:支持智能重命名、自动分类和文件夹优化,如将1000+照片按日期地点自动分类 典型应用场景: 30秒找到忘记名称的重要文件 5分钟完成原本需要1小时的发票整理工作 1句话指令完成数百文件的批量重命名 优势:

Maynor的博客 1702

SpringMVC框架的详细解读

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

weixin_44362089的博客 4370

华为eNSP镜像包全集下载,包含CE6800、CE12800、NE系列等!

你好,这里是网络技术联盟站。昨天给大家介绍了win11、10下安装eNSP最新系列(1.3.00)并完美运行,附下载。从文章发布到发文前,一直有朋友想让瑞哥提供一下华为ENSP镜像包,今天安排!eNSP安装包、以及eNSP中所需要的镜像包(设备包)(CE、CX、NE40E、NE5000E、NE9000、USG)例如:导入一个USG设备包,eNSP中的USG5500和USG6000V都是可以启动的。如果你的报错“40”的话,那么打开Oracle VM VirtualBox这个虚拟机,删除对应报错的虚拟机,然后

网络技术联盟站 3万+

SpringMVC(看这一篇就够了)

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

m0_74436895的博客 3万+

地平线旭日X3 安装xfce桌面+VNC查看USB摄像头

VNC是Virtual Network Computing的缩写,它是一种使用RFB(Remote Frame Buffer)协议的用于控制远程电脑的图形桌面分享系统。xfce桌面相比于GNOME桌面更加轻量,占用的资源更少,在没有GPU的设备上也可以运行(旭日的Desktop版本从外观上好像就是xfce桌面,具体没有尝试)。可以使用专用的VNC客户端连接到开发板,例如vnc viewer。板子默认带有openssh-server,因此,WiFi热点连接成功后,就可以使用ssh登录开发板了。

bingdund的博客 509

定位教程7---旋转中心标定之方法二

手算相机相对机器人关系

Quintin 6230

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的博客 1336

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Spring、SpringMVC和SpringBoot的关系,看这一篇就够了

一、概念 1、Spring Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。 2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web ...

程序大视界 9406

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringMVC【入门】篇

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

qq_40181435的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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看这一篇就够了(一)

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

TheSevenSky 2712

SpringMVC框架——入门

本文介绍了三层架构与MVC设计模式,以及Spring MVC框架的特点和应用。

2302_79781252的博客 1146

【Spring】详解SpringMVC,一篇文章带你快速入门

Spring MVC 是 Spring 框架的一个模块,专注于Web应用的表示层。它就是基于 MVC 架构模式的实现,用于构建灵活且松耦合的Web应用程序。总的来说,Spring MVC就是一个实现了 MVC 模式,并继承了 Servlet API 的 Web 框架。

acm_pn的博客 6044

SpringMVC入门看这一篇就够了!

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

WantFlyDaCheng的博客 207

SpringMVC——看这一篇就够了

文章目录SpringMVC1. SpringMVC介绍2. SpringMVC组件2.1 SpringMVC执行过程2.2 DispatcherServlet3. SpingMVC框架搭建4. SpringMVC数据传递4.1 后台从前台接收参数4.2 后台返回参数给前台4.3 Session存值4.4 Cookie、请求头的获取4.5 弹窗响应(后台给前台返回一个弹窗)4.6 结果跳转方式4.6.1 ModelAndView方式4.6.2 ServletAPI方式4.6.3 SpringMVC转发和重定向

AnswerCoder的博客 970
上一篇: ElasticSearch快速入门(一)
下一篇: SpringMVC全局和局部的异常处理
JavaJieRui
博客等级 码龄7年 10粉丝 19原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值