2006年01月29日
第一隻servlet程式
記一下小弟的第一隻servlet程式
1、先在tomcat的server.xml檔裏設定好的你的程式所在地,範列
意思是說,我建立了一個名字叫hi的context
然後目錄是/var/tomcat/ap/js
下面的設定就上官網查查就知了
2、然後在/var/tomcat/ap/js目錄裏要建立一些基本的東西
WEB-INF的目錄(他的下面再建二個次目錄)
===>classes
===>lib
在WEB-INF的目錄裏再建立一檔案,名字叫web.xml
範列內容如下
說明:
<servlet-name>hi</servlet-name> ===>可看你想取什名字
<servlet-class>blog.roodo.com.mywork.man.hi</servlet-class> ===>這是你的servlet的java程式
<servlet-name>hi</servlet-name> ===>你打算要幫誰取別名
<url-pattern>/hi</url-pattern> ====>別名叫什
所以我們可以利用這個方法,替我們的程式取很多的別名,
讓使用者以為有很多的登入處,但背後還是只有一隻程式在負責處理,
這在維護上會較方便
我的目錄範例
3、選用你一個上手的工具來寫程式了
hi.java的程式碼
重點是你要extends HttpServlet,然後在doGo或doPost裏處理事項
這個裏就是直接印出東西
再init()是第一個會跑的地方,所以這裏很適合做一些初始化的動作,
並且他只會跑一次,除非你重新戴入程式
4、我是使用jar檔的方法測試這個程試的
所以我把編譯好的jar檔放到這裏
5、重新起動tomcat,然後http://localhost/hi/hi ,應該就可看到了
| <Context path="/hi" docBase="/var/tomcat/ap/js" debug="9" privileged="true" crossContext="false" reloadable="true" trusted="false" > <Logger className="org.apache.catalina.logger.FileLogger" prefix="js.log." suffix=".txt" timestamp="true"/> </Context> |
然後目錄是/var/tomcat/ap/js
下面的設定就上官網查查就知了
2、然後在/var/tomcat/ap/js目錄裏要建立一些基本的東西
WEB-INF的目錄(他的下面再建二個次目錄)
===>classes
===>lib
在WEB-INF的目錄裏再建立一檔案,名字叫web.xml
範列內容如下
| <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>hi</servlet-name> <servlet-class>blog.roodo.com.mywork.man.hi</servlet-class> </servlet> <servlet-mapping> <servlet-name>hi</servlet-name> <url-pattern>/hi</url-pattern> </servlet-mapping> </web-app> |
<servlet-name>hi</servlet-name> ===>可看你想取什名字
<servlet-class>blog.roodo.com.mywork.man.hi</servlet-class> ===>這是你的servlet的java程式
<servlet-name>hi</servlet-name> ===>你打算要幫誰取別名
<url-pattern>/hi</url-pattern> ====>別名叫什
所以我們可以利用這個方法,替我們的程式取很多的別名,
讓使用者以為有很多的登入處,但背後還是只有一隻程式在負責處理,
這在維護上會較方便
我的目錄範例
| root@ubuntu:/var/tomcat/ap/js/WEB-INF# ls -al total 4 drwxr-xr-x 4 root root 120 Jan 28 16:49 . drwxr-xr-x 6 root root 264 Jan 29 00:49 .. drwxr-xr-x 2 root root 48 Jan 28 16:07 classes drwxr-xr-x 2 root root 72 Jan 29 00:49 lib -rw-r--r-- 1 root root 504 Jan 28 16:36 web.xml |
3、選用你一個上手的工具來寫程式了
hi.java的程式碼
| package blog.roodo.com.mywork.man; import javax.servlet.http.*; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class hi extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=UTF-8"; public void init() throws ServletException { System.out.println("in here1"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>test1</title></head>"); out.println("<body bgcolor=\"#ffffff\">"); out.println("<p>看到了</p>"); out.println("</body>"); out.println("</html>"); out.close(); } //Clean up resources public void destroy() { System.out.println("in here2"); } } |
這個裏就是直接印出東西
再init()是第一個會跑的地方,所以這裏很適合做一些初始化的動作,
並且他只會跑一次,除非你重新戴入程式
4、我是使用jar檔的方法測試這個程試的
所以我把編譯好的jar檔放到這裏
| root@ubuntu:/var/tomcat/ap/js/WEB-INF/lib# ls -al total 4 drwxr-xr-x 2 root root 72 Jan 29 00:49 . drwxr-xr-x 4 root root 120 Jan 28 16:49 .. -rw-r--r-- 1 root root 1318 Jan 29 00:49 js.jar |
5、重新起動tomcat,然後http://localhost/hi/hi ,應該就可看到了
引用URL
http://cgi.blog.roodo.com/trackback/1060535
引用列表:
『增加人氣』『部落格行銷』『賺廣告費』【EzBlogs部落格行銷系統】
at 2009年12月16日 01:48