मेरे JSF 2 परियोजना संरचना इस प्रकार है:JSF2 और Facelets - java.io.FileNotFoundException
java.io.FileNotFoundException
at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:381)
at com.sun.faces.facelets.impl.DefaultFaceletCache._getLastModified(DefaultFaceletCache.java:161)
at com.sun.faces.facelets.impl.DefaultFaceletCache.access$000(DefaultFaceletCache.java:62)
at com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance(DefaultFaceletCache.java:82)
at com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance(DefaultFaceletCache.java:79)
at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)
at com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:119)
at com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:62)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:248)
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:366)
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)
at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:82)
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:744)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
:
root
...
WebContent
META-INF
resources
css
images
javascript
templates
commonLayout.xhtml
footer.xhtml
header.xhtml
views
main
index.xhtml
WEB-INF
index.jsp
मैं इस त्रुटि जब मैं http://localhost/home/main/index.jsf पर मेरे पृष्ठ देखने का प्रयास मुठभेड़ index.xhtml की सामग्री है:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="templates/commonLayout.xhtml">
<ui:define name="header">
Add your header here or delete to use the default
</ui:define>
<ui:define name="content">
Add your content here or delete to use the default
</ui:define>
<ui:define name="footer">
Add your footer here or delete to use the default
</ui:define>
</ui:composition>
</html>
मैं पिछले दो दिनों से इस मुद्दे पर फंस गया हूं। क्या कोई देख सकता है कि समस्या क्या है?
सबसे पहले, अपनी परियोजना संरचना गलत है: मैं सभी
@ बाल्लूसी टिप के लिए धन्यवाद। मैं इस पूरे जेएसएफ 2 परियोजना सेटअप के बारे में थोड़ा उलझन में हूं। यह लिंक [लिंक] http://www.coreservlets.com/JSF-Tutorial/jsf2/# ओवरव्यू ने कहा कि सभी वेब फ़ाइलों को वेबकंटेंट के अंदर जाना है - जैसा आपने कहा था। एक और लिंक [लिंक] http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/ वेबकंटेंट के बाहर वेब फ़ाइलों को उनके उदाहरण डाउनलोड में है। क्या आप मुझे एक आधिकारिक वेबसाइट पर इंगित कर सकते हैं जो इस बिंदु को और स्पष्ट रूप से समझाएगा। – ChuongPham
@ बालससी मेरी आखिरी टिप्पणी को अनदेखा करें क्योंकि मैं इसे हटा नहीं सकता हूं। वैसे भी, मुझे लगता है कि उपरोक्त कोड स्वरूपण सही नहीं हुआ है, लेकिन मेरी सभी फ़ाइलें वेबकंटेंट फ़ोल्डर के अंतर्गत हैं। साथ ही, संसाधनों, टेम्पलेट्स, विचार फ़ोल्डरों को आवश्यकता के अनुसार वेब-आईएनएफ के तहत जाना चाहिए? या, क्या यह व्यक्तिगत वरीयता पर है? – ChuongPham
वे वेबकंटेंट के बाहर नहीं हैं। फ़ोल्डर को सिर्फ 'वेबएप' नाम दिया गया है। फ़ोल्डर नाम के बारे में कोई कल्पना नहीं है, नाम "वेबकंटेंट" ग्रहण के लिए विशिष्ट है। अंत में, यह वही फ़ाइलें हैं जो servletcontainer के वेबैप रूट फ़ोल्डर में तैनात हैं। WEB-INF के रूप में, WEB-INF में फ़ाइलें सार्वजनिक पहुंच योग्य नहीं हैं, लेकिन वे सर्वलेट एपीआई द्वारा ही पहुंच योग्य हैं (requestdispatcher, include, आदि)। – BalusC