java伺服器開發:6、寫第一個Servlet
宣告:本教程不收取任何費用,歡迎轉載,尊重作者勞動成果,不得用於商業用途,侵權必究!!!
文章目錄
一、什麼是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的工程,這個我沒有管它了,就沒有研究了,誰知道是什麼鬼歡迎留言!