第126次(OA系统)
学习主题:OA系统
学习目标:
1 掌握springmvc框架搭建,拦截请求
2 掌握什么是mvc,掌握springmvc的运行原理
对应作业
- MVC介绍
- 什么是MVC?
MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式最早由Trygve Reenskaug在1978年提出[1],是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式透过对复杂度的简化,使程序结构更加直观。软件系统透过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以依据自身的专长分组:
控制器(Controller)- 负责转发请求,对请求进行处理。
视图(View) - 界面设计人员进行图形界面设计。
模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
- 简述Model1和Model2的优缺点?
- SpringMVC简介
- 什么是SpringMVC?
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。
- 目前市场上流行的MVC框架有哪些?
Struts 2
JFinal
- SpringMVC运行原理
- 请描述SpringMVC运行原理?
- 当访问Tomcat服务器时,首先访问web.xml文件
- 在web.xml中创建Springmvc提供的DispathcherServlet类
![v2-3666b865e2b1258ab37284ce62a463ae_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-3666b865e2b1258ab37284ce62a463ae_b.jpg)
- 如果没有使用<init-parm>标签,则默认寻找 WEB-Inf下的servlet名字-servlet(这里就是mvc-servlet)文件,但是当我们使用了这个标签,则可以任意设置xml的名称和位置,只需要在<init-parm>标签中指明它的位置即可.
- 在java文件中 在类名上使用@Controller注解创建 <bean>文件,
@RequestMapper(“名字”) 的作用就是指定serlvet 的名字这里的servlet的名字为run
![v2-e6e78ce066dd7d5d004a2c645486ce3e_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-e6e78ce066dd7d5d004a2c645486ce3e_b.jpg)
这样就可以访问这个 run()方法
![v2-8d97190a5465ec74242871e858749427_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-8d97190a5465ec74242871e858749427_b.jpg)
-
- SpringMVC底层运行主要涉及哪些组件?
- 配置式开发01
- 如何搭建SpringMVC配置式开发环境?
- 导包
![v2-975588d184992ae6fd82e1de9bbfbd78_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-975588d184992ae6fd82e1de9bbfbd78_b.jpg)
- 配置web.xml
这里的重点是 <servlet-class>的配置
![v2-c6b54812a571e63611825444c14c6fed_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-c6b54812a571e63611825444c14c6fed_b.jpg)
- 配置WEB-INF/ mvc-servlet.xml
如果配置了 <init-parm>标签就可以将这个配置的xml放置任意位置以任意名称
![v2-6c12aee3dce3296b591f8bc9ebcd9f1d_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-6c12aee3dce3296b591f8bc9ebcd9f1d_b.jpg)
- 书写自己的控制单元
![v2-114a5711c1581d38703f1764733c272e_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-114a5711c1581d38703f1764733c272e_b.jpg)
-
- 使用SpringMVC在原有Spring jar包基础上又导入哪些Spring 的jar包?
![v2-201f8edc3f402cfb40d13ba7dd8038b5_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-201f8edc3f402cfb40d13ba7dd8038b5_b.jpg)
- 配置式开发02
- 使用SpringMVC是如何实现资源跳转的?
上面有写到,这里就不在说了.
- 配置式开发,注册后端控制器需要注意什么问题?
Xml文件格式的书写.
- urlpattern配置问题
- 前端控制器的拦截路径如何配置?
- 第一种拦截方式可以放行不是.action结尾所有文件
![v2-667f552a7fcd61aaab1c78519fdcba70_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=6a602b8b-1d2f-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-667f552a7fcd61aaab1c78519fdcba70_b.jpg)
- 第二种方式不会拦截 .jsp文件,但是会拦截静态文件,导致图片不能加载.
- 如果拦截路径配置成 “/”会有什么问题,配置成 “/*”会有什么问题?
/ 会拦截所有请求,但是会放行.jsp文件
/* 会拦截所有请求包括jsp文件.
- 注解式开发-入门1
- 使用SpringMVC注解式开发项目环境搭建步骤?
和 使用SpringMVC搭建的步骤一模一样.
- SpringMVC的配置文件中需要配置哪些内容?
上面有说到.
- 注解式开发-入门2
- 在后端控制器类体上可以加哪些常用的注解?
@Controller
@RequestMapper
添加时间时 @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss") 设置保存日期的格式.
- 加到类体上的@RequestMapping起到什么作用?
相当于service方法.可以自定义名称.用起来更加方便.