javascript - servlet url映射为/as后缀时的区别

标签 javascript html css servlets

我有一个问题。当我用 / 作为后缀映射我的 servlet 的 url 时,我没有得到 css 样式表或 javascript,只有我的 html 页面的文本。这真的很奇怪。例如

@WebServlet(name = "UserAreaServlet",
            urlPatterns = {"/user"})

这样我就得到了包含所有css和js资源的页面

同时

@WebServlet(name = "UserAreaServlet",
            urlPatterns = {"/user/"})

这样我只得到没有任何css或js的文本

为什么?

最佳答案

后面的斜线使它像一个改变相对路径的目录。

假设我的结构是:

webapps
  --myapp
     --css
        --style.css
     --servlet

servlet 到 css 的相对路径是 /css/style.css(因为 servlet 被视为直接在 myapp 下的文件)

webapps
  --myapp
     --css
        --style.css
     --servlet/

servlet/ 到 css 的相对路径是 ../css/style.css(因为 servlet/被视为一个目录)

(我知道实际上,在文件系统上,您的 servlet 在 web-inf 等下,但从 url 的 Angular 来看,它直接在应用程序上下文下,如上图所示)

关于javascript - servlet url映射为/as后缀时的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24214820/

相关文章:

javascript - 有没有一种简单的方法可以将秒数转换为 ISO 8601 格式以用于 schema.org 视频元数据?

javascript - 使用 Angular js 更新 ng-repeat 中的数据

javascript - Javascript 中数学对象的速度

javascript - jQuery:将 Div 名称存储在变量中,然后在操作中调用它

html - 允许用户在 HTML5 Canvas 游戏中键入文本

html - =""错误输入上的 CSS 标签

html - 打印时如何为div设置特定宽度

javascript - android webview = 找不到网页 = 在哪里添加 onReceivedError

jquery - 如何修复类似于 Bootstrap 站点的侧边栏?

css - 限制标题背景视频的高度?