首頁 > Java > java教程 > 主體

Servlet 方法

王林
發布: 2024-08-30 16:23:42
原創
805 人瀏覽過

servlet 方法是 servlet 生命週期的重要組成部分,用於根據使用者需求建立、操作和維護 Web 應用程式。 Servlet 方法建立、初始化、處理和關閉 Web 應用程式的操作週期。 Servlet 方法是用於開發可操作應用程式和呼叫 Web 容器來操作 Servlet 生命週期的重要功能。 servlet 提供了多種方法來發送請求、從伺服器獲取回應以及根據需要進行操作。

廣告 該類別中的熱門課程 JAVA SERVLET - 專業化 | 18 門課程系列 | 6 次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

Servlet 方法概述

伺服器端元件(servlet)是建立伺服器端應用程式的強大工具。使用 Servlet 建立基於 Web 的應用程式是一種基於元件、獨立於平台的解決方案,沒有 CGI 程式的效能限制。 Web 開發人員可以使用 servlet 快速有效地建立伺服器端應用程序,並且這些應用程式可以在任何支援 servlet 的 Web 伺服器上運行。在Java虛擬計算機內部,Servlet可以運作。當 servlet 在伺服器上執行時,瀏覽器未進行相容性測試。

Servlet 可以存取 Java API 系列,包括用於企業資料庫存取的 JDBC API。 javax.servlet 和 javax.servlet.http 套件中的幾個 Java 類別使用 servlet HTTP 協定。此外,servlet 可以存取特定於 HTTP 的呼叫庫,並可以利用 Java 語言的所有成熟功能,例如可移植性、效能、重複使用和崩潰保護。

不同的 Servlet 方法

通用 servlet 在操作 servlet 生命週期中使用和操作以下五個方法:

1. Servlet init() 方法

servlet 容器在 servlet 操作中只呼叫一次 init() 方法。此 inits() 方法通知 servlet 已投入使用。

以下條件之一必須與 init 方法一起使用:;[p ‘mi;/.

  • ServletException 隨條件拋出。
  • 網路伺服器指定固定的時間限制。

文法:

public void init(ServletConfig configs) throws ServletException{
//initialize servlet object and parameters.
}
登入後複製

保存初始化函數和基本 Servlet 設定的 ServletConfig 物件傳遞給 init() 方法,如果發生錯誤,該方法將拋出 ServletException。

2. Servlet service() 方法

一旦 servlet 開始接收請求,servlet 容器就會呼叫 service() 方法,以便它可以做出反應。 Servlet容器也會將ServletResponse傳遞給資料庫和顯示頁面。

javax.servlet.ServletRequest 和 javax.servlet.ServletResponse 兩個物件幫助 servlet 處理客戶端請求。

文法:

public void service(ServletRequest requests, ServletResponse responses) throws ServletException{
//Pass servlet object and parameters.
}
登入後複製

3. Servlet getServletConfig() 方法

Servlet 容器建立一個名為 ServletConfig() 的 servlet 方法。它在物件生命週期的初始化期間提供給servlet。它包含一些初始參數或配置資料。建議在 web.xml 中保存 servlet 特定資訊。

文法:

public String getServletConfig(){
// Add servlet code.
}
登入後複製

4. Servlet getServletInfo() 方法

servlet 方法顯示或傳回來自容器的 servlet 資訊。此資訊可在 servlet 容器上進行操作。

文法:

public String getServletInfo(){
// Add servlet code.
}
登入後複製

5. Servlet destroy() 方法

servlet destroys 方法關閉 servlet 生命週期和連線。它在顯示所需的輸出後結束 servlet 功能。

文法:

public void destroy(){
// End servlet connections.
}
登入後複製

Servlet 方法範例

以下範例顯示 servlet 的不同方法及其依操作的輸出:

範例#1

Hello World servlet 方法範例及其輸出。

HelloOutput.java:

代碼:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.println("<h2>Hello World First Example using " +
"Servlet Methods.</h2>");
printout.close();
}
}
登入後複製

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
登入後複製
登入後複製
登入後複製

輸出:

Servlet 方法

範例#2

帶有 getServletInfo() 方法輸出的 servlet 方法範例。

HelloOutput.java:

代碼:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest requests, ServletResponse responses)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.println("<h2>Hello World First Example using " + getServletInfo() +
".</h2>");
printout.close();
}
}
登入後複製

web.xml:

代碼:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
登入後複製
登入後複製
登入後複製

輸出:

Servlet 方法

範例#3

帶有 html 元素及其輸出的 servlet 方法範例。

HelloOutput.java:

代碼:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest requests, ServletResponse responses)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.print("<html><body>");
printout.println("<h5> Simple servlet method example </h5>");
printout.println("<p> Simple servlet method example </p>");
printout.print("</body></html>");
}
}
登入後複製

web.xml:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
登入後複製
登入後複製
登入後複製

Output:

Servlet 方法

Conclusion

The servlet method plays an important role in web application functionality. It shows and defines about server and displays the output.

以上是Servlet 方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板