Nano Hash - криптовалюты, майнинг, программирование

struts2 в проекте tomcat показывает пустую страницу, использование Fiddler показывает ошибку 404

мой проект использует Tomcat 7.0.

Файловая структура:

Проект

-src

- проектный пакет

----LogInActon.java

--struts.xml

-Веб-контент

--Web-INF

---- библиотека

------... справочные банки

---- Web.xml

--index.jsp

--LogInSuccess.jsp

Файл struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="homeLogin" extends="struts-default">

      <action name="logIn" 
            class="com.myApp.system.main.actions.LogInAction" 
            method="execute">
            <result name="success">/logInSuccess.jsp</result>
            <result name="fail">/index.jsp</result>
      </action>
   </package>
</struts>

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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Welcome!</title>
</head>
<body>
   <h1>Log in:</h1>
   <form action="logIn">
      <label for="name">Please enter your name  </label>
      <!--<s:textfield name="username" key="label.name1"/><br/>-->
      <s:textfield name="username"/><br/><br/>
      <label for="pw">Please enter your password    </label>
      <s:password name="pw"/><br/><br/>
      <s:submit value="Log In" align="left"/>
   </form>
</body>
</html>
0.xsd" id="WebApp_ID" version="3.0"> <display-name>Welcome</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

а index.jsp (домашняя страница по умолчанию):

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Welcome!</title>
</head>
<body>
   <h1>Log in:</h1>
   <form action="logIn">
      <label for="name">Please enter your name  </label>
      <!--<s:textfield name="username" key="label.name1"/><br/>-->
      <s:textfield name="username"/><br/><br/>
      <label for="pw">Please enter your password    </label>
      <s:password name="pw"/><br/><br/>
      <s:submit value="Log In" align="left"/>
   </form>
</body>
</html>

Проект был успешно построен на Localhost без ошибок и полностью работает, как ожидалось; однако при развертывании на онлайн-сервере отображается пустая страница. Используя Fiddler, я вижу, что заголовок запроса:

GET /home HTTP/1.1
Host: dev-dev1.wherego.ca
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0

а заголовок ответа:

HTTP/1.1 404 Not Found
Date: Thu, 28 Nov 2013 02:50:15 GMT
Server: Apache-Coyote/1.1
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8

это ключ к отладке этого ??


  • Это 404 для несуществующего ресурса. Можете ли вы проверить URL-адрес, который вы пытаетесь открыть? Я предполагаю, что в URL-адресе есть некоторая путаница. Какой URL-адрес вы попали на localhost и какой URL-адрес пытаетесь использовать на своем сервере? 28.11.2013
  • Вы используете плагин config-browser для struts2? Может быть полезно. struts.apache.org/release/2.3.x/ docs / config-browser-plugin.html 28.11.2013
  • @SaifAsif в localhost я нажимаю localhost: 8080 / home, а на сервере это xxx.com/home, и возвращается другой результат 29.11.2013
  • Tomcat работает на порту 80 на вашем сервере? По умолчанию tomcat настроен на прослушивание порта 8080. Попробуйте изменить URL-адрес на xxx.com:8080/home 29.11.2013
  • @SaifAsif хм, я это не настраивал. При использовании xxx.com:8080/home служба будет отключена по таймауту; кстати, я не знаю, сможет ли aws elastic beanstalk настроить свой сервер tomcat на порт 80 .. 29.11.2013
  • Тайм-аут службы? Можете ли вы проверить и посмотреть журналы приложения на сервере? Конфигурация порта также будет отображаться в журналах. 29.11.2013
  • @SaifAsif OMG! наконец то нашел! В журнале написано: неподдерживаемая версия major.minor 51.0 (невозможно загрузить класс xxx.LogInActon), но я до сих пор не понимаю, что означает эта ошибка, лол. 03.12.2013

Ответы:


1

Согласно вашему комментарию, вы столкнулись с java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0

Это исключение возникает, когда вы запускаете свое приложение в другой версии JRE, для которой оно предназначалось. Короче говоря, это просто проблема несоответствия версий.

Номер версии 51.0 показывает, с какой версией JRE совместим ваш конкретный файл класса. 51.0 означает JRE 7. И наиболее вероятно, что вы используете другую версию JRE на вашем онлайн-сервере по сравнению с вашим локальным хостом.

Чтобы решить эту проблему, убедитесь, что вы запускаете приложение в той же основной версии JRE, в которой оно было скомпилировано. У вас должен быть установлен JRE6 на вашем онлайн-сервере, который вызывает проблему.

Чтобы проверить версию JRE, просто запустите команду

java -version

на консоли.

03.12.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..