не может запустить Struts 2 Hello World - PullRequest
1 голос
/ 23 апреля 2020

Проблема Когда я запускаю свой проект и пытаюсь запустить

    ERROR Dispatcher Dispatcher initialization failed
     Unable to load configuration. - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%208.5/wtpwebapps/Struts2Test/WEB-INF/lib/struts2-gxp-plugin-2.5.22.jar!/struts-plugin.xml:27:162
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
 and more...

http://localhost: 8081 / Struts2Test / testAction

Project Structure

Не работает. Он показывает статус HTTP 404 (в моем браузере)

Eclipse Console

Нет ошибок в Eclipse Console

/ Struts2Test / src / struts. xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="test" extends="struts-default">
        <action name="testAction" class="test.Action.TestAction" method="execute">
            <result name="success">
                /success.jsp
            </result>
            <result name="error">
                /error.jsp
            </result>
        </action>
    </package>
</struts>

TestAction. java

package test.Action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport
{
    public String execute()
    {
        return "success";
    }
}

/ Struts2Test / WebContent / WEB-INF / web. xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Struts2Test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
   </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

1 Ответ

0 голосов
/ 24 апреля 2020

Hello World (в структурах)

Создание динамического c веб-проекта в Eclipse Enterprise edition

Eclipse> Файл> Новый> Dynami c Веб-проект

Назовите его: HelloWorld

Он должен иметь веб. xml файл в папке веб-материалов> WEB-INF> web. xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>HelloWorld</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
   <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
   </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>  
</web-app>

Создать класс TestAction. java

(/ HelloWorld / src / com / test / TestAction. java)

package com.test;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport
{
    public String execute()
    {
        return "success";
    }
}

/ HelloWorld / WebContent / success. jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <h1> Hello World</h1>
</body>
</html>

/ HelloWorld / src / struts. xml

Примечание: Ваши стойки. xml Файл должен находиться внутри папки sr c вашего динамического c веб-проекта. В противном случае это не сработает.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="test" extends="struts-default">
        <action name="testAction" class="com.test.TestAction" method="execute">
            <result name="success">
                /success.jsp
            </result>
            <result name="error">
                /error.jsp
            </result>
        </action>
    </package>
</struts>

Загрузите необходимые файлы JAR с сайта Struts

Вам необходимо добавить эти файлы JAR в свой Java Путь сборки

Выберите ваш проект> Щелкните правой кнопкой мыши> Свойства> Java Путь сборки> Добавить внешние файлы Jar

Теперь вам нужно добавить эти файлы Jar в Deployment Assembly

Выберите ваш проект > Щелкните правой кнопкой мыши> Свойства> Сборка развертывания> Добавить> Нажмите Java Путь сборки> Файлы JAR, которые вы добавили ранее, будут там присутствовать. Выберите и ок.

Запустите проект на сервере

Выберите проект> Запуск от имени> Выполнить на сервере

В браузере

http://localhost: 8081 / HelloWorld / testAction

(я изменил свой номер порта с 8080 на 8081. Номер порта по умолчанию для Tomcat - 8080. Таким образом, URL будет http://localhost: 8080 / HelloWorld / testAction .)

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