我正在处理一直部署到root的现有webapp(即http://localhost/
);现在我需要通过显式的上下文路径(即http://localhost/sub
)来访问它。
但是,由于请求uri中的/context-path
导致servlet代码中断,以及将浏览器发送到不可用路径的HTML页面中的URL(即src="/include/scripts/main.js"
),我遇到了几个障碍
虽然我几乎管理了涉及纯逻辑的所有情况(可以创建servlet以便读取request.getRequestUri()
使uri不受上下文路径的影响),最大的麻烦是JSP页面中的URL,这通常是从/
开始表示(这是一项要求,因为某些路径需要全局,即不绑定到当前页面。)
所以,我的问题是:如果我要开始一个全新的webapp,我应该采取什么步骤来确保它可以在任何上下文中部署?
预先支出:
<%= request.getContextPath() %>
到任何网址,例如<img src="<%= request.getContextPath() %>/images/bluedot.png"/>
够了吗?
CSS文件等静态资源中的路径怎么样?