包括来自Servlet的私有JSP [英] Include a private JSP from a Servlet
问题描述
我让Servlet响应所有的"/" URL模式.在内部,我有时需要呈现html,因此我想.include一个JSP页面,但我希望该.jsp在外部无法访问.另外,如何将模型对象传递给它.
I have my Servlet responding on the everything "/" url-pattern. Inside I need to sometimes render html, so I'd like to .include a JSP page, but I'd like that .jsp to be inaccessible externally. Also, how can I pass a model object into it.
推荐答案
我想.include一个JSP页面,但我希望该.jsp在外部无法访问.
将其放在/WEB-INF
文件夹中.客户端无法访问它,但是RequestDispatcher
可以访问它.
Put it in /WEB-INF
folder. The client cannot access it, but the RequestDispatcher
can access it.
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
此外,如何将模型对象传递到其中.
将其设置为请求属性.
request.setAttribute("bean", bean); // It'll be available as ${bean} in JSP.
另请参见:
- Servlets标签信息页面(包含Hello World示例和有用的链接)
- JSP/Servlet的隐藏功能
- 基于Web的应用程序的设计模式
- Servlets tag info page (contains Hello World example and useful links)
- Hidden features of JSP/Servlet
- Design patterns webbased applications
See also:
也就是说,请注意,在/
上映射servlet会接管servlet容器内置的DefaultServlet
的工作,以提供静态内容.您必须自己处理所有静态文件,例如JS/CSS/images.考虑为JSP视图选择更具体的url-pattern
,例如/pages/*
或*.do
.最终在
That said, be aware that mapping a servlet on /
takes over the job of servletcontainer's builtin DefaultServlet
for serving static content. You'll have to handle all static files like JS/CSS/images yourself. Consider choosing a more specific url-pattern
like /pages/*
or *.do
for JSP views. Bring eventually a Filter
in front as outlined in this answer.
这篇关于包括来自Servlet的私有JSP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!