/*FirstServlst.java*/
import javax.servlet.*;
import javax.servlet.http.*;public class FirstServlet extends HttpServlet {
  /** Handle the HTTP <code>GET</code> method.
   * @param request servlet request
   * @param response servlet response
   */
  protected void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, java.io.IOException {
    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    // output your page here
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("Hello, Java Servlets");
    out.println("</body>");
    out.println("</html>");
    out.close();
  }
}我Tomcat配置都通过了,用http://localhost:8080/web/打开(web是我建的虚拟目录,完整目录是D:\web),
而且在D:\web中已经建了一个WEB-INF文件夹,WEB-INF文件夹里面也建好了web.xml文件和classes文件夹,
classes文件夹里存放的是FirstServlet.java编译成的FirstServlet.class文件,
然而我用http://localhost:8080/web/FirstServlet打不开,WHY???如果我单独讲FirstServlet.class放在D:\web目录下,用http://localhost:8080/web/FisrtServlet打开,
也打不开,这又是WHY???

解决方案 »

  1.   

    Servlet需要在web.xml进行配置,调用的是配置后的uri,不是类名。例如:
      <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>com.servlet.LoginServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
      </servlet-mapping>用http://localhost:8080/web/login来执行com.servlet.LoginServlet.class
      

  2.   

    就是在地址栏里输入http://localhost:8080/web/FirstServlet,页面出现以下错误:
    HTTP Status 404 - /web/FirstServlet
    --------------------------------------------------------------------------------
    type:Status report
    message:/web/FirstServlet
    description The requested resource (/web/FirstServlet) is not available.具体怎么设置的上面有说明
      

  3.   

    com.servlet.LoginServlet是编译生成的.class的相对文件路径吗?
      

  4.   

    感觉你基础不好,最基本的servlet配置问题,还是看下书吧
    我提示下
    1、目录放对
    2、web.xml配置路径对
    3、访问路径对