ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.03MB ,
资源ID:11224112      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11224112.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SpringMVC课堂笔记.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SpringMVC课堂笔记.docx

1、SpringMVC课堂笔记1 SpringMVC课堂笔记2 高级参数绑定2.1 数组类型的参数绑定基于批量删除商品操作完成参数传递。Jsp修改控制器修改/* * 包装pojo传递演示 * 第二天,演示数组参数的传递与List的传递 * param vo * return */ RequestMapping(queryItem) public String queryItem(QueryVo vo, Integer ids) System.out.println(vo); /输出传入的数组 if (ids != null & ids.length 0) for (Integer id : ids

2、) System.out.println(传入的商品列表分别为: + id); return itemList; 2.2 List类型的绑定基于批量修改商品操作完成参数传递。Jsp修改控制器修改POJO修改3 RequestMapping注解的使用3.1 路径映射可以是数组3.2 RequestMapping可以加在类头部,用于目录分级管理3.3 限定请求方法4 Controller方法返回值4.1 返回ModelAndView参考第一天内容。4.2 返回void4.2.1 request新建msg.jsp4.2.2 response4.3 返回String4.3.1 返回视图名字,参考第一天

3、内容4.3.2 redirect与forward5 Springmvc中异常处理思想:做一个全局异常处理器,处理所有没有处理过的运行时异常用于更友好地提示用户。5.1 步骤5.1.1 创建全局异常处理器/* * 全局异常处理器 * author Steven * */public class CustomerException implements HandlerExceptionResolver Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse respo

4、nse, Object hanlder, Exception e) /记录日志 e.printStackTrace(); /错误消息 String msg = 很抱歉,系统发生异常了,请联系管理员; /响应用户错误提示 ModelAndView mav = new ModelAndView(); /返回错误消息 mav.addObject(msg, msg); /响应错误提示页面 mav.setViewName(msg); return mav; 5.1.2 配置异常处理器5.1.3 测试访问queryVoid.action5.1.4 更智能、更友好的提示,解决方案5.1.4.1 新建自定义异

5、常类/* * 自定义异常 * author Steven * */public class MyException extends Exception /错误消息 private String msg; public MyException() super(); public MyException(String msg) super(); this.msg = msg; public String getMsg() return msg; public void setMsg(String msg) this.msg = msg; 5.1.4.2 修改异常处理器,加上异常判断5.1.4.3

6、测试访问queryVoid.action6 图片上传处理6.1 配置虚拟目录6.2 加入上传功能需要的jar包6.3 配置多媒体解析器 6.4 jsp修改6.5 编写图片上传处理代码/图片上传用MultipartFile接收文件 RequestMapping(value = updateItem, method = RequestMethod.POST, RequestMethod.GET ) public String updateItem(Item item, Model model, MultipartFile picFile) throws Exception / 图片新名字 Stri

7、ng name = UUID.randomUUID().toString(); / 图片原名字 String oldName = picFile.getOriginalFilename(); / 后缀名 String exeName = oldName.substring(oldName.lastIndexOf(.); File pic = new File(D:WebWork + name + exeName); / 保存图片到本地磁盘 picFile.transferTo(pic); / 更新商品图片信息 item.setPic(name + exeName); itemServices.

8、update(item); model.addAttribute(item, item); model.addAttribute(msg, 修改商品成功); return itemEdit; 7 json数据交互7.1 加入jar包7.2 编码/* * json数据交互演示 * * param item2 * return */ RequestMapping(getItem) /ResponseBody把pojo转成json串响应用户 ResponseBody /RequestBody用于接收用户传入json串转成pojo public Item getItem(RequestBody Ite

9、m item2) System.out.println(接收到的json商品数据为: + item2); Item item = itemServices.getItemById(3); return item; 7.3 测试,安装google浏览器测试工具详情可查看教案上的安装谷歌浏览器工具节点8 Springmvc实现Restful8.1 编码/* * RESTful风格演示 * * param ids * param model * return */ /RESTful风格url上的参数通过点位符绑定 /点位符参数名与方法参数名不一致时,通过PathVariable绑定 RequestM

10、apping(/item/id) public String testRest(PathVariable(id) Integer ids, Model model) Item item = itemServices.getItemById(ids); model.addAttribute(item, item); return itemEdit; 8.2 测试测试直接访问urlhttp:/localhost:8080/项目名/item/1.action即可。9 拦截器9.1 拦截器开发流程9.1.1 创建拦截器9.1.1.1 一号拦截器/* * 自定义拦截器 * author Steven *

11、 */public class MyInterceptor1 implements HandlerInterceptor /在Controller方法执行后被执行 /处理异常、记录日志 Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception System.out.println(MyInterceptor1.afterCompletion.); /在Controller方法执行后,返回

12、ModelAndView之前被执行 /设置或者清理页面共用参数等等 Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception System.out.println(MyInterceptor1.postHandle.); /在Controller方法执行前被执行 /登录拦截、权限认证等等 Override public boolean preHandle(HttpServletRequest

13、 arg0, HttpServletResponse arg1, Object arg2) throws Exception System.out.println(MyInterceptor1.preHandle.); /返回true放行,false拦截 return true; 9.1.1.2 二号拦截器,复制一号,修改一下系统输出消息9.1.2 配置拦截器 !- path配置拦截所有请求,包括二级以上目录,拦截所有请求,不包括二级以上目录 - !- path配置拦截所有请求,包括二级以上目录,拦截所有请求,不包括二级以上目录 - 9.1.3 测试流程,可参考教案9.2 拦截器案例应用,登录

14、拦截器9.2.1 思路1、有一个登录页面,需要写一个controller访问页面2、登录页面有一提交表单的动作。需要在controller中处理。a) 判断用户名密码是否正确b) 如果正确 想session中写入用户信息c) 返回登录成功,或者跳转到商品列表3、拦截器。a) 拦截用户请求,判断用户是否登录b) 如果用户已经登录。放行c) 如果用户未登录,跳转到登录页面。9.2.2 login.jsp用户登录用户名:密码:9.2.3 UserController/* * 登录拦截器 * author Steven * */ControllerRequestMapping(user)public

15、class UserController /* * 跳转登录页面 * return */ RequestMapping(toLogin) public String toLogin() return login; /* * 用户登录 * return */ RequestMapping(login) public String login(String username,String password,HttpSession session) String result = login; /断定用户是否允许登录 if(username != null) session.setAttribute

16、(username, username); /登录成功,跳转商品列表 result = redirect:/itemList.action; return result; 9.2.4 LoginInterceptor拦截器编码这里省略类声名和其它两个方法。/处理执行前被执行 /登录拦截、权限验证 Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception Object attribute = request.getSession().getAttribute(username); if(attribute != null) /放行,执行处理器 return true; else response.sendRedirect(request.getContextPath() + /user/tologin.action); /放行,执行处理器 return false; 9.2.5 拦截器配置 !- path配置拦截所有请求,包括二级以上目录,拦截所有请求,不包括二级以上目录 - !- -

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1