我最近开始接触servlet,感觉配置web.xml有些不清楚的地方,还要向各位高手请教。我建立一个新的工程BBS,然后编写一个servlet测试类,类路径为BBS.Test,接着在web.xml中如下配置:
<servlet>
    <servlet-name>BBS.Test</servlet-name>
    <servlet-class>BBS.Test</servlet-class>
  </servlet>
  
   <servlet-mapping>
<servlet-name>BBS.Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
配置完后,我打开IE,写入:http://localhost:8080/BBS/Test,结果总是提示The requested resource (/BBS/DBConnection) is not available.我不太清楚哪里配置错了。

解决方案 »

  1.   

    1. Servlet容器在web.xml文件中寻找<url-pattern>属性为”.do”的<servlet-mapping>元素
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-maping>
    2. Servelet容器依据以上<servlet-mapping>元素的<servlet-name>属性“action”,在web.xml文件中寻找匹配的<servlet>元素:
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    </servlet>
    3. Servlet容器把容器把请求转发给以上<servlet>元素指定的ActionServlet,ActionServlet依据用户请求路径“/HelloWorld.do”,在Struts配置文件中检索path属性为“/HelloWorld”的<action>元素:
    <action path = “/HelloWorld”
    Type = “hello.HelloAction”
    Name = “HelloForm”
    Scope = “request”
    Validate = “true”
    Input = “/hello.jsp”
    >
    <forward name = “SayHello” path = “hello.jsp”/>
    </action>
    4. ActionServlet根据<action>元素的name属性,创建一个HelloForm对象,把客户提交的表单数据传给HelloForm对象,再把HelloForm对象保存在<action>元素的scope属性指定的request范围内。
    5.由于<action>元素的validate属性为true,ActionServlet调用HelloForm对象的validate()方法执行表单验证。
      

  2.   

    你的servlet是找到了的,配置没有问题,关键是servlet中获得连接的地方有问题
    The requested resource (/BBS/DBConnection) is not available
    你看看你的servlet程序。
      

  3.   

    不应该是servlet程序的问题吧
    我是按照书上的代码写的。package BBS;import javax.servlet.http.HttpServlet;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class Test extends HttpServlet 
    {
    public void init(ServletConfig config)throws ServletException
    {
    super.init();
    }

    public void destroy()
    {
    super.destroy();
    }

    public void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException
    {
    resp.setContentType("text/html");
    PrintWriter out=resp.getWriter();
    out.println("<html>");
    out.println("<body bgcolor=\"white\"");
    out.println("<head>");
    String title="Hello World";
    out.println("<title>"+title+"</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>"+title+"</h1>");
    out.println("</body>");
    out.println("</html>");
    out.close();

    }
    }
      

  4.   

    The requested resource (/BBS/DBConnection) is not available
    这句报错是找不到数据源,你看看你连接数据库的程序