Java Servlet中的静态html代码

时间:2014-02-27 14:44:13

标签: java html servlets

我是编程Web应用程序的新手,对Java HttpServlet有疑问。如何使用长静态HTML代码?我有一个带有动态部分的网页,所以我不能只使用html,但它只是页面的一小部分是动态的,Rest是静态的。目前我写这个页面的静态部分是这样的:

PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<head><title>Hello World Servlet</title></head>");
writer.println("<body>");
writer.println("    <h1>Hello World</h1>");
writer.println("<body>");
writer.println("</html>");

但我确定这不是一种神风格。我找了一个更好的解决方案一段时间,但没有找到一个更好的解决方案,这是由于我没有看到我需要的事实。有人可以发一个链接,我在那里读到了一些内容。

最后,我不得不为我糟糕的英语道歉,但我不是母语人士。

比你多 约翰内斯

2 个答案:

答案 0 :(得分:4)

在MVC应用程序中使用servlet作为控制器,并使用JSP来处理视图。因此,在响应中打印大量HTML代码,然后转到下一个视图(jsp文件)。这是一个servlet和一个JSP文件的基本示例作为视图。

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        request.setAttribute("salute", "Hello world from Servlet!");
        request.getRequestDispatcher("/realView.jsp").forward(request, response);
    }
}

在你的realView.jsp文件中:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Real View</title>
</head>
<body>
    ${salute}
</body>
</html>

因此,只需在浏览器中访问此网址:http://yourserverip/yourAppName/hello即可获得一个HTML 5页面,其中包含从您的servlet发布的内容。

您可以在StackOverflow Servlets wiki中找到有关此解释的更多详细信息和另一个示例。

答案 1 :(得分:2)

如果Facelets - 设计用于JSF,但可以在纯Servlet和一整套 Web框架之上工作 - 不是一个选项而你不是想要使用@Luiggi建议的JSP,Java有几个独立的模板引擎(也许这是你缺少的术语):

(仅举几例)

当然,您可能会意识到您需要的不仅仅是模板引擎+ servlet。完成后,let me Google that for you