Salve,
scrivo qui perché all'università sto seguendo un corso di web programming, ma tra impegni e lavoro ho dovuto saltare un paio di lezioni, e visto che tra un po' ci verrà consegnato il prossimo progetto, volevo vedere se riuscivo a capirci qualcosa prima di avere di nuovo accesso ai professori.
Ora, l'argomento è JSF (1.2) e NetBeans. Il problema, semplicissimo: creare un -Hello World!- a seguito di un forward.
Ecco i passi che ho seguito:
- Nuova Java Web Application
- Server Tomcat 7.0.14.0
- Framework JavaServer Faces
Ottengo così un progetto che come unica pagina (con estensione jsp, ma se ho capito bene è una jsf) welcomeJSF.jsp; in web.xml trovo la Faces Servlet mappata come /faces/*.
Il mio obbiettivo è passare da welcomeJSF.jsp ad una qualunque altra pagina jsf attraverso il tag jsp:forward page="target". Seguendo la guida ho creato una pagina chiamata inputnumber.jsp (che però è sempre una jsf, infatti comincia con il tag f:view) nella stessa cartella dove trovo welcomeJSF.jsp (Web Pages folder) e non la modifico. L'unica cosa che si trova all'interno di quella pagina è un hutputtext value="Hello World!" (tutto creato da NetBeans).
Problema: non riesco a raggiungere la suddetta pagina. Cosa devo fare oltre a inserire come unico tag nella pagina welcomeJSF.jsp jsp:forward page="faces/inputnumber.jsp"?
Il risultato che ricevo avviando il proggetto è il seguente:
Premetto che se dopo il path del progetto (http://localhost:8084/JSFTest2/) inserisco faces/inputnumber.jsp ottengo l'Hello World! desiderato, e che se sostituisco welcomeJSF.jsp con inputnumber.jsp nei welcome-file (in web.xml), naturalmente preceduti da faces/, di nuovo ottengo l'Hello World desiderato. Sembra tuttavia impossibile ottenerlo partendo dalla pagina base di default (welcomeJSF.jsp).codice:org.apache.jasper.JasperException: An exception occurred processing JSP page /welcomeJSF.jsp at line 15 12: <f:view> 13: <html> 14: <body> 15: <jsp:forward page="faces/inputnumber.jsp" /> 16: </body> 17: </html> 18: </f:view> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:442) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) root cause org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: java.lang.IllegalStateException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:534) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:442) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745) org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716) org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:106) org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:67) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) root cause javax.servlet.ServletException: javax.servlet.jsp.JspException: java.lang.IllegalStateException org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:907) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840) org.apache.jsp.inputnumber_jsp._jspService(inputnumber_jsp.java:79) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745) org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716) org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:106) org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:67) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) root cause java.lang.IllegalStateException com.sun.faces.taglib.jsf_core.ViewTag.getComponentType(ViewTag.java:278) javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215) javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:476) javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:660) javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1126) com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:183) org.apache.jsp.inputnumber_jsp._jspx_meth_f_005fview_005f0(inputnumber_jsp.java:96) org.apache.jsp.inputnumber_jsp._jspService(inputnumber_jsp.java:71) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745) org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716) org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:106) org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:67) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408) com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
Idee??