Open endertunc opened 7 years ago
Hi!
/app/VAADIN will never work the way you want it to. Your Vaadin servlet needs to be mapped to /app
and /VAADIN
. That's because the client side will always make requests to <servlet-context-root>/VAADIN
, not to<servlet-context-root>/app/VAADIN
Hi @mac-at-vaadin, thank you for your time and response. Could you please check the following repository: https://github.com/christoph-frick/springboot-groovy-vaadin-starter
If you enable urlMapping and resourceMapping in the configuration you can see that both will work. https://github.com/christoph-frick/springboot-groovy-vaadin-starter/blob/master/src/main/resources/application.yaml#L13
Note that example uses Vaadin 8 and when you switch to Vaadin 7 application compiles but fails on runtime.
java.lang.NoSuchMethodError: com.vaadin.server.VaadinServletService.addSessionInitListener(Lcom/vaadin/server/SessionInitListener;)Lcom/vaadin/shared/Registration;
at com.vaadin.spring.server.SpringVaadinServlet.servletInitialized(SpringVaadinServlet.java:75)
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:234)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:795)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2017-07-21 11:24:06.236 ERROR 96693 --- [0.1-8080-exec-1] o.a.c.c.C.[.[.[/].[springVaadinServlet] : Allocate exception for servlet springVaadinServlet
java.lang.NoSuchMethodError: com.vaadin.server.VaadinServletService.addSessionInitListener(Lcom/vaadin/server/SessionInitListener;)Lcom/vaadin/shared/Registration;
at com.vaadin.spring.server.SpringVaadinServlet.servletInitialized(SpringVaadinServlet.java:75)
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:234)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:795)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
@endertunc The error you get there is realted to the wrong version of vaadin-spring. The repo also has a (now deprecated) vaadin-7 branch, which you should have more luck with.
Hi @endertunc,
have you been able to solve the servlet url mapping issue? Could you please specify what you have exactly added in application.yaml to solve the problem?
Kind regards
Sebastian
Hi @sspaenig, sorry, I could not find a solution. It was not a hard requirement so we decided to not do that.
For anyone stumbling upon this via google, here's an update:
With Spring Boot 2.0.1.RELEASE, Vaadin 8.3.3 and Vaadin Spring extensions 2.0.0.RELEASE, the context path mapping seems to work with the following configuration:
vaadin.servlet.urlMapping = /app
vaadin.servlet.resources = /app
When watching the browser's requests, everything seems to go to /app/*
resources as expected.
Hi all, Related: https://vaadin.com/forum#!/thread/13846398
I want to map Vaadin7 + Spring Boot application to /app as discussed in the Vaadin from.
I read the following comment (https://github.com/vaadin/spring/blob/master/vaadin-spring-boot/src/main/java/com/vaadin/spring/boot/internal/VaadinServletConfigurationProperties.java#L69) and I thought that it should do the trick. So, I added
vaadin.servlet.urlMapping = /app/*
toapplication.properties
and It did map the application to/app
but did not map/VAADIN/*
toapp/VAADIN/*
. Does it mean it does not work cause it says it should also map/VAADIN/*
to the same servlet?Then, I added
vaadin.servlet.resources = /app
toapplication.properties
and it start to get 404 not found for path/app/VAADIN/....
. Only one thing added to the console output:After that, I tried to put
/VAADIN/*
folder manually toapp/VAADIN/*
in the jar but it did not work as well.I use vaadin-spring version 1.2.0. Tried to update 2.0.0. but gives me strange exception so I gave up. [Edit: Please refer to the error in the second comment for the error.]
This is the build.gradle that I have:
Best regards. Ender