我有一个问题。当我用 /
作为后缀映射我的 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/