日期:2014-05-18  浏览次数:20954 次

关于servlet的路径问题(如何配置web.xml)
我最近开始接触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. 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()方法执行表单验证。

------解决方案--------------------
你的servlet是找到了的,配置没有问题,关键是servlet中获得连接的地方有问题
The requested resource (/BBS/DBConnection) is not available
你看看你的servlet程序。
------解决方案--------------------
The requested resource (/BBS/DBConnection) is not available
这句报错是找不到数据源,你看看你连接数据库的程序