今天在自学那个Struct2的知识点的时候,发现那个相对路径和绝对路径有点遗忘。特地去看了视频还有在百度上查了一些资料。我觉得这个路径问题对于我这个初学者来说还是有点容易遗忘的。所以,今天就添加这个新随笔。

  地址栏中访问 action 时 URL 基本是以 http://localhost:8080/Struts 开头

比如 <action name="Factir" class="test.FactirAction" namespace="/">

        <result name="success"> 要访问的 jsp 页面 </result>

   </action>

这里有两种方式来写要访问的 jsp 页面,一种加“ / ”,另一种是不加“ / ”。

1) jsp 页面写成 /Pages/path.jsp, 那么就会从项目的根路径中开始找也就是,也就是 Struts 所在的根目录,在一层一层的下去找。

2) jsp 页面写成 Pages/path.jsp, 那么就会从当前路径开始找 ( 注意当前路径是指当前访问者请求的目录 ) ,在这个例子中的我们是通过请求 action ,进而间接访问到 jsp 文件的,所以当前路径应该就是 action 所在的路径,在本例中也就是 http://localhost:8080/Struts ,从这里可以看到当前路径就是根路径,所以两种方式都可以访问到 jsp 页面,如果当前路径不是根路径那么情况就不同了。

在页面中涉及到的路径问题。就是统一用绝对路径,这样子来解决我们的问题就会简单很多哦。在 jsp 文件中可以这样写来统一路径:

<%

String contextPath=request.getContextPath();

String basePath=requset.getScheme()+"://"+requset.getServerName()+":"+request.getServerPort()+path+"/";

%>

在 <head></head> 中写成这样

<base herf="<%=basePath>">

这说明在该页面中的所有路径都是于项目的 WebRoot 为相对路径。

Struct_2路径问题的更多相关文章

  1. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  2. Akka.net路径里的user

    因为经常买双色球,嫌每次对彩票号麻烦,于是休息的时候做了个双色球兑奖的小程序,做完了发现业务还挺复杂的,于是改DDD重做设计,拆分服务,各种折腾...,不过这和本随笔没多大关系,等差不多了再总结一下, ...

  3. java中servlet的各种路径

    1. web.xml中<url-pattern>路径,(叫它Servlet路径!) > 要么以“*”开关,要么为“/”开头 2. 转发和包含路径 > *****以“/”开头:相 ...

  4. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  5. 使用JavaScript为一张图片设置备选路径

    在做网页开发的时候,有时候希望给图片设置一个备选路径,即,当src属性对应的主路径加载失败的时候,图片可以马上切换到备选路径.这样,即使主路径失效了,显示备用路径也不会影响网页的正常体验. 注意到网页 ...

  6. iOS之开发中一些相关的路径以及获取路径的方法

    模拟器的位置: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs ...

  7. Android中访问sdcard路径的几种方式

    以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...

  8. 【每日一linux命令1】linux命令路径

    一.路径: 执行命令前必须要考虑的一步是命令的路径,若是路径错误或是没有正确的指定,可能导致错误 的执行或是找不到该命令.要知道设置的路径,可执行以下命令: echo $PATH 显示结果: 这时我们 ...

  9. hibernate-mapping-3.0.dtd;hibernate-configuration-3.0.dtd;hibernate.properties所在路径

    hibernate-mapping-3.0.dtd 所在路径:hibernate-release-5.2.5.Final\project\hibernate-core\src\main\resourc ...

随机推荐

  1. Error 1313: RETURN is only allowed in a FUNCTION SQL Statement

    1.错误描述 14:07:26 Apply changes to rand_string Error 1313: RETURN is only allowed in a FUNCTION SQL St ...

  2. C# GUID介绍和的使用

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  3. OWA 无法连接到Exchange

    Outlook WebAccess中无法连接到Microsoft Exchange.如果问题仍然存在,请联系您的组织的技术支持. 1.   在Exchange邮件服务器,收件人配置--邮箱--右击用户 ...

  4. RobotFramework下的http接口自动化Set Request Body 关键字的使用

    Set Request Body关键字用来设置http 请求时的body 信息,尤其是在post 请求时,经常需要用到这个关键字. 该关键字接收一个参数,[ body ] 示例1:登录博客园(http ...

  5. 【视频编解码·学习笔记】11. 提取SPS信息程序

    一.准备工作: 回到之前SimpleH264Analyzer程序,找到SPS信息,并对其做解析 调整项目目录结构: 修改Global.h文件中代码,添加新数据类型UINT16,之前编写的工程中,UIN ...

  6. 谈谈使用Redis缓存时批量删除的几种实现

    前言 在使用缓存的时候,我们时不时会遇到这样一个需求,根据缓存键的规则去批量删除这些数据,比较常见的就是按前缀去删除. 举个简单的例子,Redis中现在有几百个商品的数据,这些数据的key值是有一定规 ...

  7. 应用canvas绘制动态时钟--每秒自动动态更新时间

    使用canvas绘制时钟 下文是部分代码,完整代码参照:https://github.com/lemoncool/canvas-clock,可直接下载. 首先看一下效果图:每隔一秒会动态更新时间 一. ...

  8. 百度在线编辑器 - PHP获取提交的数据

    原文:http://www.upwqy.com/details/14.html 1 我们知道在在百度在线编辑器的demo中. 我们只要在body 里面 加载 script 标签 id="ed ...

  9. node nvm npm nrm 安装

    http://cnodejs.org/topic/57f628098489e7ca69f4e839 //1.vim ~./bashrc 文件 把那两行配置代码加进入,然后按步骤执行 //console ...

  10. 19.JavaScript

    简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型 1.注释 单行 // 多行 /* */ 2.引用方式 <head> <meta c ...