pagecontext request session_pagecontent

pagecontext request session_pagecontent ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> 。 也就是取出部署的应用程序名或者是当前的项目名称 比如我的项目名称是demo1在浏览器中输入为http://localhost:8080/demo1/a.jsp${pageContext.request.co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

    • ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> 。

      也就是取出部署的应用程序名或者是当前的项目名称

      比如我的项目名称是demo1在浏览器中输入为http://localhost:8080/demo1/a.jsp ${pageContext.request.contextPath}或<%=request.getContextPath()%>取出来的就是/demo1,而”/”代表的含义就是http://localhost:8080

      故有时候项目中这样写${pageContext.request.contextPath}/a.jsp

    • 绝对路径与相对路径的比较

       

      1)采用相对路径遇到的问题 

                  相对路径固然比较灵活,但如果想复制页面内的代码却变得比较困难,因为不同的页面具有不同的相对路径,复制后必须修改每一个连接的路径。 
      如果页面被多于一个的页面所包含,那么被包含页面中的相对路径将是不正确的。 
      如果采用Struts的Action返回页面,那么由于页面路径与 Action路径不同,使得浏览器无法正确解释页面中的路径,如页面为/pages/cust/cust.jsp,图片所有目录为/images /title.gif,这时在/pages/cust/cust.jsp中的所用的路径为”http://images.cnblogs.com /title.gif”,但是如果某一个Action的Forward指向这个JSP文件,而这个Action的路径为/cust/manage.do, 那么页面内容中”http://images.cnblogs.com/title.gif”就不再指向正确的路径了。 
      解决以上问题似乎只有使用绝对路径了。

      2)采用绝对路径遇到的问题 

       随 着不同的Web应用发布方式,绝对路径的值也不同。如Web应用发布为MyApp,则路径”/MyApp/images/title.gif”是正确的, 但发布为另一应用时如MyApp2,这个路径就不对了,也许这个情况比较少,但以default方式发布Web应用时以上绝对路径也不 同:”/images/title.gif”。 

      二.解决方案 

      1)采用绝对路径,但为了解决不同部署方式的差别,在所有非struts标签的路径前加${pageContext.request.contextPath},如原路径为: 
      ”/images/title.gif”,改为 
      “${pageContext.request.contextPath}/images/title.gif”。 
      代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。

       

      缺点: 
      操作不便,其他工具无法正确解释${pageContext.request.contextPath} 
      2) 采用相对路径,在每个JSP文件中加入base标签,如: 
      <base href=”http://${header[‘host’]}${pageContext.request.contextPath}/pages/cust/relation.jsp” /> 
      这样所有的路径都可以使用相对路径。

      缺点: 
      对于被包含的文件依然无效。 
          真正使用时需要灵活应用1)和2),写出更加健壮的代码。 

      在使用的时候可以使 用${pageContext.request.contextPath},也同时可以使 用<%=request.getContextPath()%>达到同样的效果,同时,也可以 将${pageContext.request.contextPath},放入一个JSP文件中,将用C:set放入一个变量中,然后在用的时候用EL 表达式取出来。  
       

转载:https://www.cnblogs.com/hy1988/p/5811445.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192471.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Java代码过滤掉乱码字符

    使用Java代码过滤掉乱码字符转自:http://www.cnblogs.com/en-heng/p/5320024.html最近在日志数据清洗时遇到中文乱码,如果只要有非中文字符就将该字符串过滤掉,这种方法虽简单但并不可取,因为比如像Xperia™主題、天天四川麻将Ⅱ这样的字符串也会被过滤掉。1.Unicode编码Unicode编码是一种涵盖了世界上所有语言、标点等字符的编码方式,简单一点说

    2022年6月11日
    94
  • DDL和DML的区别

    DML(DataManipulationLanguage)数据操纵语言:适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等. DDL(DataDefinitionLanguage)数据定义语言:适用范围:对数据库中的某些对象(例如,database,table)进行管理,如create、alter、drop、TRUNCATE、show等 …

    2022年4月6日
    77
  • 实验设备管理系统C语言_实验室设备管理系统代码

    实验设备管理系统C语言_实验室设备管理系统代码这里写目录标题实验室设备管理系统题目要求源代码运行结果实验室设备管理系统题目要求实验设备管理系统设计实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。主要功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的破损耗费和遗损处理(4)设备的查询要求:使用文件方式存储数据。源代码#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#i

    2022年10月13日
    3
  • Spring Boot 静态资源处理

    Spring Boot 静态资源处理SpringBoot默认为我们提供了静态资源处理,使用WebMvcAutoConfiguration中的配置各种属性。建议大家使用SpringBoot的默认配置方式,如果需要特殊处理的再通过配置进行修改。如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication注解的程序入口类已经包含@

    2022年5月9日
    48
  • 接口400是什么错误_接口报500是什么错误

    接口400是什么错误_接口报500是什么错误原文地址:https://blog.csdn.net/lw1242189467/article/details/80048407首先,遇到400问题,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。该例是我前端传送JSON格式,使用postmen接收。一.发现400错误的,第一步确认postmen中发送的数据类型是json。比如Headers中Content-Type类型是application/json;或是前端代码Ajax中添加:conten

    2022年9月27日
    2
  • 解决Discuz! info: MySQL Query Error[通俗易懂]

    解决Discuz! info: MySQL Query Error[通俗易懂]php下安装Discuz!完成后点进bbs报错:Discuz!info:MySQLQueryErrorTime:2014-11-68:23amScript:/discuz7/bbs/in

    2022年7月3日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号