servlet web项目中,URL、ApplicationContext和PathRelativetoDeploymentRoot 三个之间的关系

servlet项目中
曾随意改过下面三个地方的小伙伴一定有的疑惑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
简单粗暴

URL就是你默认打开的页面,方便你想第一时间看到哪个页面。跟真正想要打开的页面无半点关系。这个URL是必须要跟你的application环境和web环境适配的,即application环境和web环境决定了你URL的写法。

Application Context是你项目环境
第一幅图里面的PathRelativeToDeploymentRoot 就是我们找到跟网页有关的静态资源的路径

如果我们想要打开网页就得是
localhost+端口号+Application Context + web静态资源路径

举个例子
你的Application Context : /sss
你的 web静态资源路径 : /hhh

那么你想访问页面就得是(这里假设你没设置默认打开路径)
localhost:端口号/sss/hhh/某页面(带上后缀.jsp或者.html)

就是Application Context 下是 在这里插入图片描述
web静态资源路径是能找到这些的感觉
在这里插入图片描述
你执行完localhost:端口号/sss/hhh/某页面(带上后缀.jsp或者.html)后
你上网页上打开开发者模式,你也可以很明显的看到静态资源的路径都是带上/sss/hhh的
在这里插入图片描述

所以很明显了,如果你设置了application context
你现在想用ajax
而你的ajax的url 没有加上application context
那么你是找不到对应的@WebServlet()的

举个例子
当前application context是 /sss
你写的ajax url 是"/login"
你对应的@WebServlet是@WebServlet("/login")
那么你这个ajax想要找到这个@WebServlet,就必须要加上/sss
就是将ajax的url改成"/sss/login" ,你才可能成功执行 java逻辑部分

举个例子
假设你按照上面的做了,(现在是在一个登录页面)。那么你现在点击登录,发送ajax请求,后台响应到,并判断你是否可以登录,然后返回登录成功到页面。页面判断后,该执行 application context + web静态资源路径 + 新页面 才会进去。

好了,差不多就是这样。
简单粗暴一点就这么设置
application context: /
web资源路径:/
那么你访问页面就是 localhost+端口号+页面名字
那么你的ajax就是 /xxxx (随意你)

省的给搞晕!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值