Servlets JBossSeam自定义servlet“;“无活动事件上下文”;
我有JBossSeamWeb服务。我正在web.xml中映射我的服务类,如下所示Servlets JBossSeam自定义servlet“;“无活动事件上下文”;,servlets,jboss,seam,Servlets,Jboss,Seam,我有JBossSeamWeb服务。我正在web.xml中映射我的服务类,如下所示 <servlet> <servlet-name>pluginhandler</servlet-name> <servlet-class>service.PlugInHandler</servlet-class> <load-on-startup>1</load-on-startup> </servlet
<servlet>
<servlet-name>pluginhandler</servlet-name>
<servlet-class>service.PlugInHandler</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>pluginhandler</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我不知道会出什么问题。使用自定义servlet是否缺少某些特定的配置?
我将非常感谢你的帮助和时间。我使用的是seam 2.0.1.GA,jboss版本是4.2.2.GA
谢谢如果您以非标准方式访问Seam组件,则需要使用
Lifecycle.beginCall()
和Lifecycle.endCall()
您是否定义了“FacesServlet”?如果您希望其他人帮助您,您还需要返回并接受前面问题的答案(绿色复选标记)。我不使用“Faces Servlet”,因为我没有使用JSF构建UI。因此,我通过使用component.getInstance(Action.class,true)而不是注入(@In),消除了Action类的空指针异常。但我现在遇到了另一个问题,Action类使用EntityManager,它抛出了java.lang.IllegalArgumentException:在JNDI中找不到EntityManagerFactory,紧接着是“无活动事件上下文”几乎正确。。。在Servlet中,您可以激活相关URL的ContextFilter(在components.xml中),或者将所有内容包装在ContextualHttpServletRequest中。
<filter>
<filter-name>Seam Servlet Filter</filter-name>
<filter-class>org.jboss.seam.servlet.SeamServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam Servlet Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Servlet.service() for servlet pluginhandler threw exception
java.lang.IllegalStateException: No active event context
at org.jboss.seam.core.Manager.instance(Manager.java:250)
at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:55)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Unknown Source)
Lifecycle.beginCall()
Component.getInstance('...').call();
Lifecycle.endCall()