Spring MVC_01
Spring MVC使用:
主要内容:
spring mvc的主要内容:
1 搭建环境
2 核心控制器controller的使用
3 跳转
4 数据提交与存值
5 模型和试图对象
6 上传和下载
7 国际化
8 拦截器使用
9 数据类型转换
……………………………
mybatis
数据库框架,作用同hibernate相似
整合:spring mvc + mybatis + spring(ssm)
struts2 + hibernate+ spring (ssh)
1 介绍spring mvc
什么是spring mvc?
spring mvc 是目前非常流行一个 mvc类型框架,主要封装mvc设计模式中,c的部分。是spring框架的一个分支
为什么流行?
配置非常简单和灵活,性能也非常高的。
我们操作方式:
spring 和 spring mvc一起进行
2 spring mvc的开发环境
a 可以到网上找spring mvc 需要的jar包。
b 直接通过工具来完成
步骤:
a 加载spring的各种jar包
b 需要在web.xml文件中
针对DispatcherServlet的配置(就是一个servlet),需要初始化相关xml文件
针对Post方式中文乱码处理配置CharacterEncodingFilter过滤器
c mvc特点,每个controller都对应一个配置文件(xml)或则相关注解,跟applicationcontext.xml文件结合在一起
d 在applicationContext.xml中配置InternalResourceViewResolver,用于设置跳转路径的前缀和后缀
3 跳转
请求转发(默认)、重定向——>jsp/controller
4 提交数据与存值
提交数据,单个参数、实体对象
接收方式:手动接收、自动接收
存值:request、session、application
地址重写
5 ModelAndView模型试图对象
利用该对象完成跳转和传递数据
结合 hibernate + spring + spring mvc
用户管理
补充内容:
解释HTTP中Get、Post、Put、Delete。它们有什么区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。
URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,
而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。
到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
1.GET:(查)
GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
2.POST:(改)
向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。
3.PUT:(增)
这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。
4.DELETE(删):
删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。
2.在HTTP 中〃状态码 301、302、401、403、404、500 、504的含义是;
301(永久移动)
请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,
会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。
302(临时移动)
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉 Googlebot 某个网页或网站已经移动,因为 Googlebot 会继续抓取原有位置并编制索引。
400(错误请求)
服务器不理解请求的语法。
401(未授权)
请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。
403(禁止)
服务器拒绝请求。如果您在 Googlebot 尝试抓取您网站上的有效网页时看到此状态码(您可以在 Google 网站管理员工具诊断下的网络抓取页面上看到此信息),可能是您的服务器或主机拒绝了 Googlebot 访问。
404(未找到)
服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。
如果您的网站上没有 robots.txt 文件,而您在 Google 网站管理员工具“诊断”标签的 robots.txt 页上看到此状态码,则这是正确的状态码。但是,如果您有 robots.txt 文件而又看到此状态码,则说明您的 robots.txt 文件可能命名错误或位于错误的位置(该文件应当位于顶级域,名为 robots.txt)。
如果对于 Googlebot 抓取的网址看到此状态码(在”诊断”标签的 HTTP 错误页面上),则表示 Googlebot 跟随的可能是另一个页面的无效链接(是旧链接或输入有误的链接)。
500(服务器内部错误)
服务器遇到错误,无法完成请求。
501(尚未实施)
服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502(错误网关)
服务器作为网关或代理,从上游服务器收到无效响应。
503(服务不可用)
服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
总结:SpringMVC执行流程图
/////////////////////////////////////////////////
SpringMVC执行过程:
首先发起请求到前端控制器(dispatcherServlet)》》
前端控制器向处理器映射器(handlerMapping)进行请求查找handler (可以根据xml配置、注解进这些配置信息会告诉我们handler信息
通过这些信息告诉前端控制器找什么样的处理器适配器)》》
处理器映射器向前端控制器返回handler》》
前端控制器会调用处理器适配器(handlerAdapter)来执行(处理器)handler》》
handler会产生一个ModleAndView并回送给handlerAdapter 》》
处理器适配器将结果传送给前端控制器》》
前端控制器请求视图解析器来进行视图解析》》
视图解析器解析完毕后产生视图并回送给前端控制器》》
前端控制器对视图进行渲染》》
前端控制器向用户响应结果。
名词解释:
前端控制器:作用就是接收请求,响应结果。(相当于一个转发器)(不需要程序员开发)
处理器映射器:作用是根据请求的url来查找handler (不需要程序员开发)
处理器适配器:执行handler,按照(处理器适配器规定好的规则)去执行。
处理器:handler ( 需要程序员进行开发)
ModleAndView是springMVC框架的一个底层对象包括model和view (jsp需要程序员进行开发)
视图解析器:可以根据逻辑视图名来来解析成真正的视图(jsp )
视图渲染:就是将模型数据填充到request作用域中
视图(view):这是一个接口,实现类支持不同的视图类型(jsp,freemarker,excel)。