JavaWeb中得<a>标签,表单提交action路径,重定向的路径问题。

前言

以前对javaweb中的路径问题问题总是搞不清楚。比如
我有一个web项目,名字就叫myapplication吧,配置在本机上。则:

服务器地址:localhost:8080
IDE:idea
项目上下文:myapplication

超链接路径问题

在项目里有这么一个jsp页面,里面有两个超链接。

<a href="/a">超链接1</a><br>
<a href="/${pageContext.request.contextPath}">超链接2</a><br>
<a href="a">超链接3</a><br>
<a href="${pageContext.request.contextPath}">超链接4</a><br>

分别点击4个超链接

前两个的地址是加“/”的

//超链接1,href="/a",结果地址如下:
localhost:8080/a
//超链接2,href="/${pageContext.request.pageContext}",结果地址如下:(这个很奇怪?)
myapplication/

后两个的超链接href中是未加"/"

//超链接3,href="a",目标地址如下:
localhost:8080/myapplication/a
//超链接4,href="${pageContext.request.pageContext}",目标地址如下:
localhost:8080/myapplication/
表单提交路径问题
<form action="/form" method = "get">
    <input value="提交1" type="submit">
</form><br>
<!--localhost:8080/form?-->
<form action="/${pageContext.request.contextPath}/form" method = "get">
    <input value="提交2" type="submit">
</form><br>
<!--myapplication/form?-->
<form action="form" method = "post">
    <input value="提交3" type="submit">
</form><br>
<!--localhost:8080/myapplication/form-->
<form action="${pageContext.request.contextPath}/form" method = "post">  
    <input value="提交4" type="submit">
</form><br>
<!--localhost:8080/myapplication/form-->
重定向问题

总结:

1.目标路径最开始为"/",地址中

1.如果没有contextPath(用EL表达式获取的应用路径),
即路径为:/内容
那么路径会被解析为:
localhost:8080/内容

2.如果有contextPath,即路径为:
/${pageContext.request.contextPath}/内容,
那么路径会被解析为
myapplication/内容

2.目标路径最开始没有"/",地址中

1.如果没有contextPath,
即路径为:
内容
那么路径会被解析为:
localhost:8080/myapplication/内容

2.如果有contextPath,
即路径位:
${pageContext.request.contextPath}/内容
那么路径会被解析为:
localhost:8080/myapplication/内容

不知道大家能不能看懂,其实文字表述我表述得不是很清晰,但是因为是我总结的,所以我能看明白意思,如果大佬们知道如何能把话说得更清晰,还请不吝赐教。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值