servlet result display in jsp page

后端 未结 3 928
清歌不尽
清歌不尽 2020-12-13 05:08

How to forward the servlet output to jsp page?

That means the result will be displayed in the JSP page.

3条回答
  •  情书的邮戳
    2020-12-13 05:50

    You normally don't use a servlet to generate HTML output. You normally use JSP/EL for this. Using out.write and consorts to stream HTML content is considered bad practice. Better make use of request attribtues.

    For example:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) {
        Object data = "Some data, can be a String or a Javabean";
        request.setAttribute("data", data);
        request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
    }
    

    Map this in web.xml on an of for example /page. Place the JSP in /WEB-INF to prevent direct access. Then in the JSP you can use EL (Expression Language) to access scoped attributes:

    The data from servlet: ${data}

    Call the servlet by http://example.com/context/page. Simple as that. This way you control the output and presentation at one place, the JSP.

提交回复
热议问题