[英]setting up a servlet on tomcat
我對Web開發非常陌生,並嘗試使用Java創建servlet。 我已經弄清楚了如何設置Apache Tomcat服務器。 現在,服務器具有以下文件結構:
tomcat6: -work -Catalina -localhost -_ -catalina.policy -webapps -ROOT -META-INF -index.html -shared -classes -server -classes -logs -localhost.2012-05-19.log -catalina.out -catalina.2012-05-19.log -conf -policy.d -lots of .policy files -catalina -localhost -ROOT.xml -web.xml -tomcat-useres.xml -server.xml -logging.pproperties -context.xml -pcatalina.properties -common -classes
我只是在NetBeans中編輯了一個由outo生成的servlet,在IDE中它可以正常工作,但是絕對不重要的是,我將其放在tomcat服務器上的位置,得到了404,或者它只是嘗試下載.class文件。
我應該在哪里上課才能使它起作用?
您必須構建一個WAR文件,然后將warfile放入webapps目錄。
您需要告訴tomcat您的Web應用程序具有servlet,哪些類實現了servlet,以及servlet映射到了哪些URL路徑。 這是在WEB-INF/web.xml
。
首先,您需要在web.xml
定義servlet:
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>com.foo.myapp.servlets.HelloWorld</servlet-class>
</servlet>
然后,您需要將servlet(通過其servlet-name
)映射到URL路徑,同樣在web.xml
:
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
假設您有tomcat監聽端口8080,如果您轉到
http://your.tomcat.host:8080/webappname/HelloWorld
您將點擊servlet。
注意, HelloWorldServlet
是任意文本。 它可以是任何東西,並且不必與類名或URL路徑相關(盡管使它們與它們相似非常有用)。 重要的是,您在servlet
標簽和servlet-mapping
標簽中的servlet-name
標簽中使用了相同的字符串。
要編寫Servlet,您需要實現Servlet
接口。 但是,您很少直接這樣做。 相反,您(最通常)擴展HttpServlet
並覆蓋一個或多個doXXX()
方法。 如果您不編寫基於HTTP的servlet,則可以擴展GenericServlet
並覆蓋service()
方法。 Servlet API之外的其他庫可能會提供您可以擴展的其他特定於協議的servlet基類。
如果您是在沒有任何IDE的情況下手動進行操作,則這就是結構
Apache Tomcat folder --> wep-app folder --> your_web_app_name --> WEB-INF,.html,.jsp
|
|--> classes
|
|--> lib
|
|--> web.xml (Description Descriptor)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.