一点PHP博客分享java框架中SpringMVC配置以及使用,并且附上对应代码以及配置文件,帮助SpringMVC框架的初学者更容易理解,代码以及配置如下:
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 解决中文乱码问题(jsp数据提交需改成post才行)--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> |
springmvc-servlet.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/page/" /> <property name="suffix" value=".jsp" /> </bean> <context:component-scan base-package="controller" /> <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/index"/> <!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的 --> <bean class="interceptor.IndexInterceptor"/> </mvc:interceptor> <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 --> </mvc:interceptors> </beans> |
拦截器案例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
package interceptor; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class IndexInterceptor extends HandlerInterceptorAdapter { /** * 在业务处理器处理请求之前被调用 * 如果返回false * 从当前的拦截器往回执行所有拦截器的afterCompletion(),再退出拦截器链 * 如果返回true * 执行下一个拦截器,直到所有的拦截器都执行完毕 * 再执行被拦截的Controller * 然后进入拦截器链, * 从最后一个拦截器往回执行所有的postHandle() * 接着再从最后一个拦截器往回执行所有的afterCompletion() */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("preHandle(), 在访问Controller之前被调用"); return true; } /** * 在业务处理器处理请求执行完成后,生成视图之前执行的动作 * 可在modelAndView中加入数据,比如当前时间 */ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("postHandle(), 在访问Controller之后,访问视图之前被调用,这里可以注入一个时间到modelAndView中,用于后续视图显示"); modelAndView.addObject("date","由拦截器生成的时间:" + new Date()); } /** * 在DispatcherServlet完全处理完请求后被调用,可用于清理资源等 * * 当有拦截器抛出异常时,会从当前拦截器往回执行所有的拦截器的afterCompletion() */ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("afterCompletion(), 在访问视图之后被调用"); } } |
控制器代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class IndexController { @RequestMapping("/index") public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView("project"); return mav; } @RequestMapping("/jump") public ModelAndView jump() { ModelAndView mav = new ModelAndView("redirect:/index"); return mav; } @RequestMapping("/session") public ModelAndView getSession(HttpSession session) { Integer a = (Integer)session.getAttribute("count"); if(a == null) { a = 0; } else { a++; } session.setAttribute("count", a); ModelAndView mav = new ModelAndView("session"); mav.addObject("count1",(Integer)session.getAttribute("count")); return mav; } }<!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjEwMzgtMTUxOTk3MDYwNTA3MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoicCJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoiayJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6Ijg1MjEtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbXSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjQ3MjMtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiaSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImoifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJ4In0seyJjaGFyIjoiLiJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InYifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoiaCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoicCJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJIIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiUyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IlIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicSJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiI7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNjA5NC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJpIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiaiJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoiYSJ9LHsiY2hhciI6IngifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6IkgifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoidCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJTIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiUiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiI7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNzQ0NC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJpIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiaiJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoiYSJ9LHsiY2hhciI6IngifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6IkgifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoidCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJTIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6Ijk0MTUtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbXSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjAwNjItMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiaSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJmIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImsifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InkifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJDIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6Ijg4NzMtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiaSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJmIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImsifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJiIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6ImIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InEifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiTSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI0NjQ0LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6ImkifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoiZiJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ3In0seyJjaGFyIjoibyJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJrIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiYiJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiLiJ9LHsiY2hhciI6Ik0ifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiQSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiViJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI0ODM3LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W10sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI1NjcyLTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6IkAifSx7ImNoYXIiOiJDIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMDAzMC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJwIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImIifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiSSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IngifSx7ImNoYXIiOiJDIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiIxODMwLTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiQCJ9LHsiY2hhciI6IlIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicSJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiLyJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ4In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNzYyMC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiYiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IlYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiaCJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiUiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJxIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJIIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiUyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IlIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicSJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJxIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IiwifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiSCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoicCJ9LHsiY2hhciI6IlMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InYifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IikifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImgifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IkUifSx7ImNoYXIiOiJ4In0seyJjaGFyIjoiYyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJ7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiODA0MC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Ilx0In0seyJjaGFyIjoiTSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJWIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ3In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IlYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJqIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjU3OTAtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InYifSx7ImNoYXIiOiI7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMTQxMi0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6In0ifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI0Mzk2LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6IkAifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InEifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiTSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJqIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNjgxMi0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJiIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6Ik0ifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiQSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiViJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJqIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IikifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoieyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjUwNzgtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IlYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ3In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Ik0ifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJsIn0seyJjaGFyIjoiQSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiViJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiOiJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoieCJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiIxNzM0LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiXHQifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoidSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiIwMDU0LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJ9In0seyJjaGFyIjoiICJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjY5NzgtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiIgIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNTMzMi0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6IkAifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InEifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiTSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiODgwMC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiYiJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IlYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiUyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJIIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiUyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiKSJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjIwOTMtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJ7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNzU3MC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Ilx0In0seyJjaGFyIjoiSSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IkkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJnIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6ImIifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI0MzUwLTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiXHQifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZiJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiIyMDE5LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiPSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIwIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6Ijg4MzgtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6In0ifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJ7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMjE0MS0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Ilx0In0seyJjaGFyIjoiXHQifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiKyJ9LHsiY2hhciI6IisifSx7ImNoYXIiOiI7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNTQzNC0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Ilx0In0seyJjaGFyIjoifSJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjE2MjEtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiIuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiQSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiciJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJiIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiKCJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoibiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6IiwifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6IikifSx7ImNoYXIiOiI7In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiODY4MS0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Ilx0In0seyJjaGFyIjoiTSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJWIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ3In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiICJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJNIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6IlYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IncifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjQxNzAtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJcdCJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6Ii4ifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiZCJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJPIn0seyJjaGFyIjoiYiJ9LHsiY2hhciI6ImoifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJjIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IjEifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6IiwifSx7ImNoYXIiOiIoIn0seyJjaGFyIjoiSSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6IikifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJzIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoiLiJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IkEifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoidCJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiYiJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IigifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiIpIn0seyJjaGFyIjoiKSJ9LHsiY2hhciI6IjsifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI5OTk3LTE1MTk5NzA2NDU2NjIiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsidGV4dC1pbmRlbnQiOjEsImFsaWduIjoibGVmdCIsImluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzV9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ilx0In0seyJjaGFyIjoiXHQifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoiciJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6ImEifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoiOyJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjEzMjMtMTUxOTk3MDY0NTY2MiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJ0ZXh0LWluZGVudCI6MSwiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NX0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiXHQifSx7ImNoYXIiOiJ9In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNDQ2Ni0xNTE5OTcwNjQ1NjYyIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7InRleHQtaW5kZW50IjoxLCJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1fSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJ9In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX1d--> |
功能类代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package proje; import org.springframework.web.multipart.MultipartFile; public class UploadImageFile { MultipartFile image; public MultipartFile getImage() { return image; } public void setImage(MultipartFile image) { this.image = image; } } |
一点博客,每天一点技术。
2021年12月3日 下午1:48 沙发