【SpringMVC 之应用篇】 1_SpringMVC入门 —— 第一个 Spring MVC 程序
第一个 Spring MVC 程序
一、配置文件类
在创建Spring MVC的时候,最基础的就是3个配置文件
pom.xml
pom.xml
就是导入依赖
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.5.RELEASE</version></dependency><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.0</version></dependency></dependencies>
web.xml
这个 xml 文件是 idea 创建的时候自动给创建的
<servlet-class>
标签下的 DispatcherServlet
指的就是 前端控制器
<servlet-mapping>
这个标签是一个映射关系, 使URL映射到类servlet-class所指定的类中!
servlet 和 servlet-mapping 都含有 <servlet-name>
主要原因是想通过servlet-name作为纽带,将servlet-class和url-pattern构成联系,使URL映射到类servlet-class所指定的类中!
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><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:springmvc-config</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 开启注解扫描 --></web-app>
springmvc-config.xml
这个配置文件只要自己载入的
InternalResourceViewResolver
该类表示一个视图解析器
suffix
和 prefix
的作用分辨是限定加载的文件后缀名和文件所在目录
<?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/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd "><!--开启注解扫描--><context:component-scan base-package="controller"/><!--开启视图解析器--><bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--限定文件后缀名--><property name="suffix" value=".jsp"/><!--文件所在的目录,找这个路径下的文件--><property name="prefix" value="/WEB-INF/pages"/></bean><!--开启springmvc框架注解支持--><mvc:annotation-driven/>
</beans>
二、写两个前端页面实现跳转功能
index.jsp
主页
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<a href="/hello">开始跳转</a>
</body>
</html>
succes.jsp
跳转之后的页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<h1>跳转成功吧</h1>
</body>
</html>
三、写一个控制器控制跳转
@RequestMapping
指的是接收某个请求之后就进入 toSuccess
方法
@Controller
是一个标记式注解,表示该类是一个 控制器 ,用于被扫描
@Controller
public class HelloController {@RequestMapping(path = "/hello")public String toSuccess(){System.out.println("成功跳转到success页面");return "/success";}
}
四、总结整个流程
1 启动服务器,加载一些配置文件
- DispatcherServlet 对象被创建
- springmvc-config 被夹在
- HelloController 创建成对象
2 发送请求,后台处理请求
以上是第一个Spring MVC 内部运行的图,它的顺序是这样的。在 index.jsp 页面上得到一个 /hello
请求。由于在 web.xml
中设置了
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
...
<servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>
也就是说,任何请求都要通过控制中心 DispatcherServlet
一方面找到对应请求的控制器中的方法让他去执行,会返回 /success
,以后一方面加载 InternalResourceViewResolver
视图解析器, 使页面跳转到 success.jsp 页面
【SpringMVC 之应用篇】 1_SpringMVC入门 —— 第一个 Spring MVC 程序相关推荐
- 我的第一个Spring MVC程序
1.先简单说一下SpringMVC的概念: Spring MVC是Spring为表现层提供的基于MVC设计模式的轻量级Web框架,是目前最主流的 MVC框架之一.它与Struts2框架一样,都属于MV ...
- 自己手写一个Spring MVC框架
想要了解Spring MVC框架的原理,探究框架是如何设计的,不错的学习方式是阅读源码,然后自己手写一个框架.本文带领大家简化的手写一个Spring MVC框架. Spring框架对于Java后端程序 ...
- 从 0 开始手写一个 Spring MVC 框架,向高手进阶
转载自 从 0 开始手写一个 Spring MVC 框架,向高手进阶 Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面.如 ...
- spring mvc学习(4):第一个spring mvc项目
一个Spring MVC的项目如何创建?请看这里. 代码编辑器:Intellij IDEA 请提前在电脑上配置好自己的tomcat! 该文属于小白教程,适合初学者. 1 创建Spring MVC项目 ...
- 使用 Spring Boot CLI 运行第一个Spring boot程序
简介 Spring Boot CLI是Spring Boot的命令行界面.它可以用来快速启动Spring. 它可以运行Groovy脚本. Spring Boot CLI是创建基于Spring的应用 ...
- Spring学习笔记:第一个Spring Boot程序HelloWorld
Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...
- 用Intellij IDEA 创建第一个Spring MVC项目
0 前言 一个Spring MVC的项目如何创建?请看这里. 代码编辑器:Intellij IDEA 请提前在电脑上配置好自己的tomcat! 该文属于小白教程,适合初学者. 1 创建Spring M ...
- spring Boot 2 基础篇 。内含 整合一个spring boot 的 小案例
目录 springBoot2基础篇 前言与开发环境 一.快速创建Boot项目 1.使用spring提供的快速构建 2.基于maven的手动构建 3.在Idea中隐藏指定文件/文件夹 二.SpringB ...
- 【Spring-Boot】【入门 01】第一个 Spring Boot 程序
文章目录 一.SpringBoot入门 1. SpringBoot简介 2.微服务 3.Spring Boot 的基础知识 4.环境约束 5.环境配置 maven设置 IDEA设置 二.创建一个Hel ...
最新文章
- 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )
- 021:自定义path(或url)转换器
- 《JavaScript设计模式与开发实践》——第3章 闭包和高阶函数
- ul1977标准_UL 1977连接器认证知识
- showdoc windows 搭建_ShowDoc的搭建
- 你真的会用 regexp_replace 吗?
- PHP实现调用淘宝SDK开放接口返回天猫或淘宝商品详情
- 用MSDN下载镜像(以Windows11为例)
- matlab遗传算法之goat工具箱
- 聚类分析方法的研究与应用综述
- 德语区国家的摄影测量与遥感
- 利用555定时器的双电源电路原理
- python 单词拆音节_基于Trie树进行拆分字符串变成拼音音节(一):构建拼音音节模型...
- 有文化的人吟了一句诗
- 实验05 视图的创建与管理
- android6.0 cta认证,手机cta认证要求有哪些?
- 单端阻抗为什么是50欧姆-探究
- [读书]《自驱型成长》
- Nomad集群 自身高可用测试
- Phoenix重磅 | Phoenix核心功能原理及应用场景介绍
热门文章
- docker 在esx上的网络配置
- 构造函数 Create 与 析构函数 Destroy
- Windows Batch [精华]
- CAN设备多机联网之总线容抗注意事项
- IAR环境下STM32+IAP方案的实现(转)
- ESP8266之2M脚本
- 设计模式总结之Builder Pattern(建造者模式)
- 测验1: Python基本语法元素 (第1周)
- C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型
- MIMIC 以太坊医疗项目开发(7) 医疗智能合约 sample