2

我是 Java 和 Vaadin 的新手。一个基本的 Vaadin 项目web.xml用于所有映射。如果我想使用@WebServlet注释,我需要创建一个内部类,它在某处继承自HttpServlet.

@SuppressWarnings("serial")
public class VaadinplaygroundUI extends UI {

    @WebServlet(urlPatterns="/Helo")
    public static class Servlet extends VaadinServlet {

    }

    @Override
    protected void init(VaadinRequest request) {
        final VerticalLayout layout = new VerticalLayout();

我知道,我在内部类中缺少一些被覆盖的方法Servlet来让它工作,但我不知道是哪个。互联网上有很多 Vaadin 6.x 的示例,其中内部类扩展AbstractApplicationServlet

谢谢你的帮助。

4

1 回答 1

7

这是7.x:

public class MyUI extends UI {

    @WebServlet(value = "/*", asyncSupported = true, initParams = {
            @WebInitParam(name = "ui", value = "com.example.MyUI"),
            @WebInitParam(name = "productionMode", value = "false") })
    public static class Servlet extends VaadinServlet {
    }

    @Override
    protected void init(VaadinRequest request) {
        ..
    }
}

对于 7.1 及更高版本:

public class MyUI extends UI {

    @WebServlet(value = "/*", asyncSupported = true)
    @VaadinServletConfiguration(productionMode = false, ui = MyUI.class)
    public static class Servlet extends VaadinServlet {
    }

    @Override
    protected void init(VaadinRequest request) {
        ..
    }
}
于 2013-06-18T11:46:12.067 回答