我无法使用springmvc同时使用我的Vaadin应用程序和一些jsps在同一个webapp中工作。最有希望的方法似乎是做到以下几点:
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fluxtream</servlet-name>
<url-pattern>/main/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fluxtream</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
即。没有从webapp的根目录提供Vaadin应用程序,但这给了我以下错误:
java.lang.NullPointerException
org.vaadin.artur.icepush.ICEPushServlet.service(ICEPushServlet.java:52)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
...这可能与我使用IcePush(对我来说是必需的依赖)的事实有关。
无论如何,如果有人可以与jsps和springmvc一起分享他们提供应用程序的经验,我将不胜感激。
答案 0 :(得分:1)
我会从Vaadin论坛推荐this帖子。结合讨论的解决方案,以便:
<servlet>
<servlet-name>VaadinApplicationRunner</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationRunnerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>VaadinApplicationRunner</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Microblog</servlet-name>
<url-pattern>/MicroblogApplicationServlet/*</url-pattern>
</servlet-mapping>
这是icepush Microblog portlet的一个例子。其他Vaadin portlet或icepush portlet可以使用自己的url模式。请参阅Spring集成教程,以及它如何与此相关联。
答案 1 :(得分:0)
基于异常,servlet的初始化失败了。
如何配置ICEPush插件可能存在一些问题。在您的配置中,根本没有提到servlet。 Vaadin应用程序需要配置servlet类,ICEPush附加组件使用它的servlet类。请查看http://vaadin.com/directory#addon/icepush
上的说明然后,您必须确保您的网址格式不会相互重叠。我认为* .do和/ main /可能就是这样。