1. 程式人生 > >java伺服器開發:6、寫第一個Servlet

java伺服器開發:6、寫第一個Servlet

宣告:本教程不收取任何費用,歡迎轉載,尊重作者勞動成果,不得用於商業用途,侵權必究!!!

文章目錄

一、什麼是servlet?

1)擴充套件web伺服器功能

2)元件規範

二、如何開發一個servlet?

1)環境搭建

2)手動開發Servlet

3)MyEclipse工具開發Servlet

4)注意


一、什麼是servlet?

sun公司制訂的一種用來擴充套件web伺服器功能的元件規範。

1)擴充套件web伺服器功能

web伺服器(比如,apache ws, iis等等)只能夠處理靜態資源

(需要事先寫好html檔案,並且儲存到伺服器指定的資料夾)。

servlet可以擴充套件這些web伺服器的功能,即讓這些

web伺服器能夠處理動態資源(需要計算,生成相應的html)。

2)元件規範

a,什麼是元件?

符合一定規範,實現部分功能,需要部署到相應的

容器上才能執行的軟體模組。

b,容器是什麼?

符合一定規範,為元件提供執行環境的程式。

 

二、如何開發一個servlet?

1)環境搭建

---windows平臺

手把手教你10分鐘_搭建屬於自己的Android伺服器(一)環境安裝

---mac平臺

MyEclipse2017安裝:MyEclipse2017安裝以及破解的方法(Mac)

tomact安裝:Apache Tomact安裝和配置步驟詳解(Mac)

MyEclipse2017配置tomact:MyEclipse配置apache Tomact步驟詳解(Mac)

2)手動開發Servlet

注意:只提供步驟,不做詳細介紹了

step1,

寫一個java類,實現Servlet介面或者繼承

HttpServlet抽象類。

 

step2,編譯

 

step3,

打包(建立一個具有如下結構的資料夾)

appname

WEB-INF

classes(位元組碼檔案)

lib(可選,放.jar檔案)

web.xml(部署描述檔案)

注意:除了appname可以自己命名,其它都不能改。

 

step4,

部署

將step3生成的資料夾拷貝到容器特定的資料夾下面,

比如,tomcat對應的是webapps資料夾。

 

step5,

啟動容器tomact,訪問servlet。

http://ip:port/appname/servlet-url

 

3)MyEclipse工具開發Servlet

A、寫一個HelloServlet類

/**
* 一個簡單的Servlet
* @ClassName:HelloServlet
* @Package:寫第一個Servlet_
* @Description:(可以在這裡描述這個類的作用)
* @author:luminal、郵箱 [email protected]
* 步驟:
* 1、照著寫程式碼,體會、解釋執行過程
* 2、繼承HttpServlet、寫service方法【固定格式,先照著寫】
* 3、Servlet配置、訪問地址:在WebRoot/WEB-INF/web.xml檔案裡面
* 4、Servlet執行過程介紹【見:我的Doc文件】
*/
public class HelloServlet extends HttpServlet{
		protected void service(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException {
			//step1:輸出處理結果
			//通過response,設定一個訊息頭(content-type),
			//告訴瀏覽器,伺服器返回的資料型別
			response.setContentType("text/html");
			
			//step2:通過response(響應物件)獲得一個輸出流
			PrintWriter out = response.getWriter();
			
			//step3:將處理結果資料快取到response物件上
			//-->處理結果,打包傳送給瀏覽器
			//-->瀏覽器拆包,生成頁面【詳見Servlet執行過程介紹】
			out.println("Hello Servlet");
//			out.println("<div style='font-size:90px;font-style:italic;color:red;'>Hello Servlet</div>");
			
			//關閉流
			out.close();
			
		}
}

B、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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" id="WebApp_1545815979606">


		<servlet>
		<servlet-name>xxx</servlet-name>
		<!-- 包名裡面有漢字和下劃線,並不會報錯 -->
		<servlet-class>寫第一個Servlet_.HelloServlet</servlet-class>
		</servlet>
		<servlet-mapping>
		<servlet-name>xxx</servlet-name>
		<url-pattern>/hello</url-pattern>
		</servlet-mapping>
		
		
		<!--
			<servlet>
			<servlet-name>自定義名</servlet-name>
			<servlet-class>包名+類名</servlet-class>
			</servlet>
			<servlet-mapping>
			<servlet-name>自定義名</servlet-name>
			<url-pattern>/自定義名</url-pattern>
			</servlet-mapping>

//  訪問地址:
//  http://localhost:8080/專案名/ 【WebRoot\WEB-INF\web.xml裡面的<url-pattern>” 】對應的名字
//  http://localhost:8080/web01/hello
		-->
	
</web-app>







C、在列印控制檯找到Servers,啟動tomact容器,部署專案並執行

         

 

在本地瀏覽器輸入:http://localhost:8080/web01/hello

效果如下:

我的原始碼:https://download.csdn.net/download/yudbl/10879058

4)注意

myEclipse2017貌似會在工作目錄中自動生成一個Servers的工程,這個我沒有管它了,就沒有研究了,誰知道是什麼鬼歡迎留言!