Eclipse Mavenプラグインを使用してJava EE 7プロジェクトを作成しています。私の問題は、SerlvetContextListenerを実装するクラスが呼び出されないアプリケーションを実行するときです。この問題の原因は何ですか?ServletContextListenerが呼び出されていません
@WebListener
public class ApplicationContextListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent sce)
{
Request request = new HttpRequest(sce);
new Thread (request).start();
HibernateUtil.getSessionFactory();
}
@Override
public void contextDestroyed(ServletContextEvent sce)
{
}
}
のweb.xml:web.xmlに
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<listener>com.kyrogaming.AppServletContextListener</listener>
<!-- Jersey Mapping -->
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.kyrogaming.webservices</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<!-- end Jersey Mapping -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
これは間違いです。 Java EE 6以降、 'web.xml'エントリを必要とせずに' @ WebListener'を使って登録できます。タイムリーに追いついてください。Java EE 6は、2009年12月から既にリリースされています。これは間違ってこの間違った答えを間違ってアップした人にも当てはまります。 – BalusC
ありがとう、@ BalusC、何が問題になるのだろうか? – JNL
これまでに提供された情報に基づいて質問に答えることはできません。私が推測すると、そのリスナーは実際にランタイムクラスパスに終わったことはありません。 – BalusC