按照《Servlet和Jsp核心编程》中所说,安装了Tomcat的最新版本,也就是7.0,然后做了如下配置
1. 指定java_home变量为jdk安装目录。
2. 指定端口。修改install_dir/conf/server.xml,将Connector元素的port属性修改。
3. 启用servlet重新载入功能。如果不启用,对于那些已载入到服务器内在的servlet,每次重新编译之后都得重新启动服务器或重新载入Web应用。向Service元素中加入DefaultContent子元素。
<DefaultContext  reloadable=”true”/>
4. 启用ROOT上下文。默认情况下ROOT是禁用的。
<Context  path=” ”  docBase=”ROOT” debug=”0”/>
5. 开启servlet调用器。早期版本因为安全原因默认禁用了servlet调用器。
6. 增加DOS的内存限制。早期Windows版本需要修改DOS内存限制。
然后编译了HelloServlet.java,将得到的HelloSevlet.class放到C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF\Classes中,并将C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF\web.xml文件内容修改如下:
<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">    <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-pattern>/HelloServlet</servlet-pattern>
  </servlet-mapping>
</web-app>URL中输http://localhost/HelloServlet或http://localhost/servlet/HelloServlet均无法正常访问到HelloServlet.class。
Tomcat可正常运行.jsp和.html,默认端口号已经改为80。
现求助过程中有哪些错误,如何正常运行?
先行谢过回答问题的前辈与老师们。

解决方案 »

  1.   

    已经找到解决方案。
    http://www.pccode.net/info/2010/06/01/20100601-4173.html
    感谢回答问题的前辈与老师们。
      

  2.   

    为你的Servlet创建一个别名,或路径
     
    在web.xml中创建servlet和servlet-mapping元素
     
    在部署描述文件中的servlet-mapping元素中为Servlet创建一个别名,在web.xml文件中所有的servlet元素必须在所有的servlet-mapping元素的之前servlet-mapping元素根据servlet-name中的name值。比如:
     <servlet><servlet-name>myservlet</servlet-name></servlet>
     根据这个servlet注册的name,那么这个servlet-mapping元素提供name,URL pattern子元素,当一个web应用的使用者在浏览器中键入URL pattern值时就能访问到这个servlet类。
     
    Example 3-1. servlet and servlet-mapping elements
     <?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-application_2_3.dtd"
     >
     
    <web-app>
     <servlet>
     <servlet-name>CookieServlet</servlet-name>
     <servlet-class>com.dev.CookieServlet</servlet-class>
     </servlet>
     
    <servlet-mapping>
     <servlet-name>CookieServlet</servlet-name>
     <url-pattern>/cookieservlet</url-pattern>
     </servlet-mapping>
     </web-app>
     
    在这个范例中servlet元素中通过使用servlet-name元素注册一个name “CookieServlet”。
     
    这个class name 被servlet-class元素指定了这个servlet类实际的地址。也许是WEB-INF/classes/com/mydev/ 或者在jar文件包中的WEB-INF/lib中。"CookieServlet"成为这个servlet的注册名字
     
    现在创建servlet path 通过这个path web 应用程序的使用者将能够使用浏览器来访问这个servlet。这个别名的命名通过servlet-mapping元素来完成。servlet-name通过web.xml来区分注册的name并且通过url-pattern元素产生一个URL用来访问servlet.通过/cookiesservlet在上下文来区分servlet.
     
    这个市最普通的URL
     
    http://<host>:<port>/<context path>/<servlet-path>
     
    大多数的servlet容器允许使用默认的上下文,上下文的路径是/. 在这个情况下一般的URL形式是:
     
    http://<host>:<port>/<servlet-path>
     
    举个实例如果你使用Tomcat4.1x在你的本机上并且你创建了一个叫“myapp”的应用程序。它的servlet URL pattern是/myservlet。对于这个servlet整个的web地址就像如下:
     
    http://localhost:8080/myapp/myservlet.
     
    你也可以如下URL形式来访问一个servlet:
     
    http://host:port/context path/servlet/registered-servlet-name
     
    所以当一个注册了的servlet name是“MyServlet”则URL:
     
    http://localhost:8080/myapp/servlet/MyServlet.