<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-159  評(píng)論-114  文章-7  trackbacks-0

    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

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <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">
        

    </web-app>


    然后部署servlet,在WEB-INF文件夾中,建立一個(gè)classes的目錄,然后,將帶目錄結(jié)構(gòu)的.class文件放入該文件夾,然后修改web.xml

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <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>TimeServlet</servlet-name>
            
    <servlet-class>imshark.servlet.basic.TimeServlet</servlet-class>
        
    </servlet>
        
         
    <servlet-mapping>
            
    <servlet-name>TimeServlet</servlet-name>
            
    <url-pattern>/getTime.jsp</url-pattern>
        
    </servlet-mapping>

    </web-app>

    1.gif

    http://localhost:8080/imshark/getTime.jsp

    所以可看出getTime.jsp是一個(gè)虛擬的路徑地址,并不實(shí)際存在,完全有web.xml構(gòu)造的。

    以上就是最基本的Servlet的知識(shí)點(diǎn)。



    主站蜘蛛池模板: www.黄色免费网站| 亚洲成av人在线视| 日本免费v片一二三区| 亚洲精品A在线观看| 亚洲第一页在线观看| 一级一看免费完整版毛片| 2020久久精品国产免费| 亚洲人成网7777777国产| 亚洲国产AV一区二区三区四区| 99视频在线免费观看| 日日夜夜精品免费视频| 亚洲日韩精品国产3区| 18禁无遮挡无码国产免费网站| MM131亚洲国产美女久久| 亚洲无码一区二区三区| 精品无码人妻一区二区免费蜜桃| 亚洲精品综合久久| 中文精品人人永久免费| 亚洲视频在线观看网址| 国产午夜无码精品免费看动漫| 免费看片A级毛片免费看| 亚洲欧洲自拍拍偷综合| 妞干网手机免费视频| 亚洲一卡二卡三卡四卡无卡麻豆| 无码中文字幕av免费放dvd| 亚洲色婷婷综合久久| 日本免费在线中文字幕| 日韩亚洲人成在线综合日本| 精品国产污污免费网站| 亚洲免费视频观看| 国产a视频精品免费观看| 久久亚洲精品无码VA大香大香| 国产乱码免费卡1卡二卡3卡| 亚洲av成人一区二区三区在线播放| 免费H网站在线观看的| 亚洲综合激情九月婷婷| 国外成人免费高清激情视频| aa级女人大片喷水视频免费| 亚洲精品制服丝袜四区| 免费在线看黄的网站| 亚洲 欧洲 日韩 综合在线|