javax.servlet Interface Servlet是規(guī)范的接口,為了深入了解Servlet原理,要實(shí)際開發(fā)一個(gè)實(shí)現(xiàn)該接口的類,來作為第一個(gè)Servlet。public void init(ServletConfig config) throws ServletException這個(gè)方法,是由容器在實(shí)例化一個(gè)Servlet實(shí)例后,確切會(huì)調(diào)用該方法一次。通過判斷是否拋出異常來確認(rèn)Servlet是否被正確初始化。public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException這個(gè)方法,是我們實(shí)現(xiàn)業(yè)務(wù)邏輯的方法,req和res就是由Web服務(wù)器對(duì)于請(qǐng)求和相應(yīng)的有效封裝。沒有什么神秘的,java網(wǎng)絡(luò)編程中,ServerSocket的accept方法返回之后,會(huì)獲得相應(yīng)的一個(gè)Socket對(duì)象,通過該對(duì)象可以進(jìn)而獲得對(duì)應(yīng)客戶端的輸入流和輸出流。在對(duì)其進(jìn)行封裝就進(jìn)而到Request和Response對(duì)象。傳入service方法,req可以獲得請(qǐng)求的頭部信息,res.getWriter,獲得一個(gè)輸出,進(jìn)行輸出信息,作為真正響應(yīng)。public void destroy() This method is only called once all threads within the servlet's service method have exited or after a timeout period has passed.只有在service方法運(yùn)行完,或者一個(gè)timeout后,會(huì)被調(diào)用。After the servlet container calls this method, it will not call the service method again on this servlet.一旦調(diào)用它,就不會(huì)再提供服務(wù)。public ServletConfig getServletConfig()返回傳入init方法的那個(gè)ServletConfig,也就是服務(wù)器的ServletConfig。這個(gè)方法主要為了其他實(shí)例來使用ServletConfig實(shí)例。public java.lang.String getServletInfo()好比普通的toString()方法,返回注冊(cè)信息。編譯注意事項(xiàng):要在環(huán)境變量的classpath中將servlet-api.jar的路徑加上,這樣編譯才能通過。所以最好先準(zhǔn)備好tomcat服務(wù)器,以便利用它內(nèi)置的jar文件。D:\jakarta-tomcat-5.0.19\common\lib\servlet-api.jar======================================編譯好后,是一個(gè)帶包結(jié)構(gòu)的.class文件目錄層次。如何部署呢?很簡(jiǎn)單,在D:\jakarta-tomcat-5.0.19\webapps中建立一個(gè)自己的應(yīng)用文件夾,例如:imshark這時(shí)就可以將靜態(tài)網(wǎng)頁放入該文件夾了,然后要按照java web 應(yīng)用的規(guī)范,建立一個(gè)WEB-INF的文件夾,然后里面放置一個(gè)標(biāo)準(zhǔn)的web.xml文件,就可以訪問了。web.xml
service
然后部署servlet,在WEB-INF文件夾中,建立一個(gè)classes的目錄,然后,將帶目錄結(jié)構(gòu)的.class文件放入該文件夾,然后修改web.xml
http://localhost:8080/imshark/getTime.jsp所以可看出getTime.jsp是一個(gè)虛擬的路徑地址,并不實(shí)際存在,完全有web.xml構(gòu)造的。以上就是最基本的Servlet的知識(shí)點(diǎn)。