Почему Firefox открывает файл моей веб-страницы JSP в виде исходного кода и не отображает реальную страницу? - PullRequest
0 голосов
/ 22 августа 2011

Я использую пример Java Pet Store, и это верхняя часть моего файла "index.jsp":

<%-- Copyright 2006 Sun Microsystems, Inc. All rights reserved. You may not modify, use, reproduce, or distribute this software except in compliance with the terms of the License at: http://developer.sun.com/berkeley_license.html
$Id: index.jsp,v 1.20 2007-03-16 20:18:59 basler Exp $ --%>

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*, com.sun.javaee.blueprints.petstore.model.CatalogFacade, com.sun.javaee.blueprints.petstore.model.Tag"%>

<%
try {
    CatalogFacade cf = (CatalogFacade)config.getServletContext().getAttribute("CatalogFacade");
    List<Tag> tags=cf.getTagsInChunk(0, 12);
    // since top 20 come from database or desending refCount order, need to reorder by tag name
    Collections.sort(tags, new Comparator() {
        public int compare(Object one, Object two) {
             int cc=((Tag)two).getTag().compareTo(((Tag)one).getTag());
             return (cc < 0 ? 1 : cc > 0 ? -1 : 0);
        }
    });    
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
        <title>Java Pet Store Reference Application</title>
        <link type="text/css" rel="stylesheet" href="./tag.css"/>
    </head>
    <body>

....

Ответы [ 3 ]

6 голосов
/ 22 августа 2011

Возможно, сервер не настроен должным образом для обслуживания страниц JSP или, возможно, MIME / тип неправильно настроен для страниц JSP.

2 голосов
/ 22 августа 2011

Это не прямой ответ на ваш вопрос, но я попытаюсь показать, что происходит для рендеринга JSP.После этого пути анализ доменов / domain1 / server.log (если ваша установка использует домен по умолчанию с именем domain1) может дать вам подсказку о том, что не так.

Обычно в GF2 есть файл с именем default-web.xml в каталоге конфигурации домена.

Содержит следующие фрагменты:

  <servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
      <param-name>xpoweredBy</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
  </servlet>

Приведенный выше код настраивает поддержку JSP - конечно, он не будет работать, если не сможет найти код сервлета,но это должно быть зарегистрировано в server.log.

После этого следующие фрагменты гарантируют, что вышеуказанный сервлет вызывается для управления jsp - одно отображение для "классического" jsp и одно для "xml-синтаксиса" jsps.

  <servlet-mapping>
     <servlet-name>jsp</servlet-name>
     <url-pattern>*.jspx</url-pattern>
  </servlet-mapping>


  <!-- ================ Built In Servlet Mappings ========================= -->


  <!-- The mapping for the JSP servlet -->
  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>

Теперь, если по какой-либо причине эти сегменты отсутствуют в файле default-web.xml, поддержка jsp будет неактивной, и вы получите эффект, подобный описанному вами, поскольку файл будет выбранпо умолчанию сервлет, и будет обрабатываться как статический ресурс.

0 голосов
/ 05 марта 2015

Это может быть довольно старым, но я тоже столкнулся с этой проблемой, и она связана с отображением страницы JSP с использованием только браузера (страница в данный момент не размещается и не управляется сервером, другими словами, сервер выкл).

так что это графическое объяснение того, что происходит:

есть страница, загруженная Firefox, показывающая только необработанный код / ​​текст плана img1

там правильно загружена одна и та же страница, для проверки ее исходного кода видно, что обе страницы имеют одинаковый код img2

Эта проблема возникает из-за того, что обе страницы содержат разные файлы: одна - ANSI (та, которая отображается нормально), а другая - UTF-8 (та, которая отображает сырой код). поэтому, чтобы это исправить, нам нужно:

  1. открыть проблемную страницу с помощью блокнота
  2. Файл> Сохранить как ..
  3. Выберите ANSI в поле со списком Кодирование
  4. Выбрать все файлы в поле Сохранить как комбинированный список
  5. Откройте страницу еще раз, чтобы убедиться, что она отображается правильно

img3

страница отображается правильно img4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...