Странное поведение во время работы JSF "Hello World"

При запуске моего JSF "Hello World" на сервере появляется окно "Загрузка файла", в котором говорится: "Вы хотите сохранить этот файл или найти программу онлайн, чтобы открыть его", в котором есть три варианта поиска, сохранения и отмены. Когда я нажимаю "Найти", отображается следующее сообщение

"Windows имеет следующую информацию об этом типе MIME. Эта страница поможет вам найти программное обеспечение, необходимое для открытия вашего файла.

MIME Тип: application/xhtml xml

Описание: UnKnown

Windows не распознает этот тип MIME. "

my xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
    <title>Insert title here</title>
</h:head>
<h:body>
    <f:view>
        <h:outputText value="Hello World"></h:outputText>   
    </f:view>
</h:body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>hospital</display-name>
    <welcome-file-list>
        <welcome-file>login.xhtml</welcome-file>

    </welcome-file-list>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
</web-app>

Если я запустил этот конкретный файл xhtml, то он показан в IE. Но любое обновление файла xhtml будет показано после обновления IE.

Я использую Eclipse-helios IDE, веб-сервер Glassfish. Спасибо заранее

Ответы

Ответ 1

MSIE действительно не поддерживает тип содержимого application/xhtml+xml. Страница должна обслуживаться с типом контента text/html (вы можете проверить это с помощью инструментов HTTP/web-разработчиков). Но это уже должно быть сделано по умолчанию JSF/Facelets. Кажется, вы не переопределили тип контента в любом месте данного кода. Один из способов - определить его с помощью атрибута contentType тега <f:view>. Другой способ - вызвать HttpServletResponse#setContentType() в каком-то веб-фильтре. Или, совершенно другое, возможно, это было сделано впоследствии самим веб-сервером или некоторым прокси-сервером в строке.