如何在Java Servlet中生成HTML响应?

最佳答案

通常,您将请求转发到JSP进行显示。 JSP是一种 View 技术,它提供了一个模板来编写普通的HTML / CSS / JS,并提供了在标签库和EL的帮助下与后端Java代码/变量进行交互的功能。您可以使用JSTL这样的标记库来控制页面流。您可以在请求, session 或应用程序范围中的任何范围内将任何后端数据设置为属性,并在JSP中使用EL(${}事物)来访问/显示它们。您可以将JSP文件放在/WEB-INF文件夹中,以防止用户直接调用它们而无需调用预处理servlet。
开球示例:

@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String message = "Hello World";
        request.setAttribute("message", message); // This will be available as ${message}
        request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
    }

}
/WEB-INF/hello.jsp看起来像:
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>SO question 2370960</title>
    </head>
    <body>
         <p>Message: ${message}</p>
    </body>
</html>
当打开http:// localhost:8080 / contextpath / hello时,将显示
讯息:Hello World
在浏览器中。
这样可以使Java代码免受HTML困惑的困扰,并大大提高了可维护性。要学习和实践更多有关servlet的知识,请继续以下链接。
  • Our Servlets wiki page
  • How do servlets work? Instantiation, sessions, shared variables and multithreading
  • doGet and doPost in Servlets
  • Calling a servlet from JSP file on page load
  • How to transfer data from JSP to servlet when submitting HTML form
  • Show JDBC ResultSet in HTML in JSP page using MVC and DAO pattern
  • How to use Servlets and Ajax?
  • Servlet returns "HTTP Status 404 The requested resource (/servlet) is not available"

  • 也浏览the "Frequent" tab of all questions tagged [servlets]以查找常见问题。

    09-11 19:09
    查看更多