当前位置: 首页 > news >正文

电子商务网站建设 价格孝感建设公司网站

电子商务网站建设 价格,孝感建设公司网站,营销方案有哪些,网站各种按钮代码目录 1. 回顾SpringMVC请求转发和重定向 2. WEB-INF资源目录 3. 视图解析器 4. 静态资源放行 1. 回顾SpringMVC请求转发和重定向 概念:在一个项目中功能非常多,也就意味着有非常多的Servlet,不同的Servlet的职不 同 ,而用户发起…

目录

1. 回顾SpringMVC请求转发和重定向

2. WEB-INF资源目录

3. 视图解析器

4. 静态资源放行


1. 回顾SpringMVC请求转发和重定向

  • 概念:
  • 在一个项目中功能非常多,也就意味着有非常多的Servlet,不同的Servlet的职不 同 ,而用户发起的请求,在服务器端接收到后需要多个Servlet之间的协同处理来共同 完 成!
  •   特点:

          请求转发: 一次请求,浏览器地址栏地址不改变!
          重定向: 两次请求,浏览器地址栏地址为最后一次请求的地址!

  •   使用场景:

          查询请求: 请求转发,Servlet负责请求数据的处理,转发到Jsp进行页面的拼接,然后 后响应!
          增删改请求: 重定向,避免表单的重复提交。

在 Spring MVC 框架中,默认情况下都使用转发进行寻找资源。如下图

等同于下面的写法:

解释:在资源路径前面添加 forward: 表示转发。因为写不写 forward: 都是转发,所以为了代码写起 来简单一些,多省略 forward:

如果希望使用重定向跳转到其他资源,只能在资源路径最前面明确添加 redirect:,下面代码就 是使用重定向方式的写法,不可省略。

2. WEB-INF资源目录

  • 在平时学习过程中,我们多会把 JSP 文件直接放入到 webapp 目录中,或在 webapp 下新建一个目录把页面资源放入到目录中,这种情况 JSP 都是可以通过浏览器直接访问的。
  • 如果从安全性等方面考虑不希望客户端通过浏览器直接访问对应的资源。 我们就可以把资源放入到 WEB-INF 目录中。 Java Web 项目中规定:WEB-INF 中资源是不允许被客户端直接访问,需要先访问控制器,通过控制器的转发来访问这些资源 。

 如下图所示,通过浏览器我们不能直接访问add.jsp页面。

下面通过控制层发出请求去访问,如下图所示,访问成功!

但是现在又有一个麻烦,看到下面很长的路径没有,如果每访问一个页面都要写这样长的路径,又重复又麻烦,这可不是一个高级程序员写的代码,所以下面有了视图解析器。

3. 视图解析器

  • Spring MVC 定义了 ViewResolver 和 View 接口,实现在浏览器中呈现模型,而无需绑定到 特定的视图技术。 提供视图名称和实际视图之间的映射
  • DispatcherServlet 在接收到请求后调用单元方法处理请求,然后接收单元方法的返回值后 DispatcherServlet 会将 model 对象和单元方法的返回值封装到 modelAndView 对象中,然后 调用 ViewResolver 视图解析器的实现类对象的 buildView 方法来解析 ModelAndView 对象生 成对用的 View 视图对象,然后再调用 View 对象的 render 方法完成物理视图跳转的准备工作 并跳转真正的物理视图。在这里要注意,我们使用不同的视图技术,需要调用不同的视图解析 器来解析 modelAndView。【了解即可

使使用:只需在springMVC的配置文件中配置视图解析器即可,如下。

<!--配置视图解析器--><bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/page/"/><property name="suffix" value=".jsp"/></bean>

如下图,然后再在浏览器中访问同样可以到页面 ,这是因为配置视图解析器之后,当请求转发时,会走视图解析器,自动会给你在前面拼接   /WEB-INF/page/    在后面拼接     .jsp,然后整体的路径就是webapp/WEB-INF/page/add.jsp,因此简洁了很多。

注意:

  • 当自定义视图解析器后,返回值前面和后面都会固定拼接字符串(在没有使用其他注解情况 下)。但是如果控制单元执行完,并不希望跳转到视图,而是跳转到控制器,这时需要在返回 值前面明确添加 forward: 或 redirect: ,这样就不走视图解析器了

上面表述可以总结为:

  • 如果单元方法的返回值没有使用forward关键字,则会触发视图解析的二次拼接功能
    如果单元方法的返回值使用了forward关键字,则单元方法的返回值就是要请求转发的资源路径!

4. 静态资源放行

  • 按照 SpringMVC 的使用流程,在 web.xml 文件中配置 DispatcherServlet 的拦截范围, 而我们配置的拦截范围为 ”/” , 表示拦截除 jsp 请求以外的所有请求。这样 js,css, 图片等静态资源的请求,也会被拦截。
  • 因此Spring MVC 支持静态资源配置,当 URL 满足指定路径要求时不再去找控制单元,而是直接转发到特定路径中静态资源。

在SpringMVC.xml中配置如下,但请求css,js等资源时,不会被拦截。 

<!--01 配置静态资源放行-->
<!--mapping:当URI是什么样格式时,不再执行控制器,而是寻找静态资源。 ** 是通配符,
表示任意层路径 -->
<!--location:去哪个目录中寻找静态资源。mapping中**的值是什么,就去location目录中
找对应资源-->
<!--例如URL是http://localhost:8080/wollo/js/jquery.js 其中mapping的**就是j
query.js,就会去location的/js/目录中寻找jquery.js -->
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
<mvc:resources mapping="/css/**" location="/css/"></mvc:resources>
<mvc:resources mapping="/images/**" location="/images/"></mvc:resources
><!--02 配置静态资源放行,将上面的统一放到static中一起放行--><mvc:resources mapping="/static/**" location="/static/"></mvc:resources>

如下图所示,访问my.css正常情况会被拦截,配置之后成功访问。

 

注意:静态资源放行的目录必须和webpp下的静态资源目录名称一致!!

http://www.yayakq.cn/news/974302/

相关文章:

  • 企业宣传网站设计论文做网络推广的网站有哪些
  • 淄博高端网站建设成品短视频软件源码
  • 怎样建设自己的ip地址网站百度搜题
  • 泉州网站开发企业上海网站建设系
  • 固安企业网站建设郑州营销型网站建设工作室
  • 高端个性化网站建设兰州 网站
  • 白名单 网站怎么自己搭建梯子
  • 西安集团网站建设高新网站开发1年经验
  • 珠海商城网站建设ui设计师需要具备什么能力
  • 南通科技网站建设网络游戏大型
  • 地方门户网站制作郑州信盈达嵌入式培训
  • 视觉中国网站云南网站优化建设
  • 陇城科技网站建设成都cms建站
  • 江苏建设人才无纸化考核网站东莞比较出名的网站建设公司
  • wordpress 制作网站公司做网站的
  • 教育手机网站开发网站正能量大全
  • 网站建设飠金手指科杰十五seo成创网络
  • 凡科建站怎么用网络营销产品概念的五个层次
  • 建设工程造价管理总站网站qq官方网站
  • 运城做网站方式方法全自动在线制作网页
  • 沪浙网站网站你的后台管理系统用什么做
  • 揭西网站建设怎么看一个网站用什么做的
  • 网站js下载网页界面设计分析案例
  • 个人做 网站2019做网站视频 上传到哪儿
  • 做画册可以参考哪些网站上海浦东网站建设
  • 网站快速建设视频不懂网站建设.怎么销售
  • 无锡网站建设兼职WordPress设置页数
  • 懒人图库网站源码乐云seo可视化网站建设
  • 建筑网站新闻写那些好互联网行业未来发展趋势
  • 网站仿站是啥将网站源码下载下来如何使用