博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring之SpringMVC
阅读量:5053 次
发布时间:2019-06-12

本文共 4075 字,大约阅读时间需要 13 分钟。

 

前言

     原本想写完ioc接着写aop的,但是在写aop的过程中用了点mvc的技术点,想了想,还是先把mvc记录一下好了

 什么是SpringMVC

    在上一篇介绍Springioc的博客时,有张架构图,可以看到SpringMVC也是Spring框架的一部分,那么SpringMVC到底是什么呢?

    Spring mvc属于表现层的框架,基于ioc功能开发,用于开发web程序,按MVC结构开发。

这是一幅用灵魂画出来的架构图,然后我简单介绍一下运行流程

1、  用户发送请求至前端控制器DispatcherServlet

2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、  处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、  DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、  执行处理器(Controller,也叫后端控制器)。

6、  Controller执行完成返回ModelAndView

7、  HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

8、  DispatcherServlet将ModelAndView传给ViewReslover视图解析器

9、  ViewReslover解析后返回具体View

10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户

入门案例

国际惯例,我们先模拟一个简单的helloworld请求界面,下面是请求到相应的流程

hello.do-->DispatcherServlet-->HandlerMapping-->HelloController(返回ModelAndView)-->ViewResolver-->/hello.jsp

1 创建maven工程,配置pom.xml

4.0.0
cn.chf
SpringMVC
0.0.1-SNAPSHOT
war
UTF-8
4.2.1.RELEASE
org.springframework
spring-core
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}

2  配置DispatcherServlet(web.xml)

SpringMVC
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
springmvc
*.do

3  创建SpringMVC核心配置文件

   创建一个Spring-mvc.xml文件,文件名可以自定义,但是要和web.xml中的classpath所指定的文件名一致,先配置MVC注解驱动,在配置Controller扫描包使配置bean的注解生效,最后配置视图解析器

4 编写逻辑代码

 实体类

package cn.chf.entity;public class Person {	private String id; // id	private String name; // 姓名	private String age;  //年龄	private String interest;//爱好	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getAge() {		return age;	}	public void setAge(String age) {		this.age = age;	}	public String getInterest() {		return interest;	}	public void setInterest(String interest) {		this.interest = interest;	}		}

 controller层业务代码

package cn.chf;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class HelloController {	     //ModelAndView封装了视图名字和传出去的数据		@RequestMapping("/hello.do")		public ModelAndView execute() throws Exception {			// TODO 调用模型组件处理			ModelAndView mav = new ModelAndView();			mav.setViewName("hello");//找hello视图			mav.getModel().put("data", "HelloWorld");//放入数据,可以传递到jsp			return mav;		}}

 前端jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here

第一个MvC程序

${data}

 启动tomcat访问 

这边我们的Springmvc就搭建完成了, 流程一定要清晰

 

转载于:https://www.cnblogs.com/alves/p/9758545.html

你可能感兴趣的文章
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
pytho logging
查看>>
Python内置函数(29)——help
查看>>
对Feature的操作插入添加删除
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
WCF 配置文件
查看>>
oracle导出/导入 expdp/impdp
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
数据结构之查找算法总结笔记
查看>>
Android TextView加上阴影效果
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
js-创建对象的几种方式
查看>>