文档章节

springMVC --(讲解1)介绍

求是科技
 求是科技
发布于 2016/10/06 21:37
字数 486
阅读 54
收藏 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'

© 著作权归作者所有

求是科技

求是科技

粉丝 104
博文 460
码字总数 240021
作品 0
成都
后端工程师
私信 提问
加载中

评论(0)

SpringBoot启动方式讲解和部署war项目到tomcat9

1、SpringBoot启动方式讲解和部署war项目到tomcat9 简介:SpringBoot常见启动方式讲解和部署war项目Tomcat   1、ide启动   2、jar包方式启动     maven插件:      <build>   ...

osc_1k3ioadv
2019/01/08
3
0
【第2章 Spring快速入门】2.2 WEB应用之HelloWorld

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

陶邦仁
2015/07/07
706
0
spring-security-4 (5)spring security Java配置实现自定义表单认证与授权

  前面三篇讲解了spring security的搭建以及简单的表单认证与授权原理。本篇将实现我们自定义的表单登录与认证。    本篇不会再讲项目的搭建过程,因为跟第二节的搭建如出一辙。本篇也不...

osc_hsi1evvg
2018/06/24
2
0
Spring Security权限框架理论与实战演练

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

芥末无疆sss
2018/10/18
0
0
【SSH系列】一步步深入springmvc+商品列表查询demo

在前面的博文中,小编主要简单的介绍springmvc的体系结构、mvc模式的优缺点以及mvc框架,今天我们来继续学习springmvc的相关知识,在这篇博文中,小编讲解过springmvc的体系结构,在这个体系...

丁国华
04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

@Pointcut()的execution、@annotation等参数说明

AOP的基本概念 Advice(通知、切面): 某个连接点所采用的处理逻辑,也就是向连接点注入的代码, AOP在特定的切入点上执行的增强处理。 @Before: 标识一个前置增强方法,相当于BeforeAdvice的...

dean_
15分钟前
11
0
是否finally块总是用Java执行? - Does a finally block always get executed in Java?

问题: Considering this code, can I be absolutely sure that the finally block always executes, no matter what something() is? 考虑到这段代码,我能绝对确定无论something()是final......

技术盛宴
33分钟前
15
0
Wiz — Hyperledger Fabric快速开发工具箱

Wiz工具箱可以快速搭建一个Hyperledger Fabric开发网络作为链码和应用开发环境,官方下载地址:http://sc.hubwiz.com/codebag/fabric-wiz/。 Wiz工具箱的主要特性如下: 内置原生Fabric 1.4 ...

区块链教程
36分钟前
7
0
基于自定义注解和SpringEL表达式的分布式锁实现

需求 1、项目中不可避免的需要使用分布式保证幂等。所以一个简单可靠,易用的工具提上日程。 2、演进过程 最开始使用try finally 块实现。代码臃肿。还要时刻记得释放。 改用回调方式封装锁的...

Lien6o
45分钟前
31
0
前后端分离配置token

解决跨域请求: import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframe......

冥焱
今天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部