2010-09-01 51 views
0

嘿,夥計們。新手到tomcat/apache,java返回這裏。如何在Tomcat 6.0之後替換ServletException?

我試圖運行一步一步的例子herehttp://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html)。

不幸的是,我不斷收到一個錯誤消息,說:「項目沒有構建,因爲它的構建路徑不完整,無法找到javax.servlet.http.HttpServletResponse的類文件,修復構建路徑然後嘗試構建項目。 「我仔細研究了一下,發現javax.servlet在tomcat的conf/web.xml文件中被默認註釋掉了,這是因爲人們現在應該避開使用servlet或其他東西。

我的問題,然後,分別是:

  1. 如何重寫這個以便它兼容,導致它的原則是什麼?
  2. (Bonus Question)一旦我在該tomcat文件conf/web.xml中進行了更改,我該如何使這些更改進入我的編輯器(在本例中爲Eclipse)?

謝謝!

回答

1

無法找到javax.servlet.http.HttpServletResponse的類文件。修復然後構建路徑嘗試建設項目。」

這編譯錯誤意味着包含了Servlet API的JAR文件中的編譯時classpath中缺少(構建路徑)。你需要包括Tomcat的servlet-api.jar在構建路徑按在build.xml文件中的註釋。

我看着它,並發現的javax.servlet默認情況下在的conf/web.xml文件中註釋掉Tomcat和,這是因爲人應該現在迴避使用servlets什麼的。

我不確定你在說什麼,但實際上在開始JSP/Servlet開發時實際上不應該觸及conf/web.xml。默認的應該沒問題。 Servlet API當然不會被阻止/棄用等等。它仍然是基於Java的Web應用程序最重要的核心構建基石。

這就是說,我不清楚你在問題標題中的含義:「如何在Tomcat 6.0之後替換ServletException」。你能否在你的問題中詳細說明這一點?

+0

對不起,我無法鏈接讓我覺得我需要替換它的網站;在問題中發佈超過1個鏈接之前,我需要10個代表。 我已經找到了這個鏈接http://faq.javaranch.com/view?InvokerServlet,同時試圖找出如何解決這個問題。 「削減到追逐」下的部分讓我覺得這是一種不好的做法,但現在我猜 - 由於你的洞察力 - Invoker Servlets是一種特殊類型,不會譴責其餘的。 顯式包含servlet-api.jar解決了構建問題。謝謝! – Danny 2010-09-02 02:15:29

+0

「InvokerServlet」與此完全無關。它是一個特定於Tomcat的特殊Servlet類,它使您能夠通過URL中的包/類名直接調用servlet,而無需將它們映射到webapp的'web.xml'中的特定'url-pattern'。後來這被認爲是一個巨大的安全漏洞,所以它在Tomcat 5.0(Oct 2002)之後被默認禁用,並且在Tomcat 7.0(2010年6月)中被刪除。順便說一句,我仍然不明白你的問題標題是如何與這一切相關的。 – BalusC 2010-09-02 02:29:13