Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Virgo » Snaps-based app doesn't allow welcome files?
Snaps-based app doesn't allow welcome files? [message #817193] Fri, 09 March 2012 14:24 Go to previous message
Jason Levine is currently offline Jason Levine
Messages: 12
Registered: July 2009
Junior Member
I'm building a Snaps-based web app as a first project, and have noticed that Snaps doesn't allow me to use a list of welcome files (in the web.xml <welcome-file-list> element) -- from the logs, it appears that a null path request gets shunted through the StaticResourceServlet instead. Is there some configuration I'm missing?

For reference, my snap is configured to respond at /lm/spring/. The request that fails is a request for that same URL. Here's my web.xml, with the root element removed because this forum won't let me post it due to the fact that it includes URLs:

	<display-name>LM Portal Spring Module</display-name>

	<!-- configure our parent application context -->
	<context-param>
		<param-name>contextClass</param-name>
		<param-value>org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext</param-value>
	</context-param>

	<!-- set up the standard Spring context listener -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- create our standard Spring dispatcher servlet -->
	<servlet>
		<servlet-name>springModule</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>springModule</servlet-name>
		<url-pattern>/w/*</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<!-- this doesn't appear to work with Virgo Snaps... -->
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>


And my servlet's context (springModule-servlet.xml); same thing, the root element has been removed due to this forum's crankiness:

	<context:component-scan base-package="gov.cancer.ccr.oit.lmportal.spring.web" />

	<!-- configure our view resolver -->
	<bean id="topViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>


And finally, here's the log.log entries for the request for /lm/spring/:

[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         org.eclipse.virgo.snaps.core.OsgiSnapRegistry                     Snap 'org.eclipse.virgo.snaps.core.internal.webapp.WebAppSnap@4eb15265' found for context path '/spring' 
[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         o.e.v.s.c.i.w.c.StandardVirtualContainerRequestDispatcher         Servicing request 'null' 
[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         org.eclipse.virgo.snaps.core.internal.webapp.url.PathUrlPattern   Path '/spring/' does not match pattern '/spring/w' 
[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         o.e.virgo.snaps.core.internal.webapp.url.ExtensionUrlPattern      Path '/spring/' does not match pattern 'jsp' 
[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         o.eclipse.virgo.snaps.core.internal.webapp.url.DefaultUrlPattern  Path '/spring/' matches pattern '/' 
[2012-03-09 13:50:26.007] INFO  http-bio-8080-exec-4         o.eclipse.virgo.snaps.core.internal.webapp.url.UrlPatternMatcher  Matched path '/spring/' with mapping '__resource-servlet' 
[2012-03-09 13:50:26.008] INFO  http-bio-8080-exec-4         o.eclipse.virgo.snaps.core.internal.webapp.url.DefaultUrlPattern  Translated path '/spring' to '/' 
[2012-03-09 13:50:26.008] INFO  http-bio-8080-exec-4         o.eclipse.virgo.snaps.core.internal.webapp.StaticResourceServlet  Resource / found 
[2012-03-09 13:50:26.012] ERROR http-bio-8080-exec-4         o.a.c.core.ContainerBase.[Catalina].[localhost].[/lm].[default]   Servlet.service() for servlet [default] in context with path [/lm] threw exception java.io.FileNotFoundException: /Users/levineja/Downloads/virgo-tomcat-server-3.0.2.RELEASE/work/org.eclipse.virgo.kernel.deployer_3.0.2.RELEASE/staging/global/bundle/gov.cancer.ccr.oit.lmportal-spring/1.0.0/lmportal-spring-1.0.0.jar/ (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:120)
	at org.eclipse.osgi.framework.util.SecureAction.getFileInputStream(SecureAction.java:123)
	at org.eclipse.osgi.baseadaptor.bundlefile.FileBundleEntry.getInputStream(FileBundleEntry.java:56)
	at org.eclipse.osgi.framework.internal.core.BundleURLConnection.connect(BundleURLConnection.java:53)
	at org.eclipse.osgi.framework.internal.core.BundleURLConnection.getInputStream(BundleURLConnection.java:99)
	at java.net.URL.openStream(URL.java:1010)
	at org.eclipse.virgo.snaps.core.internal.webapp.StaticResourceServlet.doGet(StaticResourceServlet.java:66)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.virgo.snaps.core.internal.webapp.container.ImmutableFilterChain.doFilter(ImmutableFilterChain.java:47)
	at org.eclipse.virgo.snaps.core.internal.webapp.container.StandardVirtualContainerRequestDispatcher$1.doWithClassLoader(StandardVirtualContainerRequestDispatcher.java:104)
	at org.eclipse.virgo.snaps.core.internal.webapp.container.StandardVirtualContainerRequestDispatcher$1.doWithClassLoader(StandardVirtualContainerRequestDispatcher.java:1)
	at org.eclipse.virgo.snaps.core.internal.webapp.container.StandardVirtualContainerRequestDispatcher.doWithThreadContextClassLoader(StandardVirtualContainerRequestDispatcher.java:121)
	at org.eclipse.virgo.snaps.core.internal.webapp.container.StandardVirtualContainerRequestDispatcher.service(StandardVirtualContainerRequestDispatcher.java:101)
	at org.eclipse.virgo.snaps.core.internal.webapp.WebAppSnap.handleRequest(WebAppSnap.java:152)
	at org.eclipse.virgo.snaps.core.RequestRouter.service(RequestRouter.java:51)
	at org.eclipse.virgo.snaps.core.SnapHostFilter.doFilter(SnapHostFilter.java:62)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	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:680)


Requests for /lm/spring/index.jsp return the index.jsp that's at that location, so that's fine -- it's just the null-path -- /lm/spring/ -- that's failing.
 
Read Message
Read Message
Read Message
Previous Topic:**RFC: Supporting PDE/Equinox bundles in Eclipse IDE
Next Topic:Adding a custom command via gogo in Virgo 3
Goto Forum:
  


Current Time: Sun May 19 23:03:46 EDT 2013

Powered by FUDForum. Page generated in 0.04192 seconds