我使用Vaadin 7.4和Spring使用" spring4vaadin" - 项目。我正在使用Servlet API 3.0在Tomcat 7.0.29上部署应用程序。
我在Tomcat的Root-Context(" /")下部署应用程序,并且我使用@WebServlet-Annotation将App的实际上下文设置为" / ESB / *":
@WebServlet( value = "/esb/*" , asyncSupported = true )
public static class Servlet extends SpringVaadinServlet {
}
但每当我导航到App-URL" http://localhost:8080/esb/"我收到错误消息:"无法加载引导程序javascript ./../VAADIN/vaadinBootstrap.js?v=7.4.0"在Vaadin的浏览器弹出窗口中。
通过web.xml看起来像这样:
<web-app id="ESAB_Cutting_Prototyping" version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd"
metadata-complete="false">
</web-app>
如果我在我的Intellij IDE的Tomcat部署配置中设置上下文,它可以正常工作。
我不知道该怎么做 - 非常感谢任何帮助。
答案 0 :(得分:2)
好的 - 我解决了。
我的问题是,我只是这样做了:
@WebServlet( value = "/esb/*" , asyncSupported = true )
但为了使其发挥作用我必须这样做:
@WebServlet( urlPatterns = { "/esb/*" , "/VAADIN/*" } , asyncSupported = true )
所以servlet会听:
http://localhost:8080/esb/
以及随后的Vaadin框架请求:
http://localhost:8080/VAADIN/...
包括Bootstrap-Code和Widget本身。