【发布时间】:2018-10-17 05:50:15
【问题描述】:
我有一个非常简单的 servlet,它应该处理对我的应用程序根目录的请求。 它部署在 IBM Websphere 上。
基本上,每次用户请求我的应用时,我都想返回index.jsp:
代码如下:
@WebServlet(urlPatterns = {"", "/"})
public class MainPageController extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getServletContext().getRequestDispatcher("/index.jsp").forward(req, resp);
}
}
它可以正常工作(我正在获取 JSP),但是当返回 JSP 页面时 - JSP 请求 JS、CSS 文件和这些请求(例如 http://localhost:8888/myapp/js/main.js)被该 servlet 捕获。
为什么我的 servlet 应该只处理 / 也处理其他请求(如 /js/main.js)?
web.xml 没有什么特别之处。没有 servlet 映射,没有其他 servlet,没有欢迎文件列表声明。
【问题讨论】:
-
你必须将你的 urlPattern 限制为
urlPatterns = { "/myapp"}或类似的东西,因为现在你只提供了“/” mns,每个请求都会被处理。 -
@Akshayjain
myapp是上下文根。你确定我需要将它添加到我的网址格式吗? -
@Akshayjain 我知道我可以添加类似
/home的内容,然后它将为http://localhost:8888/myapp/home触发,但这不是我的情况。我只需要请求我的应用程序的根目录。 -
什么发布/维护级别?
-
对于您的根页面,您不需要此 doget url 模式方法,它将自动搜索 index.jsp 页面或在 web.xml 中您可以添加此代码
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>[stackoverflow.com/questions/14648167/…
标签: java jsp servlets websphere