Java servlet后端開發(fā)超詳細教程
java后端介紹
今天我正式開始了一個新話題,那就是 Web。目前我主要會介紹后端。作為后端的老大哥 java,也有很多后端框架,比如大家耳熟能詳的 spring 等。今天來帶大家入門 servlet,不管是學生,剛畢業(yè)或是已經工作自學編程的人群都能看懂。
準備工作
目前我們使用的服務器是 Tomcat,大家可以先安裝 Tomcat,這一步網上有很多教程,我不再說了。然后還需要下載 idea,配置 Tomcat 和 jdk,這些網上都有,如果配置遇到問題可以私信我。
Servlet項目創(chuàng)建
大家先用idea 創(chuàng)建 web 項目,創(chuàng)建好后應是這樣。

現在在你的 src 目錄下創(chuàng)建一個package,并命名為 com.xxxx.servlet。

然后在這個包下面創(chuàng)建一個 java類,名叫 servlet(你也可以自己起名字)
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 的基本方法。
創(chuàng)建 java 類,并繼承自HttpServlet 類
因為我們后面還要重寫 HttpServlet 類中的方法,所以要繼承這個類。
public class servlet extends HttpServlet{
}重寫service方法
因為我們要處理請求,所以要重寫服務類來處理請求,否則處理不了請求。
@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.創(chuàng)建 web 項目,配置 Servlet 和 Tomcat
* 2.創(chuàng)建普通 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
你會看到

這就成功了
servlet的生命周期
類加載->實例化->服務->銷毀
類加載
類加載在服務器啟動時就執(zhí)行,一次一個生命周期只執(zhí)行一次。
實例化
開始生命周期時,服務器判斷有沒有實例化,如果沒有則實例化。
寫一個函數 init(),在實例化時執(zhí)行。
@Override
public void init() throws ServletException {
System.out.println("Servlet被創(chuàng)建");
}當實例化是,會在控制臺輸出文字。
服務
當收到請求就開始服務,一個生命周期執(zhí)行多次。
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet被調用");
}銷毀
一個生命周期執(zhí)行一次,在服務器停止時執(zhí)行,也就是你停止運行程序時。
@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{
/*
* 一個生命周期只執(zhí)行一次,服務器判斷是否存在,不存在則創(chuàng)建實例,自動調用
* */
@Override
public void init() throws ServletException {
System.out.println("Servlet被創(chuàng)建");
}
/*
* 服務方法,自動調用,當接收到請求就會調用該方法,可以被多次調用
* */
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet被調用");
}
/*
* 一個生命周期只執(zhí)行一次,服務器停止時運行該方法
* */
@Override
public void destroy() {
System.out.println("Servlet被銷毀");
}
}
到此這篇關于Java servlet后端開發(fā)超詳細教程的文章就介紹到這了,更多相關Java servlet內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何使用IntelliJ IDEA搭建MyBatis-Plus框架并連接MySQL數據庫
這篇文章主要介紹了如何使用IntelliJ IDEA搭建MyBatis-Plus框架并連接MySQL數據庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
Servlet和Spring?MVC的區(qū)別及使用說明
這篇文章詳細介紹了Servlet和SpringMVC的基本概念、工作原理、功能對比和應用場景,Servlet是JavaWeb開發(fā)的基礎,而SpringMVC是一個基于Servlet的高級框架,提供了更強大的功能和易用性,文章通過定義、原理和示例代碼,幫助讀者理解這兩個技術的區(qū)別與聯(lián)系2025-01-01

