Struts的Action访问不了资源

时间:2021-03-26 13:44:04

我想大部分的问题都源于我们对于陌生东西的恐惧,不敢直面惨淡的人生。

----序言

我想大部分人不太里面我标题的含义—“Struts的Action访问不了资源”。是因为我找不到合适的语言去描述这个问题。

 

1、问题描述

这里贴出我的jsp资源文件的目录结构:

Struts的Action访问不了资源

我在做一个“用户登录”功能,就是从“login.jsp”界面跳转到“page/body.jsp”界面。正常访问“localhost:8080/***/page/bady.jsp”,可以看到其他的资源(可以显示其他jsp和png),使用action的跳转的时候,进入“page/body.jsp”界面,关于jsp引用部分全部都是资源不能访问,“page”路径消失了。

我知道这样说,很多人不清楚什么意思,我给出这样的效果图和部分源码:

Login.jsp的提交表单:

Struts的Action访问不了资源

Struts.xml的action配置:

Struts的Action访问不了资源

Page/body.jsp的引用:

Struts的Action访问不了资源

出来的结果:

Struts的Action访问不了资源

这也就是我说的失去了”page”路径的意思。

 

2、问题尝试解决一(方法不可行):

既然界面上面提示了找不到资源文件的路径,那我自己就加上不久OK了,我也是这样做的:

修改page/body.jsp

Struts的Action访问不了资源

然后结果:

Struts的Action访问不了资源

看上去是解决问题了,实际上呢?

直接从URL上面访问page/bady.jsp

Struts的Action访问不了资源

这里看到除了title.jsp可以正常访问,其他的都访问不了。

3、问题尝试解决二(方法可行):

这里的解决方式就是使用struts的namespace,关于namespace的介绍和说明这里不做过多说明,定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action

Login.jsp

Struts的Action访问不了资源

Struts.xml

Struts的Action访问不了资源

page/body.jsp

Struts的Action访问不了资源

与上面“问题描述”里面的图文进行,发现问题了么?

4、最后的结果:

Action跳转访问page/body.jsp与直接url访问page/body.jsp的结果是一样的,也都是正常的。

直接访问url

Struts的Action访问不了资源

Action跳转访问:

Struts的Action访问不了资源