在Java Servlet中生成HTML响应

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

您通常将请求转发给JSP以进行显示。 JSP是一种视图技术,它提供了一个用于编写普通香草HTML / CSS / JS的模板,并提供了在taglibs和EL帮助下与后端Java代码/variables进行交互的能力。 你可以用像JSTL这样的taglib来控制页面stream。 您可以将任何后端数据设置为任何请求,会话或应用程序作用域中的属性,并在JSP中使用EL( ${} )来访问/显示它们。

开球的例子:

 @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,请继续下面的链接。

  • 我们的Servlets wiki页面
  • servlets如何工作? 实例化,会话,共享variables和multithreading
  • doGet和doPost在Servlets中
  • 在页面加载时从JSP文件调用一个servlet
  • 提交HTML表单时如何将数据从JSP传输到servlet
  • 在JSP页面中使用MVC和DAO模式在HTML中显示JDBC ResultSet
  • 如何使用Servlets和Ajax?
  • Servlet返回“HTTP状态404请求的资源(/ servlet)不可用”

同时浏览所有标签为[servlets]的问题的“频繁”标签以查找常见问题。

你需要有一个doGet方法:

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Hola</title>"); out.println("</head>"); out.println("<body bgcolor=\"white\">"); out.println("</body>"); out.println("</html>"); } 

你可以看到一个简单的hello world servlet的链接