我使用Jetty(通过非常方便的Jetty Runner )进行日常的Web应用程序testing。 我最近偶然发现的一件事是,我始终没有在“Content-Type”响应头中find一个叫出来的字符集。 我得到它响应我的应用程序的XMLHttpRequest交易,但不是由<a>链接或任何加载的普通旧页面。
我已经读了一些关于如何设置一个Jettyconfiguration文件,但我从来没有能够完全理解, 所有的servlet容器都是复杂的,而Jetty非常简单,只是奇怪的是我不能理解整体思想。 因此,我所做的启动我的应用程序是使用几个简单的参数运行Jetty Runner .jar文件来设置端口号和日志文件path,然后给它运行.war文件。 它工作得很好 – 除了缺less的字符集:-)
任何人有一个快速的示例configuration文件,可以解决这个问题?
编辑 – 哦,如果有关系,我正在运行Jetty 7.0.0 RC3; 我也尝试了一个稍微更新的版本(仍然是7.something)与完全相同的问题。 我所有的testing都在Ubuntu上。
这不一定是docker/docker亚军问题。 Jetty是Servlet容器,而响应是由servlet生成的(或者是最终实现servlet的更高级的东西)。 不知道你使用上面的Jetty来生成你的内容,这很难说。
你可以做的一件事就是使用meta标签明确定义你自己的字符集。 HTML5已经简化了如何做到这一点:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Example document</title> </head> <body> <p>Example paragraph</p> </body> </html>
与之前的HTML语法相反:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Example document</title> </head> <body> <p>Example paragraph</p> </body> </html>