有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java包含来自Servlet的私有JSP

我的Servlet对everything“/”url模式进行响应。在里面,我有时需要呈现html,所以我想。包括一个JSP页面,但我希望如此。jsp无法从外部访问。另外,如何将模型对象传递给它


共 (2) 个答案

  1. # 1 楼答案

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

    把它放在/WEB-INF文件夹中。客户端无法访问它,但RequestDispatcher可以访问它

    request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
    

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

    将其设置为请求属性

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

    另请参见:


    这就是说,请注意,在/上映射servlet将接管servletcontainer的内置DefaultServlet服务静态内容的工作。你必须自己处理所有静态文件,比如JS/CSS/images。考虑为JSP视图选择一个更具体的^ { CD5}},如^ {CD6}}或^ {CD7}}。最后,如this answer中所述,将Filter带到前面

  2. # 2 楼答案

    这很简单:

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