java web中的路径问题

web路径中的“/”路径到底指的是什么,一定是http://localhost:8080/吗?但是我遇到了下面一个现象,望高人解释,帮我彻底解决路径问题:我建了一个上下文... web路径中的“/”路径到底指的是什么,一定是http://localhost:8080/吗?但是我遇到了下面一个现象,望高人解释,帮我彻底解决路径问题:我建了一个上下文路径为struts的web project,
a.我在index.jsp中的一个表单上填写的action="/XXX",结果证明这里的"/"指的是http://localhost:8080/
b.我在namespace为“hello”的actin 的<result name="success">/success.jsp</result> 结果证明“/success.jsp”中的"/"指的是http://localhost:8080/struts
所以我的问题是为什么 a b两种情况中的“/”所指的内容会不同
展开
 我来答
jg...7@163.com
推荐于2016-08-09 · TA获得超过287个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:192万
展开全部
如果我没猜错,楼主应该建的是dynamic web project。这个和你在tomcat里面的配置有关。

如果楼主用myeclipse建立dynamic web project,然后自动部署,它实际上是在
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
里面添加了个上下文环境即:
<Context path="/工程访问名(并不一定和你的工程名一致,url访问时需采用此访问名)" reloadable="true" docBase="你的工程目录" />,这样你的工程访问的时候,如果是在jsp的话,"/"就代表了工程所在的上下文环境localhost,此时你的工程就相当于localhost里面的一级目录而已,这个工程没有独立的访问域名。

另外你tomcat里面还有一种配置方式就是直接给你的工程创建一个独立的访问域名。
<Host name="工程域名" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" reloadable="true" docBase="你的工程所在的目录" />
</Host>。这样你的工程就可以通过一个独立的域名访问到,在jsp中,"/"依然是工程所在的上下文环境,但是由于你配置的工程不在依赖于其他Host的上下文环境,所以此时的"/"也就代表了你的工程根目录,此时和struts里面的"/"是一样的用法。

再来说说struts里面的"/",struts为了防止由于在上述tomcat配置中不同所导致的不同的访问方式,它特地将"/"解析成当前工程,而不是获取当前工程所在的上下文环境。
0751129
2011-05-01 · TA获得超过247个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:141万
展开全部
"/"的确指的是http://localhost:8080/,在struts中由于是经过封装的,根目录被封装成了http://localhost:8080/xxx(xxx就是你的项目名)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rrnhafr
2011-05-09 · TA获得超过1602个赞
知道小有建树答主
回答量:1185
采纳率:0%
帮助的人:655万
展开全部
不知道原因 不过我猜会不会是你图片路径写的是相对路径,试试绝对路径看看?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huang2jing
2011-05-01 · TA获得超过280个赞
知道小有建树答主
回答量:407
采纳率:0%
帮助的人:289万
展开全部
楼上的已经答的很明确了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式