บทช่วยสอน ตอบสนองของเซิร์ฟเวอร์ JSP ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ระดับ HttpServletResponse,ส่วนหัวของการตอบสนอง HTTP ตัวอย่างโปรแกรม,
การตอบสนองต่อการตอบสนองเป็นหลักผลมาจากการโพสต์ JSP ภาชนะที่จะส่งกลับไปยังลูกค้า คุณสามารถตั้งค่าการตอบสนอง HTTP โดยตัวแปรรัฐและส่งข้อมูลเช่นคุกกี้ข้อมูลส่วนหัวของ HTTP ไปยังลูกค้า
การตอบสนองโดยทั่วไปมีลักษณะเช่นนี้
HTTP/1.1 200 OK Content-Type: text/html Header2: th. th. HeaderN: th. (空行) <!doctype th.> <html> <head>th.</head> <body> th. </body> </html>
สถานะ: เส้นมีข้อมูลรุ่นของ HTTP ที่เช่น HTTP / 1.1, รหัสสถานะเช่น 200 มีข้อความสั้น ๆ ที่สอดคล้องกับรหัสสถานะเช่นตกลง
ตารางต่อไปนี้สรุปส่วนหัวของการตอบสนอง HTTP1.1 ส่วนที่มีประโยชน์มากที่สุดของเครือข่ายโปรแกรมที่คุณมักจะเห็นพวกเขา:
หัวข้อการตอบสนอง | ลักษณะ |
---|---|
อนุญาต | ระบุว่าเซิร์ฟเวอร์ที่สนับสนุนวิธีการร้องขอ (GET, POST ฯลฯ ) |
Cache-Control | ระบุเอกสารการตอบสนองสามารถแคชสถานการณ์ความปลอดภัย ค่าปกติจะเป็นภาครัฐภาคเอกชนหรือไม่มีแคชและอื่น ๆ ประชาชนหมายความว่าเอกสารที่สามารถเก็บไว้ส่วนตัวหมายความว่าเอกสารที่เป็นเพียงผู้ใช้บริการเพียงครั้งเดียวและใช้เฉพาะแคชส่วนตัว ไม่มีแคชหมายความว่าเอกสารจะไม่ถูกเก็บไว้ |
สัมพันธ์ | เบราว์เซอร์คำสั่งว่าจะใช้การเชื่อมต่อ HTTP ถาวร คำสั่งปิดค่าเบราว์เซอร์ไม่ได้ใช้การเชื่อมต่อ HTTP ถาวรและรักษาการหมายถึงการใช้การเชื่อมต่อแบบถาวร |
Disposition เนื้อหา | ให้เบราว์เซอร์ต้องใช้เพื่อตอบสนองต่อการให้ชื่อเก็บไว้บนดิสก์ |
เนื้อหาการเข้ารหัส | หน้ากฎการส่งผ่านการเข้ารหัสที่ระบุ |
เนื้อหาภาษา | เอกสารคำอธิบายภาษาถูกนำมาใช้เช่นในตัว, en-US ,, RU ฯลฯ |
ความยาวของเนื้อหา | มันแสดงให้เห็นจำนวนไบต์ของการตอบสนอง เฉพาะในเบราว์เซอร์ของคุณเพื่อใช้ประโยชน์ถาวรถ้า (รักษาการ) การเชื่อมต่อ HTTP |
ประเภทเนื้อหา | ชนิดไมม์ของเอกสารที่แสดงให้เห็นว่าการใช้งานของ |
วันที่หมดอายุ | เมื่อมีการระบุที่หมดอายุและลบออกจากแคช |
แก้ไขล่าสุด | ที่ระบุไว้ในเอกสารที่แก้ไขล่าสุด ลูกค้าสามารถแคชเอกสารและให้ส่วนหัวคำขอ If-Modified-เนื่องจากในการร้องขอต่อมา |
ที่ตั้ง | ในเวลา 300 วินาทีรวมทั้งมีรหัสสถานะในการตอบสนองไปยังที่อยู่ของเบราว์เซอร์จะเชื่อมต่อโดยอัตโนมัติแล้วดึงเอกสารใหม่ |
รีเฟรช | แสดงให้เห็นว่าบ่อยครั้งที่เบราว์เซอร์ขอปรับปรุงหน้าเว็บ |
ลองใหม่อีกครั้งหลังจากการ | และ 503 (บริการไม่พร้อมใช้งาน) ที่ใช้ร่วมกันเพื่อบอกผู้ใช้ว่าระยะเวลาที่ขอจะได้รับการตอบสนอง |
คุกกี้ชุด | คุกกี้สอดคล้องบ่งชี้หน้าปัจจุบัน |
การตอบสนองวัตถุ javax.servlet.http.HttpServletResponse เป็นตัวอย่างของการเรียน เช่นเดียวกับเซิร์ฟเวอร์สร้างวัตถุร้องขอก็จะสร้างการตอบสนองลูกค้า
การตอบสนองวัตถุกำหนดกระบวนการในการสร้างข้อมูลส่วนหัว HTTP อินเตอร์เฟซ โดยใช้วัตถุนี้นักพัฒนาสามารถเพิ่มคุกกี้ใหม่หรือการประทับเวลาเช่นเดียวกับรหัสสถานะ HTTP และอื่น ๆ
ตารางต่อไปนี้ใช้ในการตั้งหัววิธีการตอบสนองของ HTTP ที่ระบุไว้ตามชั้น HttpServletResponse นี้:
SN | วิธีการและคำอธิบาย |
---|---|
1 | สตริง encodeRedirectURL (String URL) ใน sendRedirect () วิธี URL ที่ใช้ในการเข้ารหัส |
2 | สตริง encodeURL (String URL) การเข้ารหัส URL URL ที่ผลตอบแทนที่มีรหัสเซสชัน |
3 | containsHeader บูลีน (ชื่อ String) ผลตอบแทนที่ส่วนหัวของการตอบสนองที่ระบุว่าถ้ามี |
4 | บูลีน isCommitted () ผลตอบแทนที่ได้ไม่ว่าจะเป็นคำตอบที่ถูกส่งไปยังลูกค้า |
5 | เป็นโมฆะ addCookie (คุกกี้ Cookie) เพิ่มคุกกี้ที่ระบุในการตอบสนอง |
6 | เป็นโมฆะ addDateHeader (ชื่อ String, วันยาว ) เพิ่มส่วนหัวของการตอบสนองและวันที่ที่ระบุชื่อ |
7 | เป็นโมฆะ AddHeader (ชื่อสตริงมูลค่า String ) เพิ่มส่วนหัวของการตอบสนองและค่านิยมชื่อที่ระบุ |
8 | เป็นโมฆะ addIntHeader (ชื่อสตริงมูลค่า int ) เพิ่มส่วนหัวของการตอบสนองและความคุ้มค่า int กับชื่อที่ระบุ |
9 | ถือเป็นโมฆะ flushBuffer () เนื้อหาใด ๆ ของแคชที่เขียนให้กับลูกค้า |
10 | เป็นโมฆะรีเซ็ต () ล้างแคชข้อมูลใด ๆ ใด ๆ รวมทั้งรหัสสถานะและส่วนหัวการตอบสนองต่างๆ |
11 | ถือเป็นโมฆะ resetBuffer () ล้างแคชข้อมูลพื้นฐานไม่รวมถึงส่วนหัวของการตอบสนองและรหัสสถานะ |
12 | ถือเป็นโมฆะ sendError (int SC) โดยใช้รหัสสถานะที่ระบุไว้ส่งให้กับลูกค้าการตอบสนองข้อผิดพลาดและจากนั้นล้างแคช |
13 | เป็นโมฆะ sendError (int SC, String MSG ) โดยใช้รหัสสถานะที่ระบุไว้และข้อผิดพลาดจะถูกส่งไปในการตอบสนองให้กับลูกค้า |
14 | ถือเป็นโมฆะ sendRedirect (ที่ตั้งของ String) โดยใช้ URL ที่ระบุที่ส่งไปยังลูกค้ามีการตอบสนองทางอ้อมชั่วคราว |
15 | เป็นโมฆะ setBufferSize (ขนาด int) กำหนดขนาดบัฟเฟอร์ของร่างกายตอบสนอง |
16 | เป็นโมฆะ setCharacterEncoding (String charset) ระบุการตั้งค่ารหัสการตอบสนอง (MIME ชุดตัวอักษร) เช่น UTF-8 |
17 | เป็นโมฆะ setContentLength (int len) ระบุ Servlets HTTP ในการตอบสนองต่อความยาวของเนื้อหาวิธีการที่ใช้ในการตั้งหัว HTTP ความยาวเนื้อหา |
18 | เป็นโมฆะ setContentType (ชนิด String) การตั้งค่าชนิดเนื้อหาของการตอบสนองถ้าการตอบสนองยังไม่ได้แสดงความคิดเห็นแล้ว |
19 | เป็นโมฆะ setDateHeader (ชื่อ String, วันยาว ) มีชื่อที่ระบุและการตั้งค่าของชื่อส่วนหัวของการตอบสนองและเนื้อหา |
20 | เป็นโมฆะ setHeader (ชื่อสตริงมูลค่า String ) มีชื่อที่ระบุและการตั้งค่าของชื่อส่วนหัวของการตอบสนองและเนื้อหา |
21 | เป็นโมฆะ setIntHeader (ชื่อสตริงมูลค่า int ) มีชื่อที่ระบุและการตั้งค่าของชื่อส่วนหัวของการตอบสนองและเนื้อหา |
22 | เป็นโมฆะ setlocale (Loc Locale) การตอบสนองต่อการตั้งค่าภาษาถ้าการตอบสนองยังไม่ได้แสดงความคิดเห็นแล้ว |
23 | เป็นโมฆะ SetStatus (int SC) ตั้งค่ารหัสสถานะการตอบสนอง |
ตัวอย่างต่อไปนี้ใช้ setIntHeader () วิธีการและ setRefreshHeader () วิธีการจำลองนาฬิกาดิจิตอล:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <h2>自动刷新实例</h2> <% // 设置每隔5秒自动刷新 response.setIntHeader("Refresh", 5); // 获取当前时间 Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+":"+ minute +":"+ second +" "+ am_pm; out.println("当前时间: " + CT + "\n"); %> </body> </html>
บันทึก main.jsp รหัสข้างต้นแล้วเข้าถึงได้ผ่านเบราว์เซอร์ มันจะแสดงทุกห้าวินาทีในเวลาปัจจุบัน
เราสามารถมองไปที่ Gif ชาร์ตนำเสนอต่อไปนี้:
นอกจากนี้คุณยังสามารถปรับเปลี่ยนโค้ดข้างต้นมันเองพยายามที่จะใช้วิธีการอื่น ๆ เราจะสามารถที่จะได้รับความเข้าใจที่ลึกซึ้ง