Tomcat中遇到的问题

在开始JSP和Servlet的 开发之前,首先要保证Tomcat服务器已经可以应用部署JSP和Servlet,所以要对Tomcat服务器进行测试,在测试servlet的时候,问题出现了。

通过编译HelloServlet.java,将HelloServlet.class复制到Tomcat主目录/weapps/ROOT/WEB-INF/classes(一般要自己新建一个classes文件夹)下,在浏览器中输入http://127.0.0.1:8080/servlet/HelloSerlet,浏览器中未能出现预期的结果,浏览器显示:

HTTP Status 404 - /servlet/HelloServlet
----------------------------------
type Status report
message /servlet/HelloServlet1
description The requested resource (/servlet/HelloServlet1) is not available

我就开始查阅相关资料,在一本书上看到:

修改%TOMCAT_HOME%/conf/web.xml 找到

    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

将注释去掉 tomcat5.0.16还有这段注释去掉

    <servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
我就照着书上说的做了,删除了web.xml中的那些注释语句,重新打开浏览器,还是不能正确显示,问题依旧。
到网上搜了一下,发现有不少网友也遇到了这个问题,有的网友提供的解决办法与上面的一样,我又找了找,
在LeadBBS上看到一个叫muyufeng1976 的网友写的一篇文章:一个有关HelloServlet小问题
其中有这么一段话:
Tomcat 安裝完成後,已經有一些編譯好的 servlet 範例可以執行,
這些範例都在 "c:/Tomcat/webapps/examples/" 目錄以下,
但我們希望自己的程式佈署在獨立的目錄下,假設我們希望自己寫的 servlet 
都放在 myapp 目錄下,請按下列步驟進行佈署:

建立以下目錄結構:"c:/Tomcat/webapps/myapp/WEB-INF/classes/"。
請注意大小寫是有區別的。 
把之前編譯後產生的 HelloServlet.class 複製到
"c:/Tomcat/webapps/myapp/WEB-INF/classes/" 目錄下。 
開啟文字編輯器,將下列文字輸入(剪貼亦可)並存檔,檔名為
"c:/Tomcat/webapps/myapp/WEB-INF/web.xml"。

表 1
<?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>
          HelloServlet
      </servlet-name>
      <servlet-class>
          HelloServlet
      </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/HelloServlet</url-pattern>
    </servlet-mapping>
</web-app>
 

其中 <servlet-mapping> 標籤可以將網址和實際執行的 servle
 路徑做轉換對應,請特別注意 <url-pattern> 這個標籤的內容是 
"/HelloServlet",前面的斜線是必要的,這個標籤值代表使用者在瀏覽器
上輸入的網址的一部分,當使用者輸入的網址符合這個 URL 樣式時,
就會轉而呼叫你指定的 servelt,也就是 HelloServlet。
因為此 servlet 範例程式的根目錄是 "myapp",所以加上 
"/HelloServlet" 之後,瀏覽的網址就是 http://127.0.0.1:8080/myapp/HelloServlet
;;。這部分你可以參考 [1] 的 2.4 節的說明。 

開啟瀏覽器,在網址列輸入 URL http://127.0.0.1:8080/myapp/HelloServlet;;,
如果可以看到如圖 4 的畫面,就表示成功了。如果發生錯誤,請重頭檢查每一個步驟,看看哪裡出問題了,
例如:Tomcat 服務是否已經啟動了,環境變數是否設定正確,
大小寫是否都輸入正確....等。
我就照他说的方法做了,在"c:/Tomcat/webapps"下新建了一个myapp文件夹,
在myapp文件夹下又建了一个WEB-INF文件夹,又在WEB-INF文件夹下建立了
classes文件夹。其他的操作都按照这个网友的做下去,结果就ok了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值