springmvc01
文章目录
- 一、SpringMVC
- 1.1 引言
- 1.2 MVC架构
- 1.2.1 概念
- 1.2.2 好处
- 二、开发流程
- 2.1 导入依赖
- 2.2 配置核心(前端)控制器
- 2.3 后端控制器
- 2.4 配置文件
- 2.5 访问
一、SpringMVC
1.1 引言
java开源框架,Spring Framework的一个独立模块。
MVC框架,在项目中开辟MVC层次架构
对控制器中的功能 包装 简化 扩展践行工厂模式,功能架构在工厂之上
1.2 MVC架构
1.2.1 概念
名称 | 职责 |
---|---|
Model | 模型:即业务模型,负责完成业务中的数据通信处理,对应项目中的 service和dao |
View | 视图:渲染数据,生成页面。对应项目中的Jsp |
Controller | 控制器:直接对接请求,控制MVC流程,调度模型,选择视图。对应项目中的Servlet |
1.2.2 好处
MVC是现下软件开发中的最流行的代码结构形态;
人们根据负责的不同逻辑,将项目中的代码分成 M V C 3个层次;
层次内部职责单一,层次之间耦合度低;
符合低耦合 高内聚的设计理念。也实际有利于项目的长期维护。
二、开发流程
- maven导入jar包,
- 创建前端控制器 - 帮助mvc接收请求
- 创建后端控制器 - 处理请求
2.1 导入依赖
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.6.RELEASE</version>
</dependency>
2.2 配置核心(前端)控制器
作为一个MVC框架,首先要解决的是:如何能够收到请求!
所以MVC框架大都会设计一款前端控制器,选型在 Servlet 或 Filter两者之一,在框架最前沿率先工作,接收所有请求。
此控制器在接收到请求后,还会负责springMVC的核心的调度管理,所以既是前端又是核心。
<?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"><!-- SpringMVC前端(核心)控制器1. 前端,接收所有请求2. 启动SpringMVC工厂 需要使用mvc.xml3. springMVC流程调度--><servlet><servlet-name>mvc_shine</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 局部参数:声明配置文件位置 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:mvc.xml</param-value></init-param><!-- 懒 饿 可选--><!-- Servlet启动时刻:可选 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc_shine</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>
2.3 后端控制器
等价于之前定义的Servlet
package com.qf.web;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller // 声明后端控制器
@RequestMapping("/hello") //访问路径
public class HelloController {@RequestMapping("/test1") //访问路径public String hello1(){// service doGet doPostSystem.out.println("hello1");return "hello"; // // 跳转:/hello.jsp}@RequestMapping("/test2")public String hello2(){// service doGet doPostSystem.out.println("hello2");return "hello2";}
}
2.4 配置文件
默认名称:核心控制器名-servet.xml 默认位置:WEB-INF
随意名称:mvc.xml 随意位置:resources 但需要配置在核心控制器中
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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"><!-- 注解扫描 --><!-- 告知springmvc 哪些包中 存在 被注解的类 --><context:component-scan base-package="com.qf.web"/><!-- 注解驱动 --><mvc:annotation-driven></mvc:annotation-driven><!-- 视图解析器作用:1.捕获后端控制器的返回值="hello"2.解析: 在返回值的前后 拼接 ==> "/hello.jsp"--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/"></property><!-- 后缀 --><property name="suffix" value=".jsp"></property></bean>
</beans>
结构如下:
说明:当wen.xml的servlet去启动工厂的时候,会读取其中mvc.xml文件,会看到注解驱动和注解扫描的包位置。
会把后端控制器创建出来,进行请求的处理。
2.5 访问
先添加tomcat
http://localhost:8080/hello/test1
http://localhost:8080/hello/test2
控制台打印出输出内容即访问正常。
return后面内容需要静态文件的路径,现在加上jsp(在webapp文件下)
并且在mvc.xml中添加视图解析器的配置。
<!-- 视图解析器作用:1.捕获后端控制器的返回值="hello"2.解析: 在返回值的前后 拼接 ==> "/hello.jsp"--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/"></property><!-- 后缀 --><property name="suffix" value=".jsp"></property></bean>
现在访问正常
结构:
springmvc01相关推荐
- spring mvc是什么_狂神说SpringMVC01:什么是SpringMVC
狂神说SpringMVC系列连载课程,通俗易懂,基于Spring5版本(视频同步),欢迎各位狂粉转发关注学习.未经作者授权,禁止转载 1.回顾MVC 1.1.什么是MVC MVC是模型(Model). ...
- SpringMvc01 第一个Springmvc应用
引入jar包 避免jar遗漏直接将Spring下的所有jar都进行引入另加一个commons-logging-1.1.1.jar: commons-logging-1.1.1. ...
- springmvc-01集成web环境及原理 ----喝最烈的酒.
1. Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(sprin ...
- Springmvc案例1----基于spring2.5的採用xml配置
首先是项目和所须要的包截图: 改动xml文件: <?xml version="1.0" encoding="UTF-8"?> <web-app ...
- SpringMVC框架 学习DAY_01:框架概括 / 简易应用 / 核心执行流程图 /在框架下显示HTML模板页面/ 接受请求
1. SpringMVC框架的作用 MVC = Model(数据模型) + View(视图) + Controller(控制器) SpringMVC框架主要解决了接收请求与处理响应的问题,也可以认为是 ...
- Spring MVC 基础注解之@RequestMapping、@Controller、(二)
我现在学的是spring4.2 今天主要学习了Spring MVC注解 引入注解可以减少我们的代码量,优化我们的代码. @Controller:用于标识是处理器类: @RequestMapping:请 ...
- Spring中AbstractCommandController控制器
定义继承AbstractCommandController的控制器,实现数据的自动封装 Controller package com.hsit.controller;import java.text. ...
- springMvc的一些简介 和基于xml的handlerMapping基本流程
其它步骤就不在介绍了 在大多数情况,都会使用基于annotation的方式进行HandlerMapping处理,在这里基于对这个流程的了解,就采用了基于xml配置了一个HandlerMapping [ ...
- spring mvc学习(22):/textpath/*/helen
目录结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...
最新文章
- 人工智能开始应用于美国金融业 但在中国遭遇滑铁卢
- 理解严格模式下JavaScript的this指向的变化
- oracle model 分组,【已解决】关于Oracle分组函数高级用法(按照N条分组并生成唯一号)...
- Unity3D 学习历程(二)
- X_Forwarded_for 获得真实IP
- 智能计米器jk76怎么安装_春节智能锁消费指南:只看价格的后果有多严重?
- 行政管理对计算机的要求,信息技术对行政管理的影响.doc
- 【swupdate文档 五】从可信的来源更新镜像
- Java Web架构知识整理
- pic系列单片机c语言编程与应用实例,PIC单片机C语言编程实例
- 三菱PLC开发环境搭建笔记
- java 类中 serialversionuid 作用
- 连接计算机和网络传输介质的接口,最常用的网络传输介质和连接设备
- html中创建表格在正上方的表格标题
- 2念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si
- js删除数组指定的某个值或元素
- BZOJ4627 回转寿司 值域线段树
- Android 题目动态存储+倒计时功能实现
- git commit -m 提交忽略代码校验
- Java中使用SOAP的方式调用天气预报webservice的接口实例
热门文章
- WinCE下直接启动自己应用程序的方法
- python循环遍历文件夹_如何用Python实现目录遍历
- 为什么要避免不可重复读_浅谈游戏的耐玩性-玩家为什么要重复打开你的游戏?...
- 05Struts2表单
- bzoj 3028 食物——生成函数
- Web性能测试篇:AB 压力测试
- [ZJOI2013]防守战线
- 【动态规划】XMU 1028 Game Boy Advance
- Error pulling origin: error: The following untracked working tree files would be overwritten by...
- css字体转换程序(Node.js)