html - 在 Java Servlet 中生成 HTML 响应

标签 html servlets

如何在 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 时会显示

Message: Hello World

在浏览器中。

这使 Java 代码免受 HTML 困惑的影响,并大大提高了可维护性。要学习和练习更多 servlet,请继续访问以下链接。

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

关于html - 在 Java Servlet 中生成 HTML 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37989248/

相关文章:

javascript - 过渡圈,一个接一个

jquery - 如何在单击除 div 以外的任何地方时关闭 div?

java - 将JSP连接到Oracle DB的教程?

java - 将配置值传递给 servlet,而不将其硬编码到 .war 文件中?

javascript - 如何从字符串中删除除特殊类之外的所有 HTML 元素?

html - 如何在页眉页中显示一个div与其他div在同一行

php - 找到所有的 <img> 标签,去掉 height 和 width 然后把去掉的值放在 <img> 标签的样式中

java - 无法在 JSP 中设置 header 。响应已经提交

java - JPA 持久多对多错误 未选择数据库

spring-mvc - DispatcherServlet 导致 java.lang.IllegalArgumentException : Servlet mapping specifies an unknown servlet name [default]