全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习:1)MVC模型 View:负责展示处理结果 JSP/HTML/FreeMarker/Velocity Controller:负责接收请求、验证、调用Model Servlet/Filter/POJO Model:负责业务功能(数据库、IO、Other) JavaBean常见的MVC模型:SpringMVC Struts1 Sturts2 ThinkPHP 2)SpringMVC SpringMVC是一个带前端控制器的MVC模型,主要关注的是Controller(FrontController+RequestHandler),对View有部分涉及(提供了几个标签),并没有涉及到Model。 SpringMVC的处理流程: (1)服务器一启动,SpringMVC创建BeanFactory,创建所有Bean对象 (2)客户端发起请求,被前端控制器拦截并解析 (3)Spring做URL-Handler映射,调用Hanlder (4)Handler调用接收请求、验证、调用业务逻辑,返回viewName (5)Spring查找ViewResolver,装配出一个可以请求转发的完整页面名 (6)View发送结果给客户端3)使用SpringMVC的步骤: (1)导入jar (2)声明前端控制器 DispatcherServlet (3)创建applicationContext-mvc.xml (4)声明URL-Handler映射 (5)创建Handler、Service、Dao,声明为Spring中的Bean (6)声明ViewResolver (7)创建jsp1.DispatcherServlet的url-pattern可取值有如下三种形式: (1)*.do 只拦截以.do结尾的请求 (2)/ 拦截所有的请求,包括Handler、js、css、jpg. 注意:url-pattern不能指定为/*, 会导致handler能够被调用,但无法请求转发到jsp2.使用注解实现URL-Handler的映射 (1)声明使用注解实现映射applicationContext.xml (2)对Controller及其中的方法使用注解,进行URL映射RequestMapping(“/user”)public class UserControllerReqeustMapping(“/add”)public String add()return viewName;2.使用注解进行URL-Handler映射后,Hanlder获取请求参数的方式: (1)Controller方法添加HttpServletRequest类型的形参即可,Spring调用此Controller方法时,会注入需要的request对象不足:Controller依赖于一个Servlet容器对象,不便于进行独立的单元测试public String add(HttpRequestServlet request) (2)Controller方法中声明与请求参数一样名称的形参即可让Controller与Servlet容器解耦public String add(String uname, String upwd, int uno) 若请求参数的名称与Controller方法的形参名不一致,可以使用RequestParam进行注解public String add(RequestParam(“userName”)String uname) (3)若Controller方法中需要注入的请求参数很多,可以封装为实体类,只要实体类的属性名与请求参数名一致,也可以实现注入:public String add(Message msg, int uno) 注意:有些情况下,如Controller方法向获取客户端所在IP地址,需要执行request.getRemoteIP(),request.getSession()只能使用方法一。补充知识点:网页内容的相对地址问题:f1/f2/1.html: 那么图片的路径就是相对于当前HTML文件,即要去f1/f2/img/1.jpg文件,若把1.html放到路径下,图片的相对地址也会跟着改变,可能需要大量修改解决方法: 只要声明了base元素,则当前页面中所有的相对地址都是相对于base的href值,而与当前页面的位置无关。3.Controller中的数据传递给View的方式: (1)通过HttpServletRequest.setAttribute (2)让Controller的处理器方法返回ModelAndView对象,此对象中可以封装需要显示在页面中的数据,Spring会从其中读取数据,调用request.setAttribute();保存在request范围 (3)为Controller处理方法添加一个ModelMap类型的形参,需要显示在View中的数据保存在此Map中即可。Spring会自动从此Map中读取数据添加到request范围。4.SpringMVC应用中的中文乱码问题 (1)GET请求中数据的乱码:GET /day109/add?uname=%AE%98 HTTP/1.1 由于上述URI被tomcat截获,它默认理解为ISO8859-1字符集,可以修改它的配置文件server.xml 大约第70行 (2)POST请求中的乱码问题: 修改web.xml,声明一个字符集过滤器即可characterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8characterEncodingFilter/*5.让前端控制器对静态资源的请求进行放行 (1)方式一 DispatcherServlet的url-pattern作如下声明:*.do (2)方式二 若DispatcherServlet的url-pattern就特意声明为/,则可以在applicationContext中做过滤声明:作业:实现一个用户管理模块,包括如下功能:前台(广大用户):(1)注册新用户(用户名/密码/确认密码/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冷链方案碳中和碳足迹核算方法报告
- 2025年超星尔雅学习通《水资源论与管理》考试备考题库及答案解析
- 三方代收代付业务合同范本与操作流程
- 医院慢病管理及健康教育实施方案
- 教师教学质量提升行动方案
- HR员工培训需求调查问卷设计
- 基于空间电荷视角下氧化锌电阻片老化特性的深度剖析与研究
- 教育信息化规划执行方案
- 建筑工地消防安全培训资料
- 物流仓储成本控制实施细则
- 《发票发票知识培训》课件
- 2024年秋季新版苏科版八年级上册物理课件 跨学科实践 乐器的调查与制作
- 民兵潜力数据调查培训
- 辽海版综合实践活动七年级上册同步课件教案81用好电子小帮手之活动一电子产品走近你我他
- 离职员工不损害公司声誉保证书
- 3.8 第1课时弧长的计算 浙教版数学九年级上册课件
- 初中语+文+第9课《从百草园到三味书屋》课件+统编版语文七年级上册
- 2024年共青团入团积极分子团校结业考试试题库及答案
- 高标准农田改造提升建设项目投标方案(技术标)
- 市政设施养护维修服务规范(TZSZX002-2022)
- MOOC 创业团队建设与管理-首都经济贸易大学 中国大学慕课答案
评论
0/150
提交评论