web.xmlが空やねん・・・。
web.xmlには普通Servletのマッピング情報を書くんだよ。
例えばこんな感じ。(うろ覚えなので間違っているかも)

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <servlet>
  <servlet-name>TestServlet</servlet-name>
  <servlet-class>sample.test.TestServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>TestServlet</servlet-name>
  <url-pattern>/servlet/TestServlet</url-pattern>
 </servlet-mapping>
</web-app>

これで、WEB-INF/classesの下にあるsample.test.TestServletという名前のServletが
http://localhost:8080/xxxxx/servlet/TestServletで呼び出せるようになるはず。
(微妙にミスってたらごめん)

J2EEではアプリケーション単位でxmlファイルに構成情報を記述して、自己完結性の高い
パッケージ配布方式を実現しようとしているから、web.xmlはしっかり勉強しておいたほうがいいよ。
だっていちいちWebアプリをインストールする度にserver.xmlみたいなミドルウエアの根幹に
手を入れるのは面倒くさいし危険でしょ?
ここら辺を抑えておくと、やがてEJBのような高度なものをやることになっても、
デプロイの仕組みがちゃーんと理解できるようになる。基本は一緒だから。