日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Java Web

 Mis林桑 2017-05-08

一、實現(xiàn)Servlet接口

通過實現(xiàn)Servlet接口來了解Servlet的生命周期

(1)以規(guī)范的形式創(chuàng)建一個web應(yīng)用(即在webapps目錄下創(chuàng)建一個web應(yīng)用)

創(chuàng)建web應(yīng)用

\

(2)classes目錄下創(chuàng)建一個.java(該java文件為實現(xiàn)Servlet接口)

創(chuàng)建文件夾MyFirstServlet.java

代碼如下:

package com.focus;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

public class MyFirstServlet implements Servlet

{

//Servlet引擎會在Servlet實例化之后,置入服務(wù)之前精確地調(diào)用init方法。(初始化servlet,把servlet裝載到內(nèi)存中)

//該函數(shù)只會被調(diào)用一次

public void init(ServletConfig config) throws ServletException{

}

//Servlet引擎調(diào)用這個方法以允許Servlet響應(yīng)請求。這個方法在Servlet未成功初始化之前無法調(diào)用。(業(yè)務(wù)邏輯代碼都將寫在這個函數(shù)中)

//在被卸載后,還沒初始化時,service不被調(diào)用,其余可重復(fù)調(diào)用

public void service(ServletRequest request, ServletResponse response)

throws ServletException, IOException{

System.out.println('Hello World!');

response.getWriter().println('Hello World!'+new java.util.Date());

}

//卸載servlet

public void destroy(){

}

//得到servlet的配置信息

public ServletConfig getServletConfig(){

return null;

}

//純文本的servlet信息

public String getServletInfo(){

return null;

}

}

編譯后出現(xiàn)錯誤,導(dǎo)入的程序包找不到。

\

PS:使用dos編譯時,該Java有包是 需要輸入的命令行格式為

Javac -d . name.java

(3)配置CLASSPATH 即指定到tomcat的lib目錄下的servlet-api.jar(其中有servlet-api.jar就是上面所引入的javax.servlet.*;javax.servlet.http.*;)。

在配置CLASSPATH時得指定到特定.jar

不能設(shè)置*.jar ,只能一個個寫,所以一般大的工程會配置一個啟動腳本,專門計算出所有的jar包,然后導(dǎo)入啟動環(huán)境中...

\

重啟cmd.exe,再重新編譯。即可

(4)配置與部署Servlet

MyFirstServlet

MyFirstServlet

com.focus.MyFirstServlet

MyFirstServlet

/My

(5)最后效果:

\


\

\

補充:當(dāng)Tomcat啟動的時候首先會啟動一個server.xml,當(dāng)servlet映射找不到對應(yīng)的,tomcat啟動直接就報錯。

二、配置與部署Servlet

由于客戶端是通過URL地址訪問web服務(wù)器中的資源,所以Servlet程序若想被外界訪問,必須把servlet程序映射到一個URL地址上。

//注冊名、自定義一個servlet的名字

MyFirstServlet

MyFirstServlet

//指定該servlet類放在哪個包中 形式 包/包/.../類(包名+類名)

com.focus.MyFirstServlet

//servlet的映射(對一個已經(jīng)注冊)

//自定義一個servlet的名字,但這個名字就代表當(dāng)瀏覽器輸入/My這個web資源的時候,該名字就映射到與之對應(yīng)的名字,找到該servlet所在的class

MyFirstServlet

//瀏覽器所輸入的Web資源名

/My

一個注冊好了的servlet可以被多次映射

如:

1

1

com.focus.MyFirstServlet

1

/My

1

/Servlet/My

1

/Servlet/My.html

即輸入的Web資源不管是/My或 /Servlet/My或/Servlet/My.html都可以訪問到com.focus.MyFirstServlet這個類

當(dāng)映射一個servlet時候,可以是多層,后綴名為html不一定就是html文件。

進行Servlet映射時,可使用通配符

有兩種格式:

第一種格式 *.擴展名 如:*.html *.abc

第二種格式 以“/“開頭 同時以”/*“結(jié)尾 如:/abc/* /*

例:1. /*

2. /abc

3. /abc/*

4. *.gogo

當(dāng)瀏覽器的URL的servlet名 輸入/abc時 匹配 2

當(dāng)瀏覽器的URL的servlet名 輸入/hellobaby時 匹配 1

當(dāng)瀏覽器的URL的servlet名 輸入/abc/hellobaby時 匹配 3

當(dāng)瀏覽器的URL的servlet名 輸入/hello.gogo時 匹配 1

匹配標(biāo)準(zhǔn):

(1)匹配度高的選擇映射那個

(2)*.擴展名 的優(yōu)先級最低

load-on-startup元素標(biāo)記

1

1

com.focus.MyFirstServlet

1

1)load-on-startup元素標(biāo)記容器是否在啟動的時候就加載這個servlet(實例化并調(diào)用其init()方法)。

2)它的值必須是一個整數(shù),表示servlet應(yīng)該被載入的順序

2)當(dāng)值為0或者大于0時,表示容器在應(yīng)用啟動時就加載并初始化這個servlet;

3)當(dāng)值小于0或者沒有指定時,則表示容器在該servlet被選擇時才會去加載。

4)正數(shù)的值越小,該servlet的優(yōu)先級越高,應(yīng)用啟動時就越先加載。

5)當(dāng)值相同時,容器就會自己選擇順序來加載。

所以,x,中x的取值1,2,3,4,5代表的是優(yōu)先級,而非啟動延遲時間。

補充:怎樣更好的管理tomcat中的web應(yīng)用,即進入tomcat Manager

\

Reload:即重載的意思,重新裝載該web應(yīng)用。

Stop:停止該web應(yīng)用

好處:單獨對某個web應(yīng)用做相應(yīng)的處理,不用對整個服務(wù)器進行操作

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多