在 web.xml 内为 SpringVaadinServlet 指定 UI class

Specifying UI class for SpringVaadinServlet inside web.xml

我有一个 Vaadin 应用程序,它使用 ru.xpoft.vaadin.SpringVaadinServlet 作为它的单个 servlet。现在我正在尝试将 servlet class 更改为 com.vaadin.spring.server.SpringVaadinServlet

但我不知道如何在 web.xml 中为 com.vaadin.spring.server.SpringVaadinServlet 指定 UI class。我知道可以在没有 web.xml(使用 @WebServlet@VaadinServletConfiguration 注释的情况下指定 servlet 和 UI class。但我仍然需要使用 web.xml 配置 servlet。

请帮忙。

您可以在 web.xml(来自 Vaadin 7 文档)中像这样加速 servlet 和 UI:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
  id="WebApp_ID" version="2.4"
  xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>
        com.vaadin.server.VaadinServlet
    </servlet-class>

    <init-param>
      <param-name>UI</param-name>
      <param-value>com.ex.myprj.MyUI</param-value>
    </init-param>

    <!-- If not using the default widget set-->
    <init-param>
      <param-name>widgetset</param-name>
      <param-value>com.ex.myprj.AppWidgetSet</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

另请参阅 Vaadin docs 关于部署应用程序。