史上最全SpringMVC教程,从零开始带你深入♂学习(一)——SpringMVC快速入门、注解开发

article/2025/8/23 23:51:17

SpringMVC框架(一)SpringMVC快速入门、注解开发

SpringMVC

Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。

Spring MVC的特点:

领取资料
1. 轻量级,简单易学
2. 高效 , 基于请求响应的MVC框架
3. 与Spring兼容性好,无缝结合
4. 约定优于配置
5. 功能强大:RESTful、数据验证、格式化、本地化、主题等
6. 简洁灵活

SpringMVC快速入门

一、新建一个Moudle,右键添加框架支持,点击Web应用程序


image

image

二、添加依赖

领取资料

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
</dependency>
<!--SpringMVC依赖-->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version>
</dependency>//加群1025684353一起吹水聊天
<dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version>
</dependency>

三、配置web/WEB-INF目录下web.xml , 注册DispatcherServlet

<!--配置DispatchServlet:这个是SpringMVC的核心,请求分发器和前端控制器-->
<servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--DispatcherServlet:要绑定Spring的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!--启动级别-->//加群1025684353一起吹水聊天<load-on-startup>1</load-on-startup>
</servlet>
<!--在SpringMVC中 //* 的区别/:只匹配所有的请求,不会去匹配jsp的页面/*:匹配所有的请求,包括jsp页面
-->
<servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>

四、在resources目录下编写SpringMVC的配置文件!名称:springmvc-servlet.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/beanshttp://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" id="internalResourceViewResolver"><!--前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><property name="suffix" value=".jsp"/></bean>
</beans>

五、编写Controller,要么实现Controller接口,要么增加注解;返回ModelAndView,装数据,封视图;

package com.study.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 HelloController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {ModelAndView mv = new ModelAndView();//加群1025684353一起吹水聊天//封装对象,放在ModelAndView中。Modelmv.addObject("msg","HelloSpringMVC!");//封装要跳转的视图,放在ModelAndView中mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jspreturn mv;}
}

六、在springmvc-servlet.xml中注册bean

领取资料

<!--BeanNameUrlHandlerMapping:bean-->
<bean id="/hello" class="com.study.controller.HelloController"/>

七、在web/WEB-INF/jsp目录下新建hello.jsp,用${msg}接收数据

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

八、部署tomcat

image

九、运行tomcat,跳出页面

image

十、在后面输入hello

领取资料
image

可能遇到的问题:访问出现404,排查步骤:
1. 查看控制台输出,看一下是不是缺少了什么jar包。
2. 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
3. 重启Tomcat 即可解决!

SpringMVC使用注解开发(重点)

一、导入相关依赖

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
</dependency>
<!--SpringMVC依赖-->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version>
</dependency>//加群1025684353一起吹水聊天
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version>
</dependency>
<dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version>
</dependency>

二、资源过滤问题

三、配置web.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 --><context:component-scan base-package="com.study.controller"/><!--让SpringMVC不处理静态资源--><mvc:default-servlet-handler/><!--支持mvc注解驱动//加群1025684353一起吹水聊天在spring中一般采用@RequestMapping注解来完成映射关系要想使@RequestMapping注解生效必须向上下文中注册DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助我们自动完成上述两个实例的注入。--><mvc:annotation-driven/><!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!--前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><property name="suffix" value=".jsp"/></bean>
</beans>

四、在web/WEB-INF/jsp目录下新建hello.jsp,用${msg}接收数据

领取资料

五、编写Controller

package com.study.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller //Controller层
@RequestMapping("/hello")//真实访问路径是:localhost:8080/hello(可选)
public class HelloController {//真实访问路径是:localhost:8080/hello/h1。假如类上没有@RequestMapping("/hello"),那么真实访问路径是:localhost:8080/h1@RequestMapping("/h1")public String hello(Model model){//加群1025684353一起吹水聊天//Model封装数据model.addAttribute("msg","Hello,SpringMVCAnnocation!");return "hello";  //会被视图解析器处理}@RequestMapping("/h2")public String hello2(Model model){//Model封装数据model.addAttribute("msg","Hello,SpringMVCAnnocation!");return "hello";  //会被视图解析器处理 web/WEB-INF/jsp/hello.jsp}
}
  • @Controller是为了让Spring IOC容器初始化时自动扫描到;
  • @RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;
  • 方法中声明Model类型的参数是为了把Action中的数据带到视图中;
  • 方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp

六、配置Tomcat

七、启动Tomcat

领取资料

八、输入网址

image

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。 可以的话请给我一个三连支持一下我哟,我们下期再见

领取资料


http://chatgpt.dhexx.cn/article/T921r4cd.shtml

相关文章

最全面的SpringMVC教程(四)——Controller 与 RestFul

前言 本文为 【SpringMVC教程】Controller 与 RestFul 相关内容介绍&#xff0c;具体将对控制器Controller&#xff0c;实现Controller接口&#xff0c;使用注解Controller&#xff0c;RequestMapping及RestFul 风格&#xff08;包括&#xff1a;Rest架构的主要原则、什么是Res…

SpringMVC教程(一):环境搭建

环境&#xff1a;eclipsetomcat8.5 第一步&#xff1a;jar准备&#xff08;基础包&#xff09;&#xff1a; commons-logging-1.1.1.jar jstl-1.2.jar spring-aop-4.0.4.RELEASE.jar spring-aspects-4.2.6.RELEASE.jar spring-beans-4.0.4.RELEASE.jar spring-context-4.0.4.RE…

myeclipse配置springmvc教程

之前一直是使用Eclipse创建Web项目&#xff0c;用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题&#xff0c;这里把这个过程记录一下&#xff0c;希望能帮助到那些有需要的朋友。我是用的是MyEclipse2017 CI 3&#xff0c;相近版本应该都差不多。至于其他版本…

SpringMVC教程下篇

SpringMVC教程下篇 内容包括&#xff1a; 绑定数组&#xff1a; 将表单数据绑定到list&#xff1a; RequestMapping注解的三种用法&#xff1a; Controller方法返回值&#xff1a; 乱码问题总结 异常处理&#xff1a; 照片上传&#xff1a; RESTFUL支持&#xff…

最全面的SpringMVC教程(五)——文件上传与下载

前言 本文为 【SpringMVC教程】文件上传与下载 相关知识&#xff0c;具体将对使用MultipartResolver处理文件上传的步骤&#xff0c;两种文件下载方式&#xff08;直接向response的输出流中写入对应的文件流、使用 ResponseEntity<byte[]>来向前端返回文件&#xff09;等…

最全面的SpringMVC教程(三)——跨域问题

前言 本文为 【SpringMVC教程】跨域问题 相关内容介绍。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同时&#xff0c;就会产生跨域。那么究竟什么是跨域&#xff0c;跨域问题该如何解决&#xff0c;本文具体将对同源策略&#xff0c;什么是跨域&#xff0…

最全面的SpringMVC教程(一)——SpringMVC简介

前言 本文为SpringMVC相关教程&#xff0c;下边将对SpringMVC进行简单介绍&#xff0c;具体包含&#xff1a;对MVC架构的回顾&#xff0c;什么是SpringMVC&#xff0c;SpringMVC编程示例&#xff08;包含配置版示例、注解版示例&#xff09;&#xff0c;初识SpringMVC&#xff…

SpringMVC教程来喽!

目录 SpringMVC简介SpringMVC的搭建 SpringMVC简介 这里对SpringMVC进行一个简单介绍 springmvc是spring框架的一个模块&#xff0c;springmvc和spring无需通过中间整合层进行整合。springmvc是一个基于mvc的web框架。springmvc 表现层&#xff1a;方便前后端数据的传输Sprin…

搭建配置SpringMVC教程

1新建工程&#xff0c;在maven工程中选择create from archetype,选择webapp&#xff0c;注意有很数个webapp&#xff0c;要选择前缀有maven的 2.在pom.xml添加依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc<…

SpringMVC教程(二)

什么是SpringMVC 概述 Spring MVC是Spring Framework的一部分&#xff0c;是基于Java实现MVC的轻量级Web框架。 查看官方文档&#xff1a;https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web 我们为什么要学习SpringMVC呢? …

最全面的SpringMVC教程(六)——WebSocket

前言 本文为 【SpringMVC教程】WebSocket 相关知识介绍&#xff0c;具体将对WebSocket进行简介&#xff0c;并通过实战案例对WebSocket的使用进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &#x1f449;Java全栈学习路线可参考&#xff1a;【Java全栈学…

SpringMVC教程(三)

SpringMVC&#xff1a;Hello,SpringMVC HelloSpringMVC 配置版 新建一个Moudle &#xff0c; 添加web的支持&#xff01;确定导入了SpringMVC 的依赖&#xff01; 配置web.xml &#xff0c; 注册DispatcherServlet <?xml version"1.0" encoding"UTF-8&quo…

史上最全最细的SpringMVC教程

SpringMVC是强大的Web开发框架&#xff0c;基于Spring。 课程从基础开始逐步讲解SpringMVC框架Web应用的相关技术点。涵盖了SpringMVC基础内容以及与Spring框架集成(如IoC容器、AOP等)等高级内容。 学习该课程后可以让我们能非常简单的设计出干净的Web层和薄薄的Web层。掌握强…

黑马程序员--SpringMVC详细教程

一、SpringMVC概述 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架&#xff0c;属于 SpringFrameWork 的后续产品&#xff0c;已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一&#xff0c;并且随着Spring3.0 的发…

史上最全的SpringMVC教程,终于整理出来了

1. 为啥要学 SpringMVC&#xff1f; 1.1 SpringMVC 简介 在学习 SpringMVC 之前我们先看看在使用 Servlet 的时候我们是如何处理用户请求的&#xff1a; 配置web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xml…

史上最全面最易懂的,Spring框架学习教程

Spring通过PlatformTransactionManager平台事务管理器接口对事务的管理进行高度抽象&#xff0c;但是该接口下具体的实现是由各个平台自己实现&#xff0c;Spring并不直接管理事务&#xff0c;而是提供了多种事务管理器&#xff0c;也就是对各个平台的事务管理进行封装&#xf…

Spring 入门教程

Spring 入门教程 1、参考资料 尚硅谷-Spring5框架最新版教程&#xff08;idea版&#xff09;雷丰阳spring、springmvc、mybatis、spring一站式学习 项目地址&#xff1a;Oneby / spring-learn 2、Spring 概述 2.1、Spring 框架概述 Spring 是轻量级的开源的 JavaEE 框架 Sp…

spring框架教程

Spring框架 一、spring简介 简介&#xff1a;spring框架是一个轻量级的控制反转和面向切面的容器框架&#xff0c;用来解决项目开发中的复杂度问题–解耦 轻量级&#xff1a;体积小&#xff0c;对代码没有侵入性&#xff08;代码侵入性&#xff1a;指的是业务代码中不会调用sp…

一文学会Spring,Spring最简单的入门教程(万字好文)

1.Spring概述 1.1 Spring框架是什么 ​ Spring是与2003年兴起的一个轻量级的Java开发框架&#xff0c;它是为了解决企业应用开发的复杂性而创建的。Spring的核心是控制反转(IOC)和面向切面编程(AOP)。Spring是可以在Java SE/EE中使用的轻量级开源框架。 ​ Spring的主要作用…

lcx 内网转发

把放置到已经控制的内网主机 执行 内网主机输入命令lcx.exe -slave 外网ip 外网端口 内网ip 内网端口lcx.exe -slave 30.1.85.55 2222 127.0.0.1 3389 外网主机输入命令lcx.exe -listen 2222 3388 打开 mstsc ip&#xff1a;3388