玻璃鱼v3中表单认证异常

3

我看到这个问题在很多地方都被发表了,但似乎没有解决方案。因此,我试着在这里尝试一下。我正在使用带有Java EE 6框架的Glassfish 3.0.1 b.22。
以下是我的Login.jsf中的表单身份验证:

    <form action="j_security_check">
        <h:panelGrid columns="2" bgcolor="#eff5fa" cellspacing="5" frame="box" styleClass="center">
            <h:outputLabel value="User ID:"/>
            <h:inputText id="j_username" tabindex="1" />
            <h:outputLabel value="Password:"/>
            <h:inputSecret id="j_password"/>
            <h:outputLabel value=""/>
            <h:commandButton id="login" value="Login"/>
        </h:panelGrid>
    </form>

每次进入这个页面时,我都会收到这个异常。程序仍然可以正常工作,但这个问题很烦人。
Session event listener threw exception org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
  at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:679)
  at org.jboss.weld.bean.proxy.ClientProxyMethodHandler.getProxiedInstance(ClientProxyMethodHandler.java:138)
  at org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke(ClientProxyMethodHandler.java:100)
  at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
  at org.jboss.weld.servlet.HttpSessionManager_$$_javassist_341.setSession(HttpSessionManager_$$_javassist_341.java)
  at org.jboss.weld.servlet.ServletLifecycle.restoreSessionContext(ServletLifecycle.java:148)
  at org.jboss.weld.servlet.ServletLifecycle.beginSession(ServletLifecycle.java:71)
  at org.jboss.weld.servlet.WeldListener.sessionCreated(WeldListener.java:126)
  at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:411)
  at org.apache.catalina.session.StandardSession.setId(StandardSession.java:391)
  at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:803)
  at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:326)
  at org.apache.catalina.connector.Request.doGetSession(Request.java:2868)
  at org.apache.catalina.connector.Request.getSession(Request.java:2566)
  at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:919)
  at org.apache.catalina.authenticator.AuthenticatorBase.getSession(AuthenticatorBase.java:859)
  at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:233)
  at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1187)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:619)
  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:615)
  at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
  at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
  at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
  at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
  at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
  at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
  at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
  at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
  at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
  at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
  at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
  at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
  at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
  at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
  at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
  at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
  at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
  at java.lang.Thread.run(Thread.java:637)

从这个异常来看,GlassFish是否基于JBoss和Tomcat进行设计的?


https://jira.jboss.org/browse/JBAS-8297 - jmj
似乎这仍然是一个未解决的问题。太遗憾了 :( - Thang Pham
2个回答

3
每次到达这个页面时,我都会遇到这个异常。现在程序可以正常工作,但这个问题很烦人。
我不知道这部分的答案。
从异常信息看,GlassFish是基于JBoss和Tomcat的设计吗?
GlassFish Web容器是Tomcat的一个分支(如果我没记错的话是Tomcat 5.5)。GlassFish使用的CDI实现是JBoss Weld(CDI的RI)。

谢谢,我在谷歌上搜索了这个问题,似乎还有其他人也遇到了这个问题,但是我找不到解决方案。+1 - Thang Pham

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接