java - 如何使用 glassfish 服务器配置内容类型和内容编码?

标签 java javascript jakarta-ee encoding content-type

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

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

内容类型=应用程序/x-javascript

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

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

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

最佳答案

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

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

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

关于java - 如何使用 glassfish 服务器配置内容类型和内容编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12104643/

相关文章:

java - 使用java从liferay cms检索内容

java - 从另一个类调用时,函数会使应用程序崩溃,但从 MainActivity.java 调用时不会崩溃

javascript - 重用 jQuery.post()/jQuery.Deferred() 对象

java - 我如何将 Spring Security 与我的 React-Spring Boot 应用程序一起使用

javascript - 使用正则表达式从 html 页面获取所有链接

将 Gulp Uglify 与 js 数组一起使用时出现 Javascript 错误

java - 如何识别 Activity (长时间运行)HTTP 请求的 URI?

jakarta-ee - WebLogic 中默认的 "authenticated role"的角色名称是什么?如何在我的部署描述符中引用它?

java - 如何确定字符串列表是否包含 null 或空元素

java - 长度超过 65535 字节的 Java 字符串文字的字节码