Struts2、Hibernate で構築された Web アプリケーションがあり、正常に動作します。
NetBean で新しいエンタープライズ アプリケーションを作成します。私が構築した Web アプリケーションは、エンタープライズ アプリケーションに Java EE モジュールとして追加されました。クライアント モジュールを Web アプリケーションとして選択し、エンタープライズ アプリケーションを実行しようとしました。
ただし、Web アプリケーションは機能しませんでした。それは私に言った
org.apache.jasper.JasperException: The Struts dispatcher cannot be found.
This is usually caused by using Struts tags without the associated filter.
Struts tags are only usable when the request has passed through its servlet filter,
which initializes the Struts dispatcher needed for this tag. - [unknown location]
Web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
エンタープライズ アプリケーションから Web アプリケーションを削除し、クリーンアップしてビルドします。Web アプリケーションは実行可能です。
補足:
次の図のように、エンタープライズ アプリケーションにライブラリを追加し、変更しましたfilter
。しかし、エラーは引き続き発生します。