从同一个webapp服务Vaadin和JSP

时间:2011-05-12 10:07:56

标签: jsp servlets spring-mvc vaadin

我无法使用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一起分享他们提供应用程序的经验,我将不胜感激。

2 个答案:

答案 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 /可能就是这样。