当前位置: 首页 > 知识库问答 >
问题:

Edge/IE下载Servlet而不是显示它

毛淳
2023-03-14

我有一个这样的表格:

<form action="WorkUser" method="POST" >
    <label>
        <input type="text" id="nickname" name="nickname" placeholder="Nickname">
        <input type="submit" name="submit" value="Senden">
    </label>
</form>

这将重定向到Servlet,Servlet将请求转发到jsp文件。在Opera、Chrome、Safari和Firefox上,这非常有效。

但是,互联网浏览器和边缘将最终的jsp页面下载为html文件。当您使用浏览器打开它时,页面呈现得很好。此外,在 http://validator.w3.org 中验证时,该页面不会显示任何错误

它重定向到的jsp文件的头如下所示:

<!DOCTYPE html>
    <%@ page language="java" contentType="charset=UTF-8"
pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

你知道为什么会出现这个问题吗?

共有1个答案

左丘嘉木
2023-03-14

此处的contentType不正确。

<%@page language="java" contentType="charset=UTF-8" pageEncoding="UTF-8"%>

它必须是这些值之一。默认值是text/html,这是超文本标记语言文档的正确值。

<%@page language="java" pageEncoding="UTF-8" %>

当Web浏览器无法识别内容类型时,出于安全原因,某些浏览器可能会被迫将其视为文件下载,而其他浏览器可能会首先尝试检查响应是否“看起来像”HTML,然后显示它。

与具体问题无关,language=“java”是多余的。这已经是默认值了。

<%@page pageEncoding="UTF-8" %>

页面编码可以根据以下问题的答案中的说明在应用程序范围内进行设置:如何干净地设置所有JSP的页面编码?

这样你就可以去掉整个

 类似资料:
  • 我有一个用Wamp开发的php MVC网站作为测试服务器,它在Chrome、Opera、Safari和FF中运行得非常好。然而,每当我试图在IE或Edge中打开它时,html就会作为一个文件下载,并带有一个随机名称,没有扩展名。 我试着把它上传到我的共享主机上,仍然会遇到同样的问题,改变电脑来访问页面也没有什么区别。 我有一种感觉,我需要为IE和Edge声明一些东西,但不知道如何处理这个问题...

  • 问题内容: 在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json。因此,我将JSON数据的URL放入地址栏中。 这对ASPNET很好,因为在发生编码错误的情况下,我可以在浏览器中看到ASPNET诊断错误: 但是,当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,因此看不到响应。 我可以让IE不这样做吗,换句话说,就是像纯文本一样显示它吗? 我知道如果将

  • 文件:/springboot1_firstwebapp/pom.xml

  • 问题内容: 操作系统和服务器信息: CentOS 6.4(最终版) 阿帕奇2.2.15 PHP 5.5.1 我以前安装了php 5.3.x,但决定升级。我首先卸载了php 5.3.x,然后安装了php 5.5.1,但是在安装完成后apache并没有解析php文件,只是下载了它们。我在这里检查了stackoverflow中的类似问题,但到目前为止,它们都没有帮助我。 作为记录,我在httpd.con

  • OS和服务器信息: CentOS 6.4(最终版) 我以前使用过PHP5.3。x已安装,但决定升级。我首先卸载了PHP5.3。然后安装PHP5.5。1但安装完成后,apache没有解析php文件,只是下载了这些文件。我在stackoverflow中检查过类似的问题,但到目前为止没有一个对我有帮助。 为了记录在案,我有以下行在我的httpd.conf和php.conf,应该使php工作,但没有: 我

  • 试图制作一个简单的应用程序,从服务器获取JSON数据,并在自定义列表中显示它们,非常简单的事情。 但当我运行应用程序时,它显示的是白色空白屏幕,但没有数据。它也没有显示任何错误,我假设如果有任何错误,它不会在我的手机中运行。但不显示获取的数据。 下面是类 我发现的其他问题与我的问题不匹配,否则不会添加这个问题。