`

Struts2中的相对路径与绝对路径

阅读更多

JSP页面中的action

通常相对路径的写法有两种,一种就是以“/”开头,一种就是不以“/”开头,这两种写法有什么区别:
URL基本是以http://localhost/Struts开头,现在做如下测试:
1.在Struts目录下面有一个文件叫sayHello.jsp,它里面的form的action的值是HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/HelloWorld.action。
2.如果action的值是test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/test/HelloWorld.action。
3.假设在Struts目录下面有一个子目录add,它里面有一个文件叫sayHello.jsp,它里面的form的action的值是 HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/add /HelloWorld.action。
4.在测试3下将action的值改为test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/add/test/HelloWorld.action。
5.在测试3下将action的值改为/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/HelloWorld.action。
6.在测试3下将action的值改为/test/HelloWorld.action,那么提交之后匹配的路径是http://localhost/Struts/test/HelloWorld.action。
总结:在页面文件中,所请求的相对路径为path,那么它的路径匹配是从文件当前所在的目录开始的,假设页面文件当前所在目录为 currentPath,那么匹配后的完整路径就是http://localhost/Sturts/currentPath/path;如果相对路径为 /path,那么匹配后的路径就是http://localhost/Sturts/path。也就是说,如果以“/”开头,就从当前应用的根目录开始匹配,如果不以“/”开头就从当前文件所在的目录开始匹配。这样的话,如果文件本来就在根目录下面,那么加“/”和不加“/”就没啥区别。

struts.xml中的action

在Struts2还一个要匹配路径的地方就是在处理完请求之后对页面进行分发的时候,也就是result元素里面的内容。测试记录如下:
1.<result>/HelloWorld.jsp</result>匹配的路径是http://localhost/Struts/HelloWorld.jsp。
2.<result>HelloWorld.jsp</result>这个时候就和调用这个action的路径相关了, 可以这样进行匹配,首先得到请求这个action的url,然后去掉最后一个“/”后面的内容,再把HelloWorld.jsp接上去,我们是通过 http://localhost/Struts/aa/bb/cc/HelloWorld.action调用的action,那么匹配出来的url就是 http://localhost/Struts/aa/bb/cc/HelloWorld.jsp。
我的总结:如果加上“/“的话,就在项目的路径下,比如:
开始:http://localhost/Struts2/struts2/HelloWorld.jsp为当前路径,
若action为“/hello“,返回http://localhost/Struts2/hello.action;
若action为“hello“,返回http://localhost/Struts2/struts2/hello.action。
也就是加上斜线,就会到最开始项目名下的路径,不加斜线的话,会根据当前的路径决定。
result的配置与上面一样的。

分享到:
评论

相关推荐

    struts1和struts2获取相对路径的方法

    本文将详细讲解在Struts1和Struts2中如何获取相对路径。 ### Struts1 获取相对路径的方法 在Struts1中,我们通常会用到`Servlet`对象来获取当前应用的根目录,从而构建文件的绝对路径。以下是一种常见的方法: ``...

    struts2文件下载/绝对路径+相对路径

    3. **文件路径处理**:文件路径分为绝对路径和相对路径。绝对路径是从根目录开始的完整路径,而相对路径是相对于当前工作目录的路径。在处理文件下载时,开发者需要确保提供的是正确的文件路径。对于绝对路径,它...

    struts2中绝对路径上传图片和显示图片

    本篇将详细介绍如何在Struts2中实现绝对路径上传图片以及在页面上显示这些图片。 首先,了解文件上传的基本概念。在Web开发中,文件上传允许用户通过HTTP请求发送本地文件到服务器。Struts2提供了一套完整的文件...

    struts2 中路径无法跳转的问题

    当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点: 1. **Struts2配置文件**: - 配置文件通常为`struts.xml`,这是定义...

    Struts2使用详情

    在Struts2中,配置Action或者链接时,使用绝对路径可以确保请求被正确地发送到指定的服务器位置。 相对路径则相对灵活,它依赖于当前的上下文。在客户端,比如HTML、CSS、JavaScript或JSP中的静态内容,以"/"开头的...

    【张冰Struts2学习笔记】0103_Path与绝对路径

    标题中的“【张冰Struts2学习笔记】0103_Path与绝对路径”表明了这篇笔记主要讨论的是Struts2框架中关于Path和绝对路径的概念及其应用。Struts2是一个流行的Java Web开发框架,它提供了强大的MVC(模型-视图-控制器...

    Struts2学习笔记(2)-路径问题解决

    总的来说,解决Struts2中的路径问题关键在于理解和避免使用相对路径,转向使用绝对路径或者利用Struts2提供的特性。通过使用绝对路径,可以显著提高代码的可维护性和移植性。同时,合理利用Struts2框架提供的工具,...

    struts2+spring2+ibates

    5、JSP/Servlet中获得当前应用的相对路径和绝对路径 JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径:application.getRealPath(request.getRequestURI...

    Struts2Path

    本文将重点讨论Struts2中的相对路径问题,并通过具体的例子来解析不同情况下路径的配置方法。 #### 二、Struts2框架中的路径配置方式 在Struts2框架中,路径配置主要涉及以下几种方式: 1. **HTML `&lt;a&gt;` 标签与 `...

    Struts2请求处理方法的处理

    在Struts2中处理路径问题时,通常会涉及到相对路径和绝对路径的选择。对于相对路径而言,通常是指相对于当前应用根目录下的路径。而在配置文件中使用通配符进行路径匹配时,则更加灵活和高效。 例如,使用通配符...

    Struts2中实现页面的跳转

    而在Struts2中,由于请求已经被Struts2拦截,所以这个相对路径可能不是相对于浏览器的URL。因此,通常推荐使用绝对路径或者基于应用根目录的路径。 3. **Web.xml中的FORWARD配置**:在web.xml中,`&lt;error-page&gt;`...

    struts 2 笔记 struts2 基础

    通常建议使用绝对路径,可以通过`request.getContextRoot()`获取Web应用的根路径。在MyEclipse等IDE中,还可以设置基路径变量以简化路径管理。 五、Action接收参数的方式 1. **Action的属性**:定义Action类中的...

    struts2学习文档(含截图)

    - 这些信息在构建相对路径或者绝对路径时非常有用,例如,在JSP页面中引入其他资源(如CSS、JavaScript文件)时,可以确保资源能够被正确加载。 通过以上内容的学习,开发者可以更好地理解和掌握Struts2框架的核心...

    struts2完全学习手册

    - **Action元素**:用于定义一个具体的Action,属性`name`表示Action的名字,可以是绝对路径也可以是相对路径。 ```xml ``` - **Result元素**:定义Action执行后返回的结果,`type`属性指定结果类型,`name`...

    struts2文件下载

    可以通过校验文件路径的有效性,限制可下载的目录,或者使用相对路径而不是绝对路径来存储和提供文件。 总的来说,Struts2文件下载涉及到Action设计、HTTP响应头的设置、文件I/O操作以及安全措施。理解和熟练掌握这...

    struts试题

    Struts2 中的路径可以是绝对路径,也可以是相对路径。 7. 通配符: Struts2 中有多种通配符,例如 `*`、`?` 等。这些通配符需要遵循一定的原则。 8. Action 的属性: Action 有多种属性,例如 path 属性、type ...

    struts2中result类型之redirect

    这个新URL可以是相对路径,也可以是绝对路径,甚至可以包含查询参数。 使用`Redirect`有以下几个关键点: 1. **防止重复提交**:由于浏览器收到的是重定向指令,用户刷新页面时,浏览器将重新发起新的请求,而不是...

    Struts2实现Uploadify多文件上传

    你可以设置一个绝对路径或相对于应用根目录的相对路径。注意文件命名策略,以避免文件重名问题。 5. **错误处理**: 需要对可能出现的异常情况进行处理,如文件大小超限、文件类型不符等,返回相应的错误信息给...

    struts.xml(struts2配置)

    结果可以是相对路径或绝对路径,根据配置决定是否需要添加前缀(如`/WEB-INF/pages/`)。 6. **拦截器和拦截器栈** 拦截器在Action调用前后执行,用于实现通用功能,如权限检查、日志记录等。`&lt;interceptor&gt;`定义...

    Log4j 相对路径配置

    在SSH(Struts、Spring、Hibernate)等Java Web框架中,配置Log4j以使用相对路径是非常常见的需求,这有助于在不同环境下保持日志文件的一致性。以下是关于Log4j相对路径配置的详细说明: 首先,在`Web.xml`文件中...

Global site tag (gtag.js) - Google Analytics