我的Servlet响应所有“ /” URL模式。在内部,我有时需要呈现html,因此我想.include一个JSP页面,但我希望该.jsp在外部无法访问。另外,如何将模型对象传递给它。
我想.include一个JSP页面,但我希望该.jsp在外部无法访问。
将其放在/WEB-INF文件夹中。客户端无法访问它,但是客户端可以RequestDispatcher访问它。
/WEB-INF
RequestDispatcher
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
另外,如何将模型对象传递给它。
将其设置为请求属性。
request.setAttribute("bean", bean); // It'll be available as ${bean} in JSP.
也就是说,请注意,映射servlet/会接管servletcontainer内置DefaultServlet的服务静态内容的工作。您必须自己处理所有静态文件,例如JS / CSS /images。考虑选择一个更具体的url-pattern喜欢/pages/*或*.do对JSP的看法。最终将此答案Filter概述放在前面。
/
DefaultServlet
url-pattern
/pages/*
*.do
Filter