Я использую Jetty (через очень удобный Jetty Runner) для повседневного тестирования веб-приложений. Одна вещь, на которую я недавно наткнулся, - это тот факт, что я не получаю постоянно вызываемый набор символов в заголовке ответа Content-Type. я делать получить его в ответ на транзакции XMLHttpRequest моего приложения, но не для простых старых страниц, загруженных <a>
ссылки или что-то еще.
Я немного читал о том, как настроить файл конфигурации Jetty, но я никогда не мог полностью понять это; все контейнеры сервлетов сложны, и хотя Jetty довольно проста, это достаточно странно, что я не могу понять общую идею. Таким образом, все, что я делаю для запуска своего приложения, - это запускаю файл Jetty Runner .jar с парой простых аргументов, чтобы установить номер порта и путь к файлу журнала, а затем я просто даю ему для запуска файл .war. Он отлично работает - за исключением отсутствующего набора символов :-)
У кого-нибудь есть образец файла конфигурации, который может это исправить?
редактировать - о, если важно, я использую Jetty 7.0.0 RC3; Я также пробовал с немного более новой версией (все еще 7. что-то) с точно такой же проблемой. Все мои тесты проходят на Ubuntu.
Это не обязательно проблема Jetty / Jetty Runner. Jetty - это контейнер сервлета, а ответ генерируется сервлетом (или чем-то более высоким, что в конечном итоге реализует сервлет). Трудно сказать, не зная, что вы используете выше Jetty для создания контента.
Одна вещь, которую вы можете сделать, - это явно определить свой набор символов в самом HTML, используя метатеги. 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>