包含来自 Servlet 的私有 JSP

发布于 2024-10-03 06:10:39 字数 112 浏览 2 评论 0原文

我的 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不知在何时 2024-10-10 06:10:39

我想要 .include 一个 JSP 页面,但我希望外部无法访问该 .jsp。

将其放在 /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/图像。考虑为 JSP 视图选择更具体的 url-pattern,例如 /pages/**.do。最终将 Filter 放在前面,如 这个答案

I'd like to .include a JSP page, but I'd like that .jsp to be inaccessible externally.

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);

Also, how can I pass a model object into it.

Set it as request attribute.

request.setAttribute("bean", bean); // It'll be available as ${bean} in JSP.

See also:


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.

谈情不如逗狗 2024-10-10 06:10:39

很简单:

  1. JSP 文件放入 WEB-INF 文件夹中。
  2. 在您的 servlet 中,执行 getServletContext().getRequestDispatcher("/WEB-INF/path/your.jsp").forward(request, response);

It's easy:

  1. Put your JSP file inside WEB-INF folder.
  2. In your servlet, perform a getServletContext().getRequestDispatcher("/WEB-INF/path/your.jsp").forward(request, response);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文