【问题标题】:How to configure content type and content encoding using glassfish server?如何使用 glassfish 服务器配置内容类型和内容编码?
【发布时间】:2012-08-24 07:05:57
【问题描述】:

我正在使用 Glassfish 服务器 3.1.2 在 eclipse indigo 中使用 JSF 和 Spring 构建一个 Web 应用程序。一切都很顺利,但它在 2 个 JavaScript 文件 中的 firebug 中向我显示了这个错误。

当我签入这些文件时,我没有在这些文件中发现任何非法字符,但萤火虫仍然显示这一点。
我在 ASP.Net 项目之一中使用了这些文件,它们并没有弄乱,所以我检查并匹配了两个项目的内容类型,然后我发现在 ASP.Net 项目中这些文件有

Content-Type = application/x-javascript

在我的 JSP-Spring(JAVA) 项目中

Content-Type = text/javascript;charset=ISO-8859-1

是这个。所以你可以看到sames文件已经改变了他们的内容方案。我发现这个方案可以通过 glassfish 服务器中的配置进行更改。所以我想将我的 JS 文件 content-Type 更改为与 ASP 类型相同。
如果有人有任何其他解决方案,请分享,因为除了从 glassfish 服务器更改方案之外,我没有找到任何解决方案
谢谢

【问题讨论】:

    标签: java javascript jakarta-ee encoding content-type


    【解决方案1】:

    你看到的那些奇怪的字符是 UTF-8 Byte Order Mark。它们是一组特殊的字节,指示文档的编码方式。不幸的是,当解释为ISO-8859-1 时,您最终会遇到问题。有两种方法可以解决此问题。

    第一种方法是将输出字符集更改为 UTF-8。我相信这可以通过您的服务器配置、web.xml configuration 或通过在代码中设置 HTTP 请求对象上的字符集来完成;例如:yourServletRequest.setCharacterEncoding("UTF-8");

    第二种方法是从您的 Javascript 文件中删除 BOM。您可以通过在Notepad++ 中打开它们,转到编码 > 转换为ANSI,然后保存它们来做到这一点。或者,在记事本中打开它们,然后转到 另存为 并确保在保存它们之前将 编码 选项设置为 ANSI。请注意,如果您的 Javascript 文件中包含非ISO-8859-1 文本,这可能会导致问题,尽管这不太可能发生。

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 2012-08-17
      • 1970-01-01
      • 2018-05-22
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      相关资源
      最近更新 更多