本文介绍了使用VaadinServlet去除Vaadin 7中的web.xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm new to Java and Vaadin. A basic Vaadin project is using web.xml for all the mappings. If I want to use the @WebServlet annotation I need to create an inner class which somewhere inherits from 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

I know, I'm missing some overwritten methods in the inner class Servlet to get it working, but I don't know which. There are many examples in the internet for Vaadin 6.x where the inner class extends AbstractApplicationServlet.

感谢任何帮助。

推荐答案

这里是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及更新版本:

And for 7.1 and newer:

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) {
        ..
    }
}

这篇关于使用VaadinServlet去除Vaadin 7中的web.xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-11 10:32