從我知道如何Tomcat服務器的作品,是,如果你在你的web應用程序有一個Java servlet,每當服務器啓動的init()
方法被調用。調試init()方法在一個Java servlet
在這種情況下,我怎麼能調試init()
方法?把一個破發點顯然是不行的,而由於某種原因System.out.println
報表也不會產生我的服務器控制檯上的任何輸出。
我檢查了部署了正確的web應用程序(.war
),並且它在我的Tomcat服務器的webapps
文件夾中正確提取。
從我知道如何Tomcat服務器的作品,是,如果你在你的web應用程序有一個Java servlet,每當服務器啓動的init()
方法被調用。調試init()方法在一個Java servlet
在這種情況下,我怎麼能調試init()
方法?把一個破發點顯然是不行的,而由於某種原因System.out.println
報表也不會產生我的服務器控制檯上的任何輸出。
我檢查了部署了正確的web應用程序(.war
),並且它在我的Tomcat服務器的webapps
文件夾中正確提取。
在我看來你的部署描述符servlet聲明沒有大於0的load-on-startup
值。如果你省略了那個元素,Servlet
只會在容器認爲它應該處理請求時才被初始化。在此之前,不調用init
方法。
通過提供load-on-startup
值,像這樣
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>com.example.YourServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
你告訴容器來初始化Servlet
向右走,因此調用您的init
方法在啓動時,而不是在這個servlet的第一個請求到達。
這是不正確的,在init()方法是調用時服務器startsup。 它被稱爲僅一次,它是第一次調用到Servlet了相同init()方法屬於期間調用。
至於有一個的init()每個的Serlvet時,init()進行相應的Servlet時調用首次在servlet調用。即在容器加載servlet並實例化之後,調用init()方法。
要麼,在啓動時
斷點和'的println ()'方法應該工作。你可以發佈一些代碼嗎? –
@Sotirios Delimanolis回答了這個問題。 – wrahool
我把你的語句表示爲即使在初始化servlet時,斷點在'init()'方法上也不起作用。是Sotirios的解決方案應該做的。 –