
Spring mvc
Android_la
Java入门到进阶级别
展开
-
SSM+layui实现退出登录功能,退出后使用SpringMVC重定向页面
一. 问题背景后台:SSM框架前端:layui框架描述:在商城首页点击“退出登录”,浏览器发送请求到后台,controller方法进行处理退出功能,然后重定向页面回到商城首页二. 解决方案==最最最关键的是使用return "redirect:/xxx.html";@RequestMapping(value="/logout") public String logout(Http...原创 2020-03-30 16:29:49 · 2058 阅读 · 1 评论 -
Day44——在Handler方法中获取Spring容器对象
一. 知识储备有两种方法:二. 例子方法一:在handler方法里面获取spring容器对象,通过key获取,要记住key方法二:原创 2020-02-09 13:05:07 · 174 阅读 · 0 评论 -
Day43——Spring与Springmvc容器的关系
一. 知识储备是父子关系:Spring是父容器,SpringMVC是子容器,子容器可以访问父容器,而反过来则不行。原创 2020-02-09 13:01:59 · 128 阅读 · 0 评论 -
Day42——解决bean被创建两次的问题
一. 知识储备在组件扫描配置中,通过<context:include-filter>以及<context:exclude-filter>进行包含与排除扫描二. 例子在springmvc.xml中指定扫描handler即可在spring.xml中排除扫描handler即可...原创 2020-02-09 13:00:15 · 374 阅读 · 0 评论 -
Day41——Spring提供的监听器_ContextLoaderListener
一. 知识储备在web.xml中按代码提示快捷键,找到ContextLoaderListener,按Enter键,代码如下:<!-- Spring提供的监听器 --> <!-- needed for ContextLoaderListener --> <context-param> <param-name>contextConfigL...原创 2020-02-09 12:54:53 · 207 阅读 · 0 评论 -
Day40——在web环境下Spring容器对象创建的解决方案
一. 知识储备原创 2020-02-09 12:50:50 · 103 阅读 · 0 评论 -
Day39——是否需要进行Spring 与 Springmvc的整合
原创 2020-02-09 12:47:03 · 111 阅读 · 0 评论 -
Day38——Springmvc的运行流程
一. 知识储备1.1 图解1.2 解释原创 2020-02-09 12:45:15 · 94 阅读 · 0 评论 -
Day37——mvc-annotation-driven
一. 知识储备原创 2020-02-09 12:42:27 · 100 阅读 · 0 评论 -
Day36——SimpleMappingExceptionResolver
一. 知识储备原创 2020-02-09 12:40:52 · 90 阅读 · 0 评论 -
Day35——DefaultHandlerExceptionResolver
一. 知识储备原创 2020-02-09 12:39:01 · 120 阅读 · 0 评论 -
Day34——异常处理
一. 知识储备原创 2020-02-09 12:37:40 · 108 阅读 · 0 评论 -
Day33——当拦截器的preHandle返回false后的处理
一. 知识储备当拦截器的preHandle返回false后的处理:后续的拦截器以及请求处理方法等都不会再执行。当前返回false的拦截器之前的拦截器的afterCompletion方法会执行。...原创 2020-02-09 12:34:27 · 4098 阅读 · 0 评论 -
Day32——多个拦截器的执行顺序
一. 知识储备多个拦截器的执行顺序:根据拦截器的配置循序决定,配置越靠前,执行越靠前原创 2020-02-09 12:31:20 · 177 阅读 · 0 评论 -
Day31——单个拦截器中三个方法的执行顺序以及时机
一. 回顾前面拦截器简介用实现HandlerInterceptor接口实现了自定义拦截器,可以知道它有三个需要实现的方法,分别是preHandle()、postHandle()、afterCompletion()二. 知识储备2.1 单个拦截器中三个方法的执行顺序以及时机方法说明preHandle()在DispatcherServlet的939行,也就是请求处理方法之...原创 2020-02-09 11:05:47 · 637 阅读 · 0 评论 -
Day30——拦截器的两种配置方式
一. 回顾前面拦截器简介讲述了如何实现拦截器。今天讲解配置拦截器的两种方式二. 例子原创 2020-02-09 10:59:57 · 168 阅读 · 0 评论 -
Day29——拦截器简介
一. 知识储备1.1 自定义拦截器概述Spring MVC也可以使用拦截器对请求进行拦截处理。用户可以自定义拦截器来实现特定的功能。自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdaptor适配器类。preHandle(),这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request进行处理。如果程序员决定该拦...原创 2020-02-08 21:23:39 · 144 阅读 · 0 评论 -
Day28——文件上传
一. 知识储备SpringMVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的Spring 用 Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolverSpring MVC上下文中默认没有装配MultipartResolver,因此默认情况下不能...原创 2020-02-08 21:09:16 · 132 阅读 · 0 评论 -
Day27——@ResponseEntity完成下载功能
一. 知识储备index.jsp<a href="download">下载图片</a><br/>SpringmvcHandler.java/** * ResponseEntity 完成下载功能 * @return */ @RequestMapping("/download") public ResponseEntity<byte[...原创 2020-02-08 19:34:11 · 269 阅读 · 0 评论 -
Day26——HttpMessageConverter介绍
一. 知识储备1.1 HttpMessageConverter<T>HttpMessageConverter<T>是Spring3.0新添加的一个接口,负责将请求信息转换为一个对象(类型为T),将对象(类型为T)输出为响应信息。如下图:1.2 使用HttpMessageConverter...原创 2020-02-08 17:19:55 · 161 阅读 · 0 评论 -
Day25——@ResonseBody 返回json数据
一. 知识储备1.1 处理JSONJava Web:通过GSON技术将java对象转换成json字符串,再通过流将json字符串写回到客户端String jsonStr = new Gson().toJson(java);response.getWriter().println(jsonStr);Spring MVC:使用jackson,加入jackson jar包,在请求处理方法上面...原创 2020-02-08 17:08:09 · 263 阅读 · 0 评论 -
Day24——解决静态资源请求问题
一. 回顾前面Day23——静态资源请求问题分析分析了静态资源请求问题,今天讲解解决方案静态资源:html,js,mp3,mp4,txt,jpg问题原因:因为在web.xml中配置的<url-pattern>为/,会匹配到所有的请求(除了jsp)。所以静态资源的请求也交给了DispatcherServlet处理,就会导致no mapping found二. 解决方案<...原创 2020-02-08 11:44:24 · 321 阅读 · 0 评论 -
Day23——静态资源请求问题分析
一. 知识储备分析:删除操作需要发送DELETE请求思路:给删除操作的超链接绑定点击事件,当事件触发后,在事件处理函数中,将当前超链接的href值获取到,设置到某个表单的action属性上,再让这个表单提交。将href值设置到如下表单:<form action="" method="post"> <input type="hidden" name="_method"...原创 2020-02-08 11:30:15 · 211 阅读 · 0 评论 -
Day22——使用表单标签重构添加页面
一. 知识储备HTMl表单标签:使用的是POJO对象传递请求参数<!-- HTML表单标签 --> <form action="emp" method="post"> username : <inpu type="text" name="lastName"/><br/> email : <inpu ...原创 2020-02-08 10:56:52 · 135 阅读 · 0 评论 -
Day21——乱码问题的解决
一. 知识储备在web.xml中写如下代码,此代码块要在所有配置代码前面:<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilte...原创 2020-02-07 21:33:00 · 165 阅读 · 0 评论 -
Day20——重定向
一. 知识储备1.1 关于重定向一般情况下,控制器方法返回字符串类型的会被当成逻辑视图名处理如果返回的字符串带有“forward:”或“redirect:”前缀时,SpringMVC会进行特殊的处理,将“forward:”或“redirect:”当成指示符,其后的字符串作为url来处理redirect:success.jsp,会完成一个到success.jsp的重定向操作forward...原创 2020-02-07 21:23:09 · 133 阅读 · 0 评论 -
Day19——<mvc:view-controller>
一. 知识储备<mvc:view-controller>标签的作用是作一个跳转,效果相当于如下: /** * 单独做一个跳转,不做任何处理 */ @RequestMapping("/testViewController") public String testViewController() { return "success"; }二. 例子在sp...原创 2020-02-07 21:15:59 · 123 阅读 · 0 评论 -
Day18——常用的视图解析器实现类、视图解析器的优先级
一. 知识储备原创 2020-02-07 21:12:10 · 185 阅读 · 0 评论 -
Day17——视图和视图解析器
一. 知识储备1.1 SpringMVC如何解析视图调用完请求处理方法后,不论控制器返回一个String、ModelAndView、View,都会转换为ModelAndView对象。由视图解析器解析视图,然后,进行页面的跳转。视图解析器(ViewResolver)会结合ModelAndView中的信息,解析得到一个具体的视图对象(View)。视图对象会进行后续的处理,整合输出模型数据,完成转...原创 2020-02-07 21:06:40 · 547 阅读 · 0 评论 -
Day16——Model处理模型数据
一. 回顾前面Day15——Map处理模型数据,讲了如何使用Map处理模型数据,今天将的Model处理模型数据,用法和Map相同。二. 例子 /** * Model 处理数据模型 */ @RequestMapping("/testModel") public String testModel(Model model) { //模型数据:loginUser = zhangsan...原创 2020-02-07 17:25:53 · 211 阅读 · 0 评论 -
Day15——Map处理模型数据
一. 知识储备1.1 Map介绍SpringMVC在内部使用一个org.springframework.ui.Model接口存储模型数据SpringMVC在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器如果方法的入参为Map或Model类型,SpringMVC会将隐含模型的引用传递给这些入参在方法体内,开发者可以通过入参对象访问到模型中的所有数据,也可以向模型中添加新的属性数...原创 2020-02-07 17:18:51 · 174 阅读 · 0 评论 -
Day14——使用SpringMVC的ModelAndView
一. 回顾前面Day13——处理模型数据之ModelAndView讲解了ModelAndView的重要知识点,下面继续讲解实例。前往免费下载源码二. 例子首先需要搭建Spring MVC环境,创建核心控制器DispatcherServlet(简称DS),创建springmvc.xmlweb.xml<?xml version="1.0" encoding="UTF-8"?>...原创 2020-02-07 16:55:26 · 284 阅读 · 0 评论 -
Day13——处理模型数据之ModelAndView
一. 知识储备1.1 ModelAndView介绍控制器处理请求的方法,返回值类型为ModelAndView时,其既包含视图信息,也包含模型数据信息。1.1.1 两个重要的成员变量变量名说明private Object view视图信息private ModelMap model模型数据1.1.2 两个添加模型数据的方法方法说明Mo...原创 2020-02-07 16:36:27 · 207 阅读 · 0 评论 -
Day12——处理响应数据
一. 知识储备Java Web处理响应数据的方式:request.seAttribute("xxx",xxx);request.getRequestDispatcher("xxx").forward(request, response);1.1 SpringMVC输出模型数据概述1.1.1 提供了以下几种途径输出模型数据(重要)ModelAndView: 处理方法返回值类型为Mod...原创 2020-02-07 16:20:50 · 130 阅读 · 0 评论 -
Day10——使用POJO封装请求参数
一. 知识储备1.1 使用POJO作为请求参数使用POJO对象绑定请求参数SpringMVC会按请求参数名和POJO对象的属性名进行自动匹配。自动为该对象填充属性值,支持级联属性(即User对象里面有一个Address类型的属性),如dept.deptId,dept.address.tel等二. 例子Address.javapackage com.atguigu.springmvc...原创 2020-02-07 14:42:11 · 219 阅读 · 0 评论 -
Day9——@CookieValue注解处理cookie信息
一. 知识储备/** * @RequestCookie处理cookie信息 * 与@RequestParam类似,有required属性,也有defaultValue属性 */ @RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue("JSESSIONID")String se...原创 2020-02-07 14:35:22 · 146 阅读 · 0 评论 -
Day8——@RequestHeader注解处理请求头
一. 知识储备@RequestHeader和@RequestParam的用法类似/** * @RequestHeader:处理请求头信息 * 与@RequestParam相似,也有required属性,defaultValue属性 */ @RequestMapping("/testRequestHeader") public String testRequestHeade...原创 2020-02-07 14:30:50 · 336 阅读 · 0 评论 -
Day7——@RequestParam注解处理请求参数
一. 知识储备1.1 @RequestParam注解在处理方法入参处使用@RequestParam可以把请求参数传递给请求处理方法value:参数名required:告诉请求处理方法此参数是否必须的。默认为true,表示请求参数中必须包含对应的参数,若不存在,将抛出异常defaultValue:当没有传递该参数时,使用该值。 一般最好在处理请求方法中的形参使用包装数据类型,不要使用基本...原创 2020-02-07 14:28:01 · 508 阅读 · 0 评论 -
Day6——REST的CRUD
一. 回顾前面Day4——REST简介介绍了什么是REST,今天介绍以下REST的CRUD二. 知识储备2.1 什么是REST的CRUD?REST软件架构使用了CRUD原则,获取资源只需要4中方式:方式说明C(Create)创建R(Read)读取U(Update)更新D(Delete)删除这就是CRUD。2.2 配置CRUD的环境在...原创 2020-02-07 13:53:37 · 169 阅读 · 0 评论 -
Day5——HiddenHttpMethodFilter源码分析
一. 储备知识浏览器form表单只支持GET、POST方式的请求,而不支持PUT、DELETE方式。Spring3.0添加了一个过滤器,可以使这些请求转换为标准的http方法,使得支持GET、POST、PUT、DELETE请求。1.1 原理如下图:服务器里面的DS表示DispatcherServlet解释: 浏览器将PUT、DELETE请求伪装成POST,用一个名为"_method"的标...原创 2020-02-07 13:37:47 · 176 阅读 · 0 评论