无法使用 Spring + Web Servlet 3.0 加载 vaadinBootstrap.js
Faild to load vaadinBootstrap.js with Spring + WebServlet 3.0
我正在使用 Vaadin 7.7 和 SpringFramework 以及 Maven。
我上次做的代码可以,今天不行了。
错误信息是 Failed to load bootstrap javascript : ./VAADIN/vaadinBootstrap.js?v=7.7.0
.
我在网上搜索过,找到了这个。
Vaadin's vaadinBoootstrap.js
我说我需要 session-config
web.xml
。但是,我没有 web.xml
,因为我使用的是 servlet 版本 3.X
。所以我将此语句添加到我的 WebApplicationInitializer
。我的代码如下。
public class FarmInitializer implements WebApplicationInitializer {
static private Logger logger = LoggerFactory.getLogger(Logger.class);
@Override
public void onStartup(ServletContext arg0) throws ServletException {
System.out.println("=== Starts ===");
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(ServletConfig.class);
ctx.register(FileConfig.class);
ctx.register(DBConfig.class);
//Solution of vaadinBootstrap.js?
Set<SessionTrackingMode> sessionConfigSet = new HashSet<>();
sessionConfigSet.add(SessionTrackingMode.COOKIE);
arg0.setSessionTrackingModes(sessionConfigSet);
arg0.addListener(new ContextLoaderListener(ctx));
registerServlet(arg0);
System.out.println("=== Ends ===");
}
private void registerServlet(ServletContext ctx){
Dynamic dispatcher = ctx.addServlet("vaadin", SpringVaadinServlet.class);
dispatcher.addMapping("/");
dispatcher.setLoadOnStartup(0);
logger.info("=== DONE ===");
}
}
但是还是不行。这个问题有什么解决办法吗?
我的服务器是 Tomcat 7.X
。感谢您的帮助!
您是否尝试将 vaadin servlet 映射为 /*(而不是 /)或为 /VAADIN/* 添加映射
dispatcher.addMapping("/*");
我正在使用 Vaadin 7.7 和 SpringFramework 以及 Maven。
我上次做的代码可以,今天不行了。
错误信息是 Failed to load bootstrap javascript : ./VAADIN/vaadinBootstrap.js?v=7.7.0
.
我在网上搜索过,找到了这个。 Vaadin's vaadinBoootstrap.js
我说我需要 session-config
web.xml
。但是,我没有 web.xml
,因为我使用的是 servlet 版本 3.X
。所以我将此语句添加到我的 WebApplicationInitializer
。我的代码如下。
public class FarmInitializer implements WebApplicationInitializer {
static private Logger logger = LoggerFactory.getLogger(Logger.class);
@Override
public void onStartup(ServletContext arg0) throws ServletException {
System.out.println("=== Starts ===");
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(ServletConfig.class);
ctx.register(FileConfig.class);
ctx.register(DBConfig.class);
//Solution of vaadinBootstrap.js?
Set<SessionTrackingMode> sessionConfigSet = new HashSet<>();
sessionConfigSet.add(SessionTrackingMode.COOKIE);
arg0.setSessionTrackingModes(sessionConfigSet);
arg0.addListener(new ContextLoaderListener(ctx));
registerServlet(arg0);
System.out.println("=== Ends ===");
}
private void registerServlet(ServletContext ctx){
Dynamic dispatcher = ctx.addServlet("vaadin", SpringVaadinServlet.class);
dispatcher.addMapping("/");
dispatcher.setLoadOnStartup(0);
logger.info("=== DONE ===");
}
}
但是还是不行。这个问题有什么解决办法吗?
我的服务器是 Tomcat 7.X
。感谢您的帮助!
您是否尝试将 vaadin servlet 映射为 /*(而不是 /)或为 /VAADIN/* 添加映射
dispatcher.addMapping("/*");