You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Beanstalk部署Java Web应用显示HTML代码问题求助

解决Servlet输出HTML显示为转义代码的问题

看起来你遇到的是Servlet输出的HTML被浏览器当成纯文本解析的问题,导致页面直接显示<!DOCTYPE html>这类转义后的标签代码。这大概率是响应头未正确设置或者输出内容被意外转义导致的,下面是具体的解决步骤:

1. 优先设置正确的响应Content-Type和编码

这是最常见的原因:如果你的Servlet没有明确告诉浏览器返回的是HTML内容,Tomcat会默认以text/plain(纯文本)的类型返回,浏览器就会把所有内容当成普通文本展示,包括HTML标签的转义字符。

在你的Servlet的doGet或doPost方法最开头,添加以下代码:

// 设置响应内容为HTML,编码UTF-8
response.setContentType("text/html;charset=UTF-8");
// 再获取PrintWriter输出内容
PrintWriter out = response.getWriter();

注意:一定要先设置ContentType再获取PrintWriter,否则设置会失效。

2. 检查HTML内容是否被意外转义

确认你在out.println()中输出的是原始HTML代码,而不是转义后的内容:

  • 错误示例:out.println("<!DOCTYPE html>");
  • 正确示例:out.println("<!DOCTYPE html>");

如果是使用了模板引擎或者第三方工具生成HTML,要确保关闭了自动HTML转义功能。

3. 避免输出无关前置内容

不要在设置响应头之前输出任何内容(包括空格、换行、空的out.println()),这些内容会触发Tomcat自动发送默认的响应头,导致你后续设置的ContentType不生效。

比如下面的写法是错误的:

PrintWriter out = response.getWriter();
out.println(""); // 提前输出了空内容
response.setContentType("text/html;charset=UTF-8"); // 这里的设置已经无效

4. 正确的Servlet输出示例

给你一个标准的Servlet输出HTML的示例,参考这个调整你的代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 第一步:设置响应类型
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    
    // 输出正常HTML
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Raid HEI - Le Raid</title>");
    out.println("<meta charset=\"UTF-8\">");
    out.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>欢迎访问Raid HEI</h1>");
    // 其他页面内容...
    out.println("</body>");
    out.println("</html>");
    
    out.close();
}

完成以上调整后,重新部署到AWS Beanstalk,应该就能正常渲染HTML页面了。

内容的提问来源于stack exchange,提问作者nostrone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:24:08