Struts2 не загружает мою ошибку webapp404?

Я полный новичок в Struts2 и не могу запустить что-либо, связанное с ним, на tomcat ни в eclipse, ни в браузере. Tomcat работает нормально, когда я просто сопоставляю servlets/jsp в файле web.xml, но при попытке переключиться на struts2 я не могу заставить его работать. Когда я пытаюсь запустить на сервере, он даже не переходит к моему индексу jsp... просто загружается ошибка 404. Я следил за онлайн-учебником, когда не смог запустить свое приложение для своего класса, и учебник, который я тоже не могу запустить. Вот файлы jar, которые я добавил в файлы jar пути tomcat lib/build -

asm-5.0.2.jar             
asm-commons-5.0.2.jar       
asm-tree-5.0.2.jar         
commons-fileupload-1.3.1.jar      
commons-io-2.2.jar     
commons-lang3-3.2.jar   
commons-logging-1.1.3.jar   
commons-logging-api-1.1.jar   
freemarker-2.3.19.jar   
javassist-3.11.0.GA.jar   
ognl-3.0.6.jar    
struts-core-1.3.10.jar    
struts2-dojo-plugin-2.3.20.jar    
xwork-core-2.3.20.jar    

фильтр добавлен в web.xml -

<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>

распорки 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="helloworld" extends="struts-default">

  <action name="hello" 
        class="com.struts2.files.HelloWorldAction" 
        method="execute">
        <result name="success">/HelloWorld.jsp</result>
  </action>
</package>
</struts>

Любые идеи относительно того, почему я получаю 404 при попытке запустить приложение?


person Matt Southard    schedule 01.04.2015    source источник
comment
Используйте инструмент разработчика в браузере, чтобы просмотреть запрос. Я предполагаю, что /HelloWorld.jsp - неправильный путь.   -  person MageXellos    schedule 01.04.2015
comment
PS: установите атрибут в перенаправлении ‹result›, тогда вы сможете увидеть свой запрос в инструменте разработчика. В противном случае будет использоваться метод пересылки по умолчанию.   -  person MageXellos    schedule 01.04.2015


Ответы (2)


Полагаю, вы добавили неправильный struts-core-1.3.10.jar в свой путь к классам. Вероятно, это относится к Struts 1.x. Вам необходимо включить последнюю версию struts2-core-2.x.x.jar из структуры Struts 2.

Типичное приложение Struts 2 имеет следующие файлы jar в каталоге WEB-INF/lib.

commons-fileupload-1.2.1
commons-io-1.3.2
commons-logging-1.1
freemarker-2.3.13
junit-3.8.1
ognl-2.6.11
xwork-2.1.2
struts2-core-2.1.6
struts2-convention-plugin-2.1.6 (if using annotations)

Попробуйте загрузить последние файлы jar с сайта struts.apache.org.

person Ravi K Thapliyal    schedule 01.04.2015

Класс фильтра org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter принадлежит Struts2, но вы используете jar-файл struts1 struts-core-1.3.10.jar

Как предложил Рави, загрузите файл Jar из Struts-2.3.20.

person Chaitanya    schedule 02.04.2015