文档章节

springMVC --(讲解1)介绍

求是科技
 求是科技
发布于 2016/10/06 21:37
字数 425
阅读 34
收藏 1

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'

© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 89
博文 453
码字总数 228281
作品 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
spring boot框架学习5-spring boot的web开发(1)

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

凯哥java
2017/11/01
0
0
搭建springmvc

本文主要介绍了简单搭建SpringMVC的框架,并未涉及一些原理的讲解,以后会陆续补全,希望可以和大家一起交流进步 本文用到的环境相关版本介绍 本文的tomcat会以maven插件的形式集成至maven m...

gaofeng36599
2017/05/12
0
0
Shiro源码分析-初始化-Realm

在上一篇介绍SecurityManager的初始化过程中,也有realm的粗略介绍。 realm的概念在安全领域随处可见: 各种中间件的realm、spring security的realm、shiro的realm。。。如下: tomcat的rea...

Dead_knight
2014/04/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++ gflags

gflags是google一个开源的处理命令行参数的库,相比getopt,更加容易使用。 定义参数 gflags主要支持的参数类型包括 DEFINEbool: boolean DEFINEint32: 32-bit integer DEFINEint64: 64-bit ...

SibylY
30分钟前
0
0
intellij IDEA Properties中文unicode转码问题

在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码。如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图如下: unicode转码后效果...

muzi1994
30分钟前
0
0
Java IO类库之PipedWriter

一、PipedWriter介绍 PipedWriter是字符管道输出流,继承自Writer,功能与PipedOutputStream类似,通过与PipedReader组合使用实现类似管道的功能,在多线程环境下,一个线程使用PipedWriter...

老韭菜
34分钟前
0
0
精简分页组件(手写)

需要引入CSS(没错就是这4行) .pagelist { text-align: center; color: #666; width: 100%; clear: both; margin: 20px 0; padding-top: 20px }.pagelist a { color: #666; margin: 0 2px;......

AK灬
35分钟前
3
0
29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?

泡泡是我的好朋友。今年 31 岁,毕业后就进了阿里巴巴,工作五年内从 P4 晋升至 P6、P7、P8。 和他很少聊到工作,但总觉得他有很棒的职场心得,应该分享出来,于是有了这次采访。希望对职场新...

Java填坑之路
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部