跳转的相对路径问题及绝对路径问题

相对路径与绝对路径
这个是tomcat里面设置的路径:http://localhost:8080/stu/

****只要是servlet里面的设置的urlPatterns路径,前面都要加上/,这个是必须的要求。
例如:
@WebServlet(name = “StudentPageServlet”,urlPatterns = “/Student”)

如果是在跳转的时候写相对路径
只要前面不加/,就是在服务器后的路径后面直接加上自己写的(从web下面的目录开始写,包括文件夹名字)
只要前面加/,就是在修改服务器的路径,直接在端口号8080 后面家伙是哪个自己写的路径。
1. 表示跳转到的是http://localhost:8080/stu/a.jsp 。a.jsp 在工程的位置是
web下面的直接的a.jsp。
2. 表示跳转到的是http://localhost:8080/stu/a.jsp 。 a.jsp 在工程的位置是web下面的文件夹123下面的a.jsp。
3.表示跳转的是http://localhost:8080/123/a.jsp 。 就是重新指定端口号
下面的项目名称为123,然后web下面的a.jsp。
4.表示跳转的是http://localhost:8080/123/a.jsp 。 就是重新指定端口号下面的项目名称为123,然后web下面yy文件夹下面的a.jsp。

绝对路径:以编译后的目录结构为标准的,而不是按照开发时候的目录
${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> 。也就是取出部署的应用程序名或者是当前的项目名称
比如我设置的部署程序名是demo1在浏览器中输入为http://localhost:8080/demo1/a.jsp ${pageContext.request.contextPath}或<%=request.getContextPath()%>取出来的就是/demo1,就是获取的放在服务器上运行的部署的应用程序名。


对于web下面的静态资源来说。
对于同样都是静态资源的话,需要考虑的是静态资源的位置关系,如果在同一个包的话 ./表示当前所在包的路径,直接用./文件名。 …/代表的是上级目录下的目录,下面在跟着路径。

/ 在客户端进行解析的时候,是被认为以web应用的地址为根地址http://localhost:8080/stu,而在服务器端则是以8080为根地址http://localhost:8080
不带/的时候客户端任务以web下面的包为起点,服务器认为项目配置的路径为根地址http://localhost:8080/stu/。

可以向服务端发送请求的包括:
1.form表单发送请求,submit事件提交表单。
2 .a标签发送请求,href属性指向路径并携带参数。首页
3 .ajax异步发送请求,并解析数据

js 里location对象跳转进行请求
$("#clear").click(function () {
if(confirm(“确认清空购物车?”)){
像服务端发送请求并携带数据
window.location.href="/store_v5/CartServlet?method=clearCart";
}
});

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值