文档章节

springMVC --(讲解1)介绍

求是科技
 求是科技
发布于 2016/10/06 21:37
字数 486
阅读 36
收藏 0

springMVC处理请求流程
1.客户端发起一个http请求
2.该请求被springMVC的DispacherServlet(控制器)进行拦截匹配,匹配到了委托给HandleRequest(处理器)
3.处理器会调用HandlerMapping与HandlerAdapter两个类,起一个映射作用,映射到Controller中的方法上。
4.一旦映射到,就执行Controller中该路径对应的方法。
5.Controller层只是起控制作用,实际的业务交给Service的实现层处理。
6.实现层处理完业务,将结果返回给处理器,返回一个叫modAndView的对象,控制器会调用一个视图渲染器(传参:model),视图渲染器会返回给控制器所需要的格式数据(jsp、json等)。
6.控制器直接将格式数据返回给请求端。
示例1
web.xml配置

	<!-- 工程映射 -->
	<servlet>
		<servlet-name>ssm</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-config.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>ssm</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

spring-config.xml是mvc的配置文件

	<!-- 扫描包 -->
	<context:component-scan base-package="com.test.spring"></context:component-scan>
	<!-- 视图渲染器 -->
	<bean id="viewResolver"  class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

controller配置

	/**
	 * 测试mvc
	 */
	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public ModelAndView hello(HttpServletRequest req,HttpServletResponse resp){
		ModelAndView mav = new ModelAndView();
		//封装要显示的视图中的数据
		mav.addObject("msg","hello springmvc");
		//视图名,该视图是/WEB-INF/jsp/hello.jsp
		mav.setViewName("hello");
		return mav;
	}

/WEB-INF下新建jsp文件夹,在jsp下新建hello.jsp

<html>
<body>
<h2>Hello World!</h2>
<h4>${msg}</h4>
</body>
</html>

注意:在如上web.xml中,如果配置成这样的话

<url-pattern>/*</url-pattern>

在请求的时候会出现如下错误

Did not find handler method for [/WEB-INF/jsp/hello.jsp]
No mapping found for HTTP request with URI [/ssm/WEB-INF/jsp/hello.jsp] in DispatcherServlet with name 'ssm'

© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 90
博文 438
码字总数 225859
作品 0
成都
后端工程师
Spring Security权限框架理论与实战演练

本章首先让大家学习到Spring Security权限框架的架构,之后大家可以学习到Spring Security权限框架的核心概念,包括拦截器、数据库管理、缓存、自定义决策等等,之后会手把手带大家基于Sprin...

芥末无疆sss
10/18
0
0
【第2章 Spring快速入门】2.2 WEB应用之HelloWorld

上一节:【第2章 Spring快速入门】2.1 Java应用之HelloWorld 本章节主要介绍在WEB开发过程中,Spring是怎么使用的?上一节中我们已经讲到在普通的Java Project中如何使用Spring容器了,那么在...

陶邦仁
2015/07/07
0
0
Spring Boot实战与原理分析

Spring Boot实战与原理分析 1:Spring Boot概述与课程概要介绍 2:Spring4 快速入门 3:Spring4 扩展分析(一) 4:Spring4 扩展分析(二) 5:Spring Boot 快速入门 6:Spring Boot 配置分析...

刘宗泽
06/26
0
0
2018年互联网架构主流微服务架构之潮流的主先锋Spring Boot 2.0

一、Spring Boot 介绍 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定...

A尚学堂Len老师
08/21
0
0
spring boot框架学习5-spring boot的web开发(1)

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定...

凯哥java
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java日期和时间获取问题

获取年月日时分秒 Calendar cal = Calendar.getInstance();//获取年int year = cal.get(Calendar.YEAR);//获取月,范围是0-11,最后使用需+1int month = cal.get(Cal...

lanyu96
26分钟前
7
0
Ceph学习笔记2-在Kolla-Ansible中使用Ceph后端存储

环境说明 使用Kolla-Ansible请参考《使用Kolla-Ansible在CentOS 7单节点上部署OpenStack Pike》; 部署Ceph服务请参考《Ceph学习笔记1-Mimic版本多节点部署》。 配置Ceph 以osdev用户登录: ...

LastRitter
30分钟前
6
0
OSChina 周二乱弹 —— 老司机表示右手无处安放

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @花间小酌 :分享李宗盛的单曲《鬼迷心窍》--春风再美也比不上你的笑 《鬼迷心窍》 - 李宗盛 手机党少年们想听歌,请使劲儿戳(这里) 每天早...

小小编辑
41分钟前
225
5
复习2

10月22日任务 awk 中使用外部shell变量 awk 合并一个文件 把一个文件多行连接成一行 awk中gsub函数的使用 awk 截取指定多个域为一行 过滤两个或多个关键词 用awk生成以下结构文件 awk用print...

hhpuppy
49分钟前
5
0
原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
62
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部