Communication problem - don't know why

I am new to Vaadin and it is just a couple of days back I started experimenting with Vaadin. I am using Windows 7 + Eclipse IDE + Tomcat 7.0 server. I created a Vaadin project and I wrote my first class inside a package com.example.addressbook. When I ran it on the server, it worked fine. But when I created my second class (the address book application in the vaadin tutorial) in the same package, the first class started having communication problem and won’t run. But the second class worked fine. I then added a third class to the same package, both the first and second classes got communication problem and the third class worked fine.

I could not find any solution to the above problem in Google or StackOverflow. I hope that I could get some solutions here.

My web.xml file is below:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

<display-name>AddressBook</display-name>

<!-- <session-config> -->

<!-- <session-timeout>30</session-timeout> -->

<!-- </session-config> -->

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

<context-param>

<description>Vaadin production mode</description>

<param-name>productionMode</param-name>

<param-value>false</param-value>

</context-param>

<servlet>

<servlet-name>ThankU</servlet-name>

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

<init-param>

<description>Vaadin UI to display</description>

<param-name>UI</param-name>

<param-value>com.example.addressbook.ThankYouUI</param-value>

</init-param>

<async-supported>true</async-supported>

</servlet>

<servlet-mapping>

<servlet-name>ThankU</servlet-name>

<url-pattern>/thanku</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>VaadinAddress</servlet-name>

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

<init-param>

<description>Vaadin UI to display</description>

<param-name>UI</param-name>

<param-value>com.example.addressbook.AddressbookUI</param-value>

</init-param>

<async-supported>false</async-supported>

</servlet>

<servlet-mapping>

<servlet-name>VaadinAddress</servlet-name>

<url-pattern>/address</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>LoginForm</servlet-name>

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

<init-param>

<description>Vaadin UI to display</description>

<param-name>UI</param-name>

<param-value>com.example.addressbook.LoginUI</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>LoginForm</servlet-name>

<url-pattern>/*</url-pattern>

</servlet-mapping>

</web-app>

You do not need three Vaadin servlets, you need just one.

I don’t understand. I want to create three pages. How do I do it with a single Vaadin UI class?

There is no concept of a “Page” in Vaadin. All Vaadin applications are single page web applications.
For a Vaadin application to behave as a “Page-oriented” web application, you need to use the View-Navigation pattern.
Here is a link:
https://vaadin.com/book/-/page/advanced.navigator.html

Got it! Thanks.