2013-08-06 44 views
0

我有一个JSP,它是另一个JSP中包含的JSP。javax.faces.FacesException,当用户点击返回

在运行期间,如果我将光标放在文本框内并返回,我会得到以下异常。

我的子JSP中的输入字段如下。

<input type="text" id="mask" name="mask" value="<%=mask%>" size="30"/> 

例外:

javax.faces.FacesException 
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:388) 
    at com.soa.console.faces.myfaces.MyFacesServlet.service(MyFacesServlet.java:262) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.common.console.CrossSiteScriptingValidator.doFilter(CrossSiteScriptingValidator.java:129) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SecuritySessionServletFilter.doFilter(SecuritySessionServletFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SessionValidatorFilter.doFilter(SessionValidatorFilter.java:114) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.RequestAttributesFilter.doFilter(RequestAttributesFilter.java:43) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.ParameterToSessionPersisterFilter.doFilter(ParameterToSessionPersisterFilter.java:63) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:67) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.Server.handle(Server.java:367) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) 
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:291) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:293) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:120) 
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416) 
    at com.soa.console.faces.config.impl.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:124) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) 
    ... 39 more 
Caused by: java.lang.NullPointerException 
    at org.apache.jasper.runtime.JspRuntimeLibrary.getContextRelativePath(JspRuntimeLibrary.java:907) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:962) 
    at com.soa.jsp.dev.wizards.routing.manage_005fprocess_005factivity_005fholder_jsp._jspService(manage_005fprocess_005factivity_005fholder_jsp.java:176) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.dev.filter.JspCompilationFilter.doFilter(JspCompilationFilter.java:137) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    ... 48 more 

Caused by: 

java.io.IOException 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:291) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:293) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:120) 
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416) 
    at com.soa.console.faces.config.impl.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:124) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) 
    at com.soa.console.faces.myfaces.MyFacesServlet.service(MyFacesServlet.java:262) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.common.console.CrossSiteScriptingValidator.doFilter(CrossSiteScriptingValidator.java:129) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SecuritySessionServletFilter.doFilter(SecuritySessionServletFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SessionValidatorFilter.doFilter(SessionValidatorFilter.java:114) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.RequestAttributesFilter.doFilter(RequestAttributesFilter.java:43) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.ParameterToSessionPersisterFilter.doFilter(ParameterToSessionPersisterFilter.java:63) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:67) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.Server.handle(Server.java:367) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) 
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NullPointerException 
    at org.apache.jasper.runtime.JspRuntimeLibrary.getContextRelativePath(JspRuntimeLibrary.java:907) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:962) 
    at com.soa.jsp.dev.wizards.routing.manage_005fprocess_005factivity_005fholder_jsp._jspService(manage_005fprocess_005factivity_005fholder_jsp.java:176) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.dev.filter.JspCompilationFilter.doFilter(JspCompilationFilter.java:137) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    ... 48 more 

Caused by: 

java.lang.NullPointerException 
    at org.apache.jasper.runtime.JspRuntimeLibrary.getContextRelativePath(JspRuntimeLibrary.java:907) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:962) 
    at com.soa.jsp.dev.wizards.routing.manage_005fprocess_005factivity_005fholder_jsp._jspService(manage_005fprocess_005factivity_005fholder_jsp.java:176) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.dev.filter.JspCompilationFilter.doFilter(JspCompilationFilter.java:137) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:293) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:120) 
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416) 
    at com.soa.console.faces.config.impl.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:124) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) 
    at com.soa.console.faces.myfaces.MyFacesServlet.service(MyFacesServlet.java:262) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320) 
    at com.soa.common.console.CrossSiteScriptingValidator.doFilter(CrossSiteScriptingValidator.java:129) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SecuritySessionServletFilter.doFilter(SecuritySessionServletFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.SessionValidatorFilter.doFilter(SessionValidatorFilter.java:114) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.RequestAttributesFilter.doFilter(RequestAttributesFilter.java:43) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at com.soa.common.console.ParameterToSessionPersisterFilter.doFilter(ParameterToSessionPersisterFilter.java:63) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) 
    at com.soa.transport.jetty.j2ee.HttpContextAppHandler.doHandle(HttpContextAppHandler.java:278) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:67) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.Server.handle(Server.java:367) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) 
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
+0

哪里有问题的根源呢? – BalusC

+0

我很抱歉。我现在更新了例外。 –

回答

0

看的根本原因(最底部的除外)接近:

java.lang.NullPointerException 
    at org.apache.jasper.runtime.JspRuntimeLibrary.getContextRelativePath(JspRuntimeLibrary.java:907) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:962) 
    at com.soa.jsp.dev.wizards.routing.manage_005fprocess_005factivity_005fholder_jsp._jspService(manage_005fprocess_005factivity_005fholder_jsp.java:176) 

你已经一个..manage/process/activity/holder.jsp文件,它使用<jsp:include>src造成NullPointerException在解析上下文相对路径时以某种方式。

我能想到的2个可能的原因:

  1. src本身null。这可能发生在一个动态的包括像如下:

    <jsp:include src="${someBean.someInclude}" /> 
    

    如果确实有这样的包含,你需要确保其src从不计算为null

  2. webapp的运行时类路径受到任意下载的jsp-api.jar文件的污染,该文件来自与ServletContainer(在您的情况下为Jetty的)自己的内部库冲突的不同servletcontainer make/version。

    如果你确实已经这样做了,你需要摆脱它们,并确保运行时类路径没有重复的早期版本化的servletcontainer特定的库。同样参见相关问题的答案How do I import the javax.servlet API in my Eclipse project?