我正在使用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
。但是,由于我使用的是servlet版本web.xml
,因此我没有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
。谢谢你的帮助!
答案 0 :(得分:0)
您是否尝试将您的vaadin servlet映射为/ *(而不是/)或为/ VAADIN / *
添加映射dispatcher.addMapping("/*");