【问题标题】:opening an html file in a servlet [duplicate]在servlet中打开一个html文件[重复]
【发布时间】:2016-07-31 15:28:28
【问题描述】:

我使用 servlet 通过单击提交按钮从用户获取带有 doGet 方法的参数。之后,它将他发送到我的 servlet 网页。 但是为了展示 servlet 的新网页,我最终创建了一个这样的页面:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet</title>");            
        out.println("</head>");
        out.println("<body>");

        out.println("<h1> Create your webpage here</h1>");

        out.println("</body>");
        out.println("</html>");
    }

有没有办法在 Servlet 中打开某个 html 文件?因为这确实限制了我使用 javascript、css 等创建漂亮页面的能力。

我尝试使用:

File htmlFile = new File(url);
Desktop.getDesktop().browse(htmlFile.toURI());

但是 servlet 不会让我这样做,因为 servlet 古怪且反复无常。我该如何克服这个障碍?

【问题讨论】:

    标签: servlets


    【解决方案1】:

    您可以将您的静态 html(或动态 JSP)放在WEB-INF(或下面的WEB-INF/html)下,然后使用RequestDispatcher.include(ServletRequest, ServletResponse)(或forward)。类似的,

    RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/html/myfile.html");
    rd.include(request, response);
    

    【讨论】:

      猜你喜欢
      • 2021-06-25
      • 2013-11-27
      • 2016-05-10
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多