床上爱做网站,WordPress评论调用QQ头像,网站开发的形式,网站建设的广告词1. 请求转发和重定向简介
参考该链接第9点
2. forward 返回下一个资源路径#xff0c;请求转发固定格式#xff1a;return forward:资源路径如 return forward:/b 此时为一次请求返回逻辑视图名称
返回逻辑视图不指定方式时都会默认使用请求转发in… 1. 请求转发和重定向简介
参考该链接第9点
2. forward 返回下一个资源路径请求转发固定格式return forward:资源路径如 return forward:/b 此时为一次请求返回逻辑视图名称
返回逻辑视图不指定方式时都会默认使用请求转发index.html
bodya th:href{/a}A页面/a bra th:href{/b}B页面/a bra th:href{/test}test/a
/body
Controller层
Controller
public class IndexController {RequestMapping(value {/})public String toIndex() {return index;} RequestMapping(/a)public String toA() {return forward:/b;}
RequestMapping(/b)public String toB() {return b;}
3. redirect 返回要响应重定向的资源路径响应重定向固定格式return redirect:资源路径
重定向如果要跨域要写全路径如return redirect:http:localhost:8080/springmvc/a/b/c 此时让客户端重新发送请求请求RequestMapping(/a)public String toA() {return redirect:/b;}
4. 简化配置
!--该代码表示访问/test资源时自动向test逻辑视图进行跳转--mvc:view-controller path/test view-nametest/mvc:view-controller!--当配置了上面的代码所有Controller注解会失效需要配置以下信息开启注解--mvc:annotation-driven/mvc:annotation-driven !--如果只是单纯进行页面跳转没有任何业务逻辑处理只需要配置以下信息即可
以上代码效果等同于
RequestMapping(/test)
public String toTest() {return test;
}
--5. 访问静态资源 关于静态资源的访问假设我们在webapp目录下创建static目录下面存放img.png图片资源我们可以通过地址栏http://localhost:8080/springmvc/static/img.png进行访问么答案是不行因为会走DispatcherServlet之后会从控制器中走相应方法最后通过逻辑视图寻找对应资源而此时在控制器中找不到对应逻辑视图即资源不存在会报404错误方案一 在springmvc.xml文件中配置
mvc:default-servlet-handler/mvc:default-servlet-handler
mvc:annotation-driven/mvc:annotation-driven
即手动开启DefaultServlet
当访问http://localhost:8080/springmvc/static/img.png会默认先走DispatcherServlet
当报404错误时会走DefaultServlet然后DefaultServlet会帮你定位到静态资源
DefaultServlet默认是关闭的需要手动开启!--该代码表示访问/test资源时自动向test逻辑视图进行跳转--mvc:view-controller path/test view-nametest/mvc:view-controller!--当配置了上面的代码所有Controller注解会失效需要配置以下信息开启注解--mvc:annotation-driven/mvc:annotation-driven
方案二 使用 mvc:resources 标签配置静态资源
mvc:annotation-driven/mvc:annotation-driven
mvc:resources mapping/static/** location/static/ /
即static路径下的任意资源都可以访问
注意要想使用 mvc:resources 配置必须开启注解驱动 mvc:annotation-driven /!--开启默认Servlet处理--mvc:default-servlet-handler/mvc:default-servlet-handler!-- 配置静态资源处理 --mvc:resources mapping/static/** location/static/ /
视图原理描述 假设我们SpringMVC中使用了Thymeleaf作为视图。 第一步浏览器发送请求给web服务器 第二步Spring MVC中的DispatcherServlet接收到请求 第三步DispatcherServlet根据请求路径分发到对应的Controller 第四步DispatcherServlet调用Controller的方法 第五步Controller的方法处理业务并返回一个逻辑视图名给DispatcherServlet 第六步DispatcherServlet调用ThymeleafViewResolver的resolveViewName方法将逻辑视图名转换为物理视图名并创建ThymeleafView对象返回给DispatcherServlet 第七步DispatcherServlet再调用ThymeleafView的render方法render方法将模板语言转换为HTML代码响应给浏览器完成最终的渲染。 常见视图 * InternalResourceView内部资源视图Spring MVC框架内置的专门为JSP模板语法准备的 * RedirectView重定向视图Spring MVC框架内置的用来完成重定向效果 * ThymeleafViewThymeleaf视图第三方的为Thymeleaf模板语法准备的 * FreeMarkerViewFreeMarker视图第三方的为FreeMarker模板语法准备的 * VelocityViewVelocity视图第三方的为Velocity模板语法准备的 * PDFViewPDF视图第三方的专门用来生成pdf文件视图 * ExcelViewExcel视图第三方的专门用来生成excel文件视图 * ......