Servlet基礎
1、什麼是Servlet
Servlet是在伺服器上執行的小程式(服務端的小程式)。一個Servlet就是一個Java類,並且可以通過“請求-響應”程式設計模型來訪問到這個駐留在伺服器記憶體裡的Servlet小程式。
Servlet採用了多執行緒的處理方式,而且Servlet還保留有Java的可移植性的特點,這樣使得Servlet更易使用,功能也更加強大。
Servlet帶給開發人員最大的好處是它可以處理客戶端傳來的HTTP請求,並返回一個響應。
2、Tomcat容器等級
Tomcat的容器分為四個等級,Servlet的容器管理Context容器,一個Context對應一個Web工程。
3、編寫一個Servlet類
- 繼承HttpServlet。
- 重寫doGet()或doPost()方法。
public class HelloServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;chanset=utf-8");
PrintWriter out = response.getWriter();
System.out.println("Get請求!!!");
out.println("<b>Hello World</b>");
}
}
- 在web.xml中註冊Servlet
<servlet>
<servlet-name>Input</servlet-name>
<servlet-class>com.meng.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Input</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>
- 請求頁面
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Servlet 測試</title>
</head>
<body>
<h1>Servlet 測試</h1>
<ul>
<li><a href="servlet/HelloServlet">Hello Servlet</a></li>
</ul>
</body>
</html>
4、Servlet生命週期
在下列時刻Servlet容器裝在Servlet
- Servlet容器啟動時自動裝載某些Servlet,實現它只需要在web.xml檔案中的<servlet></servlet>之間新增如下程式碼:
<loadon-startup>1</loadon-startup>,數字越小表示優先順序越高。 - 在Servlet容器啟動後,客戶首次向Servlet傳送請求。
- Servlet檔案更新後,重新裝在Servlet。
5、Servlet與九大內建物件
6、Servlet路徑跳轉
- 請求重定向方式跳轉
直接使用HttpServletResponse介面的sendRedirect()方法即可,此跳轉只能傳遞session範圍的屬性,而無法傳遞request範圍的屬性。
response.sendRedirect(request.getContextPath() + "/test.jsp");
- 伺服器內部跳轉(轉發)
request.getRequestDispatcher("/test.jsp").forward(request, response);
兩這的區別:
重定向:位址列會改變。
轉發:位址列地址不變。
7、獲取初始化引數
在web.xml中配置Servlet時,可以配置一些初始化引數,而在Servlet中可以通過ServletConfig介面提供的getInitParameter()方法來取得這些引數。
<servlet>
<init-param>
<param-name>username</param-name>
<param-value>xiaoli</param-value>
</init-param>
</servlet>
相關文章
- 【Java基礎】ServletJavaServlet
- Servlet超基礎PrintWriter ??Servlet
- Servlet基礎知識點整理Servlet
- Servlet基礎教程之呼叫流程Servlet
- JSP/Servlet基礎語法JSServlet
- java基礎學習:JavaWeb之ServletJavaWebServlet
- Servlet基礎教程之生命週期Servlet
- JavaWeb基礎總結:Servlet專題JavaWebServlet
- JSP規範、Servlet關係、基礎JSServlet
- javaweb關於jsp、servlet基礎筆記JavaWebJSServlet筆記
- Java Web基礎 --- Servlet 綜述(實踐篇)JavaWebServlet
- Java之JSP和Servlet基礎知識。JavaJSServlet
- JavaWeb—Servlet基礎(細節版,相當細節)JavaWebServlet
- JAVA基礎:JSP與Servlet的區別(轉)JavaJSServlet
- JavaWeb基礎(day15)( http + tomcat + servlet + 響應)JavaWebHTTPTomcatServlet
- java EE開發之Servlet第十一課:反射基礎三JavaServlet反射
- 基於servlet線上書店系統Servlet
- 基於servlet+原生dbc的登入案例(含servlet知識點梳理)Servlet
- 【FPGA基礎】Latch基礎FPGA
- Servlet技術---Servlet深化Servlet
- Java基礎-語法基礎Java
- Pandas 基礎 (2) - Dataframe 基礎
- 前端基礎之jQuery基礎前端jQuery
- [今日白學]元件的基礎的基礎的基礎元件
- Servlet系列:(一)servlet原理剖析Servlet
- Servlet技術----Servlet入門Servlet
- 【web前端基礎 | JS基礎】物件Web前端JS物件
- scala基礎語法-----Spark基礎Spark
- Java基礎-物件導向基礎Java物件
- 【基礎篇索引】索引基礎(四)索引
- 【基礎篇索引】索引基礎(三)索引
- 【基礎篇索引】索引基礎(二)索引
- 【基礎篇索引】索引基礎(一)索引
- python基礎中的基礎Python
- 7.2、使用基於 Servlet 3.0 的檔案上傳Servlet
- 基於servlet的檔案上傳和下載Servlet
- 基礎
- JavaScript 基礎卷(一):基礎語法JavaScript