บทความนี้แนะนำวัตถุ Java ในตัวเก้ารายการสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1. คำขอวัตถุ <br /> วัตถุนี้สรุปข้อมูลที่ส่งโดยผู้ใช้ โดยการเรียกใช้วิธีการที่สอดคล้องกันของวัตถุสามารถรับข้อมูลที่ห่อหุ้มได้นั่นคือข้อมูลที่ส่งโดยผู้ใช้สามารถรับได้โดยใช้วัตถุ
เมื่อวัตถุคำขอได้รับอักขระจีนที่ส่งโดยลูกค้าปัญหารหัสที่อ่านไม่ออกจะเกิดขึ้นและจะต้องดำเนินการรักษาพิเศษ ขั้นแรกให้เข้ารหัสสตริงที่ได้รับด้วย ISO-8859-1 และจัดเก็บรหัสในอาร์เรย์ไบต์จากนั้นแปลงอาร์เรย์เป็นวัตถุสตริง ดังนี้:
String textContent = request.getParameter ("boy"); byte b [] = textContent.getBytes ("ISO-8859-1"); textContent = สตริงใหม่ (b);วิธีการทั่วไปสำหรับการร้องขอ:
1.01 GetParameter (String stressHname) รับข้อมูลสำหรับการส่งแบบฟอร์ม String strName = request.getParameter ("ชื่อ"); 1.02 getProtocol () ได้รับโปรโตคอลที่ลูกค้าใช้ String strprotocol = request.getProtocol (); 1.03 GetServletPath () รับหน้าเว็บที่ลูกค้าส่งข้อมูล String strServlet = request.getServletPath (); 1.04 getMethod () รับวิธีการส่งข้อมูลโดยลูกค้ารับ | โพสต์ string strmethod = request.getMethod (); 1.05 Getheade () ได้รับค่าของการยอมรับยอมรับการเข้ารหัสและโฮสต์ในไฟล์ส่วนหัว HTTP string strheader = request.getheader ("ยอมรับ"); 1.06 GetRermoteaddr () ได้รับที่อยู่ IP ของไคลเอนต์ string strip = request.getRemoteaddr (); 1.07 GetRemoteHost () ได้รับชื่อของลูกค้า String clientName = request.getRemoteHost (); 1.08 GetServerName () รับชื่อเซิร์ฟเวอร์ String servername = request.getServerName (); 1.09 GetServerport () รับหมายเลขพอร์ตของเซิร์ฟเวอร์ int serverport = request.getServerport (); 1.10 getParameterNames () รับชื่อของพารามิเตอร์ทั้งหมดที่ส่งโดยไคลเอนต์ การแจงนับ enum = request.getParameterNames (); ในขณะที่ (enum.hasmoreElements ()) {string s = (string) enum.nextelement (); out.println (s);} 2. วัตถุตอบสนอง
ทำการตอบสนองแบบไดนามิกต่อคำขอของลูกค้าและส่งข้อมูลไปยังลูกค้า
2.1 การตอบสนองแบบไดนามิกต่อคุณสมบัติ ContentType
เมื่อผู้ใช้เข้าถึงหน้า JSP หากหน้าใช้คำสั่งหน้าเพื่อตั้งค่าคุณสมบัติ ContentType ของหน้าและข้อความ/HTML เอ็นจิ้น JSP จะตอบสนองตามค่าคุณสมบัตินี้ หากคุณต้องการเปลี่ยนค่าคุณสมบัตินี้แบบไดนามิกเพื่อตอบสนองต่อลูกค้าคุณจะต้องใช้วิธีการ setContentType (สตริง s) ของวัตถุตอบสนองเพื่อเปลี่ยนค่าคุณสมบัติของ ContentType
รูปแบบ: Response.SetContentType (String S);
พารามิเตอร์สามารถใช้เป็นข้อความ/html, แอปพลิเคชัน/x-msexcel, แอปพลิเคชัน/msword ฯลฯ
2.2 การตอบกลับเปลี่ยนเส้นทาง <br /> ในบางกรณีเมื่อตอบสนองต่อลูกค้าลูกค้าจะต้องเปลี่ยนเส้นทางไปยังหน้าอื่น วิธีการตอบกลับของ Sendretirect (URL) สามารถใช้เพื่อใช้การเปลี่ยนเส้นทางของลูกค้า ตัวอย่างเช่น:
Response.sendredirect ("index.jsp");
3. วัตถุเซสชัน
(1) วัตถุเซสชันคืออะไร
วัตถุเซสชันเป็นวัตถุ JSP ในตัวที่สร้างขึ้นโดยอัตโนมัติเมื่อโหลดหน้า JSP แรกเพื่อการจัดการเซสชันที่สมบูรณ์ เริ่มต้นจากไคลเอนต์ที่เปิดเบราว์เซอร์และเชื่อมต่อกับเซิร์ฟเวอร์ลงท้ายด้วยไคลเอนต์ปิดเบราว์เซอร์และออกจากเซิร์ฟเวอร์ซึ่งเรียกว่าเซสชัน เมื่อไคลเอนต์เข้าถึงเซิร์ฟเวอร์อาจสลับระหว่างหลายหน้าของเซิร์ฟเวอร์ เซิร์ฟเวอร์ควรรู้ว่านี่เป็นไคลเอนต์และต้องการวัตถุเซสชัน
(2) ID ของวัตถุเซสชัน
เมื่อไคลเอนต์เข้าถึงหน้า JSP บนเซิร์ฟเวอร์เป็นครั้งแรกเอ็นจิ้น JSP จะสร้างวัตถุเซสชันและกำหนดหมายเลข ID ประเภทสตริง เครื่องยนต์ JSP ยังส่งหมายเลข ID นี้ไปยังลูกค้าและเก็บไว้ในคุกกี้ ด้วยวิธีนี้วัตถุเซสชันจะไม่ถูกยกเลิกจนกว่าลูกค้าจะปิดเบราว์เซอร์และการติดต่อเซสชันกับลูกค้าจะหายไป เมื่อไคลเอนต์เปิดเบราว์เซอร์อีกครั้งและเชื่อมต่อกับเซิร์ฟเวอร์เซิร์ฟเวอร์จะสร้างวัตถุเซสชันใหม่สำหรับไคลเอนต์
(3) วิธีการทั่วไปของวัตถุเซสชัน
●สตริงสาธารณะ getId (): รับหมายเลขวัตถุเซสชัน
●โมฆะสาธารณะ setAttribute (คีย์สตริง, Object OBJ): เพิ่ม Object OBJ ที่ระบุโดยวัตถุพารามิเตอร์ไปยังวัตถุเซสชันและระบุคำหลักดัชนีสำหรับวัตถุที่เพิ่มเข้ามา
●วัตถุสาธารณะ getAttribute (คีย์สตริง): รับวัตถุที่มีคำหลักในวัตถุเซสชัน
●บูลีนสาธารณะ isNew (): กำหนดว่าเป็นลูกค้าใหม่หรือไม่
4. วัตถุแอปพลิเคชัน (1) เมื่อวัตถุแอปพลิเคชัน <br /> วัตถุแอปพลิเคชันถูกสร้างขึ้นหลังจากเซิร์ฟเวอร์เริ่มต้น เมื่อไคลเอนต์เรียกดูระหว่างหน้าต่างๆของเว็บไซต์ที่เข้าชมโดยไคลเอนต์วัตถุแอปพลิเคชันจะเหมือนกันจนกว่าเซิร์ฟเวอร์จะปิด อย่างไรก็ตามเมื่อแตกต่างจากวัตถุเซสชันวัตถุแอปพลิเคชันของลูกค้าทั้งหมดจะเหมือนกันนั่นคือลูกค้าทั้งหมดแบ่งปันวัตถุแอปพลิเคชันในตัวนี้
(2) วิธีการทั่วไปของวัตถุแอปพลิเคชัน
● setAttribute (คีย์สตริง Object OBJ): เพิ่ม Object OBJ ที่ระบุโดยวัตถุพารามิเตอร์ไปยังวัตถุแอปพลิเคชันและระบุคำหลักดัชนีสำหรับวัตถุที่เพิ่ม
● getAttribute (คีย์สตริง): รับวัตถุที่มีคำหลักในวัตถุแอปพลิเคชัน
5. OUT OFFING
สตรีมเอาท์พุทเมื่อใช้วัตถุออกเพื่อส่งออกข้อมูลไปยังไคลเอนต์ Out Object ใช้สำหรับเอาต์พุตของข้อมูลต่าง ๆ วิธีการที่ใช้กันทั่วไปมีดังนี้
● out.print (): เอาต์พุตข้อมูลประเภทต่างๆ
● out.newline (): เอาต์พุตอักขระใหม่
● out.close (): ปิดสตรีม
6. วัตถุคุกกี้
(1) คุกกี้คืออะไร
คุกกี้เป็นข้อความที่บันทึกโดยเว็บเซิร์ฟเวอร์บนฮาร์ดดิสก์ของผู้ใช้ คุกกี้อนุญาตให้เว็บไซต์บันทึกข้อมูลบนคอมพิวเตอร์ของผู้ใช้แล้วดึงข้อมูล
ตัวอย่างเช่นเว็บไซต์อาจสร้าง ID ที่ไม่ซ้ำกันสำหรับผู้เข้าชมแต่ละคนจากนั้นบันทึกไว้ในเครื่องของผู้ใช้แต่ละคนเป็นไฟล์คุกกี้
หากผู้ใช้ใช้เบราว์เซอร์ IE เพื่อเข้าถึงเว็บผู้ใช้จะเห็นคุกกี้ทั้งหมดที่บันทึกไว้ในฮาร์ดไดรฟ์ของเขาหรือเธอ สถานที่ที่พวกเขามักจะเก็บไว้คือ: C:/windows/คุกกี้ คุกกี้บันทึกระเบียนในรูปแบบของ "คีย์คีย์ = ค่า"
(2) สร้างวัตถุคุกกี้ <br /> สร้างวัตถุคุกกี้โดยเรียกตัวสร้างของวัตถุคุกกี้ ตัวสร้างของวัตถุคุกกี้มีพารามิเตอร์สตริงสองตัว: ชื่อคุกกี้และค่าคุกกี้
ตัวอย่างเช่น: คุกกี้ c = คุกกี้ใหม่ ("ชื่อผู้ใช้", "John");
(3) โอนวัตถุคุกกี้ไปยังลูกค้า
ใน JSP หากคุณต้องการถ่ายโอนวัตถุคุกกี้ที่ห่อหุ้มไปยังไคลเอนต์คุณสามารถใช้วิธี AddCookie () ของวัตถุตอบสนอง
ตัวอย่างเช่น: Response.addcookie (c)
(4) อ่านคุกกี้ที่บันทึกไว้ในลูกค้า
ใช้วิธี getCookie () ของวัตถุคำขอ เมื่อดำเนินการวัตถุคุกกี้ทั้งหมดที่ส่งจากลูกค้าจะถูกจัดเรียงในอาร์เรย์ หากคุณต้องการนำวัตถุคุกกี้ที่ตรงกับความต้องการคุณจะต้องวนซ้ำและเปรียบเทียบคำหลักของแต่ละวัตถุในอาร์เรย์
ตัวอย่างเช่น:
คุกกี้ [] c = request.getCookies (); if (c! = null) สำหรับ (int i = 0; i <c.length; i ++) {ถ้า ("ชื่อผู้ใช้" .Equals (c.getName ())) out.println (c.getValue ()); - (5) ตั้งค่าเวลาที่ถูกต้องของวัตถุคุกกี้
การเรียกวิธีการ setMaxage () ของวัตถุคุกกี้สามารถตั้งค่าเวลาที่ถูกต้องของวัตถุคุกกี้
ตัวอย่างเช่น: คุกกี้ c = คุกกี้ใหม่ ("ชื่อผู้ใช้", "John");
C.SetMaxage (3600);
(6) แอปพลิเคชันคุกกี้
วัตถุคุกกี้ใช้เพื่อนับจำนวนผู้เยี่ยมชมเว็บไซต์เมื่อเป็นแบบอย่างของแอปพลิเคชัน เนื่องจากการใช้เซิร์ฟเวอร์พร็อกซีแคช ฯลฯ วิธีเดียวที่จะช่วยให้เว็บไซต์นับจำนวนผู้เข้าชมได้อย่างแม่นยำคือการสร้าง ID ที่ไม่ซ้ำกันสำหรับผู้เข้าชมแต่ละคน การใช้คุกกี้เว็บไซต์สามารถทำงานได้
●กำหนดจำนวนผู้เข้าชม
●วัดจำนวนผู้เข้าชมเป็นผู้ใช้ใหม่ (เช่นการเยี่ยมชมครั้งแรก) และจำนวนผู้ใช้เก่า
●กำหนดความถี่ที่ผู้ใช้เข้าชมเว็บไซต์ เมื่อผู้ใช้เข้าชมครั้งแรกเว็บไซต์จะสร้าง ID ใหม่ในฐานข้อมูลและส่ง ID ไปยังผู้ใช้ผ่านคุกกี้ เมื่อผู้ใช้เข้าชมอีกครั้งเว็บไซต์จะเพิ่มตัวนับที่สอดคล้องกับรหัสผู้ใช้โดย 1 เพื่อรับจำนวนการเข้าชมจากผู้ใช้
7. วัตถุกำหนดค่า [ไม่ได้ใช้กันทั่วไป]
กำหนดค่าวัตถุหน้าวัตถุ
วัตถุ config ในตัวเป็นอินสแตนซ์ของคลาส servletconfig ซึ่งใช้โดยเอ็นจิ้น JSP เพื่อส่งผ่านข้อมูลไปยัง (servlet) ผ่านการกำหนดค่าเมื่อ servlet เริ่มต้น ข้อมูลนี้สามารถเป็นพารามิเตอร์ที่ตรงกับชื่อ/ค่าแอตทริบิวต์หรืออาจเป็นข้อมูลเกี่ยวกับเซิร์ฟเวอร์ที่ผ่านวัตถุ ServletContext โดยทั่วไปในการพัฒนา JSP จะใช้วัตถุที่ติดตั้งในตัวไม่ค่อยใช้และจะใช้เฉพาะเมื่อเขียน servlets หากคุณต้องการใช้วิธีการ overload () ของ servlet
วิธีการทั่วไปสำหรับวัตถุ config
getServletContext (): ส่งคืนวัตถุ ServletContext ที่มีข้อมูลที่เกี่ยวข้องกับเซิร์ฟเวอร์
GetIntParameter (ชื่อสตริง): ส่งคืนค่าของพารามิเตอร์การเริ่มต้น
getIntParameterNames (): ส่งคืนพารามิเตอร์ทั้งหมดที่จำเป็นสำหรับการเริ่มต้น servlet และประเภทการส่งคืนจะถูกระบุ
วัตถุ PageContext [ไม่ได้ใช้กันทั่วไป]
วัตถุในตัวของ PageContext เป็นวัตถุพิเศษซึ่งเทียบเท่ากับผู้รวมที่ใหญ่ที่สุดของฟังก์ชั่นวัตถุอื่น ๆ ทั้งหมดในหน้านั่นคือใช้เพื่อเข้าถึงวัตถุอื่น ๆ ทั้งหมดในหน้านี้เช่นการร้องขอการตอบสนองและหน้าเว็บที่อธิบายไว้ข้างต้นเนื่องจากวัตถุเช่นการร้องขอและการตอบสนองโดยตรงใน JSP
วิธีการทั่วไปของวัตถุ pageContext
getRequest (): ส่งคืนวัตถุคำขอในหน้าปัจจุบัน getResponse (): ส่งคืนวัตถุตอบสนองในหน้าปัจจุบัน getSession (): ส่งคืนวัตถุเซสชันในหน้าปัจจุบัน getServletContext (): ส่งคืนวัตถุแอปพลิเคชันในหน้าปัจจุบัน getPage (): ส่งคืนวัตถุหน้าในหน้าปัจจุบัน getOut (): ส่งคืนวัตถุออกในหน้าปัจจุบัน getException (): ส่งคืนวัตถุข้อยกเว้นในหน้าปัจจุบัน getServletConfig (): ส่งคืนวัตถุ config ในหน้าปัจจุบัน SetAttribute (ชื่อสตริง): ตั้งค่าแอตทริบิวต์สำหรับชื่อแอตทริบิวต์ที่ระบุ GetAttribute (String NAEM): ค้นหาค่าแอตทริบิวต์ที่เกี่ยวข้องตามชื่อแอตทริบิวต์ SetAttribute (ชื่อสตริง, Object OBJ, ขอบเขต int): ตั้งค่าแอตทริบิวต์ที่สอดคล้องกันภายในช่วงที่กำหนด GetAttribute (ชื่อสตริงขอบเขต int): รับค่าแอตทริบิวต์ที่สอดคล้องกันภายในช่วงที่กำหนด FindAttribute (ชื่อสตริง): ค้นหาแอตทริบิวต์และส่งคืนและหากไม่สามารถพบได้ให้ส่งคืนค่า null RemoveAttribute (ชื่อสตริง): ลบแอตทริบิวต์บางอย่างด้วยชื่อแอตทริบิวต์ RemoveAttribute (ชื่อสตริงขอบเขต int): ลบแอตทริบิวต์บางอย่างในช่วงที่ระบุ GetAttributeScope (ขอบเขตชื่อสตริง): ส่งคืนขอบเขตของแอตทริบิวต์ที่แน่นอน GetAttributeNamesinsCope (ขอบเขต int): ส่งคืนการแจงนับชื่อแอตทริบิวต์ทั้งหมดภายในช่วงที่ระบุ release (): ปล่อยข้อมูลทั้งหมดที่ครอบครองโดย PageContext ส่งต่อ (สตริงสัมพัทธ์ URLPATH): ใช้หน้าปัจจุบันเพื่อถ่ายทอดใหม่ไปยังหน้าอื่น รวม (สตริงสัมพัทธ์ urlpath): ใช้หน้าอื่นที่มีอยู่ในตำแหน่งปัจจุบัน
8. หน้าวัตถุ [ไม่ได้ใช้กันทั่วไป]
วัตถุหน้าค่อนข้างคล้ายกับตัวชี้นี้ในการเขียนโปรแกรม Java ซึ่งหมายถึงหน้า JSP ปัจจุบันเอง หน้าเป็นวัตถุของคลาส Java.lang.Object วัตถุหน้าไม่ได้ใช้บ่อยในระหว่างการพัฒนาจริง
วิธีการทั่วไปของวัตถุเพจ
getClass (): ส่งคืนคลาสของวัตถุในเวลานั้น
HashCode (): ส่งคืนรหัสแฮชของวัตถุในเวลานี้
TOSTRING (): แปลงคลาสวัตถุในเวลานี้เป็นสตริง
เท่ากับ (วัตถุ ob): เปรียบเทียบว่าวัตถุนี้เท่ากับวัตถุที่ระบุหรือไม่
คัดลอก (Object OB): คัดลอกวัตถุนี้ลงในวัตถุที่ระบุ
clone (): โคลนวัตถุนี้
9. วัตถุข้อยกเว้น
วัตถุข้อยกเว้นสามารถเข้าถึงได้โดยตรงในหน้าเว็บที่จัดการข้อยกเว้น
วัตถุบริบทของหน้า
JSP แนะนำคลาสที่มี pagecontext เล็กน้อยซึ่งสามารถเข้าถึงคุณสมบัติจำนวนมากของหน้าเว็บได้
คลาส pageContext มีวิธีการเช่น getRequest, getResponse, getOut, getSession ฯลฯ
ตัวแปร PageContext จัดเก็บค่าของวัตถุ PageContext ที่เกี่ยวข้องกับหน้าปัจจุบัน
ซ่อมแซม:
หากวิธีการจำเป็นต้องเข้าถึงวัตถุที่เกี่ยวข้องกับหน้าหลายหน้า
การผ่าน pageContext นั้นง่ายกว่าการผ่านการอ้างอิงอย่างอิสระของคำขอการตอบสนอง ฯลฯ (แม้ว่าทั้งสองวิธีจะบรรลุเป้าหมายเดียวกัน)
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์ต่อการศึกษาของทุกคน