<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天我正式開始了一個新話題,那就是 Web。目前我主要會介紹後端。作為後端的老大哥 java,也有很多後端框架,比如大家耳熟能詳的 spring 等。今天來帶大家入門 servlet,不管是學生,剛畢業或是已經工作自學程式設計的人群都能看懂。
目前我們使用的伺服器是 Tomcat,大家可以先安裝 Tomcat,這一步網上有很多教學,我不再說了。然後還需要下載 idea,設定 Tomcat 和 jdk,這些網上都有,如果設定遇到問題可以私信我。
大家先用idea 建立 web 專案,建立好後應是這樣。
現在在你的 src 目錄下建立一個package,並命名為 com.xxxx.servlet。
然後在這個包下面建立一個 java類,名叫 servlet(你也可以自己起名字)
package com.xxxx.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;
主要是匯入了 servlet 的基本方法。
建立 java 類,並繼承自HttpServlet 類
因為我們後面還要重寫 HttpServlet 類中的方法,所以要繼承這個類。
public class servlet extends HttpServlet{ }
因為我們要處理請求,所以要重寫服務類來處理請求,否則處理不了請求。
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { }
@WebServlet("/servlet01")
這行程式碼加在類前面,這樣我們就可以通過 /servlet01 路徑來存取。
這裡我們在控制檯(idea下面)和網頁(瀏覽器存取)裡分別列印一句話 "Hello Servlet!"
System.out.println("Hello Servlet"); //通過流輸出內容 resp.getWriter().write("Hello Servlet");
package com.xxxx.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /* * 實現 Servlet * 1.建立 web 專案,設定 Servlet 和 Tomcat * 2.建立普通 Java 類 * 3.繼承 HttpServlet 類 * 4.重寫 service 方法(處理請求,Ctrl+o,選擇倒數第二個鑰匙的) * 5.處理請求 * 6.設定註解,指定存取路徑 * 7.設定,見https://blog.csdn.net/Samzz33/article/details/116311106 * */ @WebServlet("/servlet01") public class servlet extends HttpServlet{ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // super.service(req, resp); //列印內容在控制檯 System.out.println("Hello Servlet"); //通過流輸出內容 resp.getWriter().write("Hello Servlet"); } }
點選 idea 右上角執行圖示
然後 idea 會開啟 http://localhost:8080/servlet_war_exploded/
但是你看不到任何內容,因為你沒有存取你剛才設定的路徑。
存取 http://localhost:8080/servlet_war_exploded/servlet01
你會看到
這就成功了
類載入->範例化->服務->銷燬
類載入在伺服器啟動時就執行,一次一個生命週期只執行一次。
開始生命週期時,伺服器判斷有沒有範例化,如果沒有則範例化。
寫一個函數 init(),在範例化時執行。
@Override public void init() throws ServletException { System.out.println("Servlet被建立"); }
當範例化是,會在控制檯輸出文字。
當收到請求就開始服務,一個生命週期執行多次。
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("Servlet被呼叫"); }
一個生命週期執行一次,在伺服器停止時執行,也就是你停止執行程式時。
@Override public void destroy() { System.out.println("Servlet被銷燬"); }
package com.xxxx.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /* * Servlet生命週期: 類載入->範例化->服務->銷燬 * */ @WebServlet("/servlet02") public class servlet02 extends HttpServlet{ /* * 一個生命週期只執行一次,伺服器判斷是否存在,不存在則建立範例,自動呼叫 * */ @Override public void init() throws ServletException { System.out.println("Servlet被建立"); } /* * 服務方法,自動呼叫,當接收到請求就會呼叫該方法,可以被多次呼叫 * */ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("Servlet被呼叫"); } /* * 一個生命週期只執行一次,伺服器停止時執行該方法 * */ @Override public void destroy() { System.out.println("Servlet被銷燬"); } }
到此這篇關於Java servlet後端開發超詳細教學的文章就介紹到這了,更多相關Java servlet內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45