title: java.lang.ClassCastException: cannot be cast to javax.servlet.Servlet
body: <p>I have try to run this program on Tomcat 7.0v server but getting a exception <strong>java.lang.ClassCastException: bean.Customer cannot be cast to javax.servlet.Servlet</strong> throw.</p>
  
  <hr>
  
  <p><strong>Bean class</strong></p>
  
  <pre><code> public class Customer {
  
  @Id
  private Integer id;
  @Column
  private String name;
  @Column
  private String address;
  @Column
  private String city;
  @Column
  private String postalcode;
  @Column
  private String country;
  
  public Customer() {}
  
  public Customer(Integer id, String name, String address, String city, String postalcode, String country) {
      this.id = id;
      this.name = name;
      this.address = address;
      this.city = city;
      this.postalcode = postalcode;
      this.country = country;
  }
  
  public Integer getId() {
      return id;
  }
  
  public void setId(Integer id) {
      this.id = id;
  }
  
  public String getName() {
      return name;
  }
  
  public void setName(String name) {
      this.name = name;
  }
  
  public String getAddress() {
      return address;
  }
  
  public void setAddress(String address) {
      this.address = address;
  }
  
  public String getCity() {
      return city;
  }
  
  public void setCity(String city) {
      this.city = city;
  }
  
  public String getPostalcode() {
      return postalcode;
  }
  
  public void setPostalcode(String postalcode) {
      this.postalcode = postalcode;
  }
  
  public String getCountry() {
      return country;
  }
  
  public void setCountry(String country) {
      this.country = country;
  }   
  </code></pre>
  
  <p>}</p>
  
  <p><strong>Servlet Code</strong></p>
  
  <pre><code>public void init(ServletConfig config) throws ServletException {
      factory = new Configuration().configure("resources/mysql.cfg.xml").buildSessionFactory();}
  
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
      PrintWriter out = response.getWriter();
  
      int first = Integer.parseInt(request.getParameter("fr"));
      int second = Integer.parseInt(request.getParameter("mr"));
  
      Session session = factory.openSession();
      Criteria criteria = session.createCriteria(Customer.class);
      List customers = criteria.list();
      Iterator it = customers.iterator();
  
      while (it.hasNext()) {
          Customer customer = (Customer)it.next();
          out.println(customer.getId());
          out.println(customer.getName());
          out.println(customer.getAddress());
          out.println(customer.getCountry());
          out.println(customer.getPostalcode());
          out.println("===============================");
      }
  
      session.close();
  
  }
  </code></pre>
  
  <hr>
  
  <p><strong>web.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app&gt;
      &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
      &lt;servlet&gt;
  &lt;servlet-name&gt;Customer&lt;/servlet-name&gt;
  &lt;servlet-class&gt;bean.Customer&lt;/servlet-class&gt;
  &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
  &lt;servlet-name&gt;Customer&lt;/servlet-name&gt;
  &lt;url-pattern&gt;/data&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;/web-app&gt;      
  </code></pre>
  
  <hr>
  
  <p><strong>Error</strong></p>
  
  <pre><code>java.lang.ClassCastException: bean.Customer cannot be cast to javax.servlet.Servlet
  at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1148)
  at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
  at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3988)
  at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:425)
  at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
  at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
  at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
  at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
  at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
  at java.lang.Thread.run(Thread.java:745)
  </code></pre>