2011-05-12 40 views
2

我無法同時使用我的Vaadin應用程序和一些使用springmvc在同一個webapp中工作的jsps。最有前途的方法似乎是在做以下幾點:從同一個webapp服務Vaadin和JSP

<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> 

即不服務從Web應用程序根目錄下的Vaadin應用程序,但是這給了我以下錯誤:

java.lang.NullPointerException 
org.vaadin.artur.icepush.ICEPushServlet.service(ICEPushServlet.java:52) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

...這可能與我正在使用IcePush(我需要的依賴項)有關。

無論如何,如果有人可以分享他們的經驗,一起爲一些jsps和springmvc提供應用程序,我將不勝感激。

回答

1

我會推薦this線程從Vaadin論壇。結合討論的解決方案,以便您擁有:

<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微博portlet的示例。其他Vaadin portlet或icepush portlet可以使用它們自己的url模式。請參閱Spring集成教程,瞭解它如何與此鏈接。

+0

@ user592699請問,請問這些指導原則對您有幫助嗎?標記爲已接受的答案或以某種方式告訴社區其他答案已被等待。 – mico 2011-05-23 09:25:12

0

根據已經發生的異常,servlet的初始化失敗。

ICEPush加載項的配置方式可能存在一些問題。在你的配置中根本沒有提到關於servlet的內容。 Vaadin應用程序需要配置servlet類,ICEPush插件使用它的servlet類。看看http://vaadin.com/directory#addon/icepush的說明

然後你必須確保你的URL模式不會互相重疊。我認爲* .do和/ main /可能會做到這一點。

相關問題