Exception Details: java.lang.RuntimeException
hola
tengo un problema cuando quiero ir de un servlet a un jsp me aparece (Exception Details: java.lang.RuntimeException):
si alguien sabe como solucionarlo.
Exception Handler
Description: An unhandled exception occurred during the execution of the web application. Please review the following stack trace for more information regarding the error.
Exception Details: java.lang.RuntimeException
Cannot find FacesContext
Possible Source of Error:
Class Name: javax.faces.webapp.UIComponentClassicTagBase
File Name: UIComponentClassicTagBase.java
Method Name: getFacesContext
Line Number: 1855
Source not available. Information regarding the location of the exception can be identified using the exception stack trace below.
Stack Trace:
javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855)
javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672)
org.apache.jsp.Menu1_jsp._jspx_meth_f_view_0(Menu1_jsp.java:99)
org.apache.jsp.Menu1_jsp._jspService(Menu1_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:406)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
com.sun.grizzly.ContextTask.run(ContextTask.java:69)
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
java.lang.Thread.run(Thread.java:722)
- Inicie sesión o regístrese para enviar comentarios
esta es la parte del codigo donde quiero redireccionar
if(Trfa==1){
response.sendRedirect(response.encodeURL("/Servicios/Menu1.jsp"));
}
else if(Trfa==2){
response.sendRedirect(response.encodeURL("/Servicios/Menu2.jsp"));
}
else{
response.sendRedirect(response.encodeURL("/Servicios"));
}
RequestDispatcher
Deberías probar con
algo así:
De esta forma desde tu servlet puedes enviar como respuesta objetos con request.setAttribute() ya que la session y la petición hecha está disponible para este recurso, y así enviar la petición ya sea a otro servlet o a un jsp cuando el método forward() sea llamado. En cambio si usas el sendRedirect() lo que estás haciendo es simplemente devolver una URL al navegador, que será como si abrieras una nueva ventana del navegador, limpiarias cache y la url se ejecutaría.