servlet怎么連接本地服務器 用servlet如何獲取IP?
用servlet如何獲取IP?區(qū)域設置語言類型();//獲取用戶語言字符串localIp();//獲取本地ipint local port();//獲取本地端口字符串local nam:本地端口:遠程
用servlet如何獲取IP?
區(qū)域設置語言類型();//獲取用戶語言
字符串localIp();//獲取本地ip
int local port();//獲取本地端口
字符串local nam:本地端口:遠程端口);} public void doGet(http servlet request請求,HttpServletResponse響應)
引發(fā)ServletException,IOExc
如何用Java實現(xiàn)Web服務器?
WEB容器的工作原理
市面上常見的java web容器有兩個,一個是jetty,一個是tomcat。如果你想用java實現(xiàn)一個web容器,你首先要知道它是如何工作的。
以tomcat為例。我們平時開發(fā)的war包會放在tomcat中的webapp下,Tomcat會自動解壓war包。解壓后其實就是一個servlet應用!換句話說,我們寫的war包中的servlet應用只需要關注業(yè)務層面,http等網(wǎng)絡鏈接的處理交給tomcat。請求到達tomcat的流程如下:
servlet是單例還是多例?
默認情況下,Servlet容器通過單實例和多線程處理多個請求:
1.web服務器啟動時(或者客戶端向服務器發(fā)送請求時),加載并實例化Servlet(只有一個Servlet實例);
2.容器初始化Servlet主要讀取配置文件(比如tomcat,可以通過servlet.x訪問ml的LtConnectorgt設置線程池中的線程數(shù),通過web.xml初始化線程池,初始化各個參數(shù)值,等等。
3.當請求到達時,Servlet容器通過DispatchaerThread將它管理的線程池中的WorkerThread調(diào)度給請求者;
4.線程執(zhí)行Servlet的服務方法;
5.請求結束后,放回線程池等待被調(diào)用;(注意:避免使用實例變量(成員變量),因為如果有一個成員變量,可能會出現(xiàn)多個線程同時訪問資源時,都去操作它,造成數(shù)據(jù)不一致,從而造成線程安全問題。)