1. คำอธิบายของ ServletConfig
1.1. กำหนดค่าพารามิเตอร์การเริ่มต้น servlet
ในไฟล์กำหนดค่าของ servlet web.xml คุณสามารถใช้แท็ก <init-param> หนึ่งแท็กหนึ่งรายการขึ้นไปเพื่อกำหนดค่าพารามิเตอร์การเริ่มต้นบางอย่างสำหรับ servlet
ตัวอย่างเช่น:
<servlet> <servlet-name> servletconfigdemo1 </servlet-name> <servlet-lass> gacl.servlet.study.servletconfigdemo1 </servlet-class> <!-กำหนดค่าพารามิเตอร์การเริ่มต้นของ ServletConfigdemo1-> <param-value> GACL </param-value> </init-param> <init-param> <param-name> รหัสผ่าน </param-name> <param-value> 123 </param-value> </init-param> <int-param>
1.2. รับพารามิเตอร์การเริ่มต้นของ servlet ผ่าน servletConfig
เมื่อ servlet ได้กำหนดค่าพารามิเตอร์การเริ่มต้นเว็บคอนเทนเนอร์จะห่อหุ้มพารามิเตอร์การเริ่มต้นเหล่านี้ลงในวัตถุ ServletConfig โดยอัตโนมัติเมื่อสร้างวัตถุอินสแตนซ์ Servlet และส่งผ่านวัตถุ servletConfig ไปยัง servlet เมื่อเรียกเมธอด init ของ Servlet นอกจากนี้เราสามารถรับข้อมูลพารามิเตอร์การเริ่มต้นของ servlet ปัจจุบันผ่านวัตถุ servletconfig
ตัวอย่างเช่น:
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า java.util.enumeration; นำเข้า Javax.servlet.servletConfig; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; คลาสสาธารณะ servletconfigdemo1 ขยาย httpservlet { / *** define servletconfig วัตถุ /** * เมื่อ servlet กำหนดค่าพารามิเตอร์การเริ่มต้นเมื่อเว็บคอนเทนเนอร์สร้างวัตถุอินสแตนซ์เซิร์ฟเล็ต * จะห่อหุ้มพารามิเตอร์การเริ่มต้นเหล่านี้โดยอัตโนมัติลงในวัตถุ ServletConfig และเมื่อวิธีการเริ่มต้นของ Servlet เรียกว่า นอกจากนี้โปรแกรมเมอร์ยังสามารถรับข้อมูลพารามิเตอร์การเริ่มต้นของ Servlet ปัจจุบันผ่านวัตถุ ServletConfig */ @Override โมฆะสาธารณะ init (servletConfig config) พ่น servletexception {this.config = config; } โมฆะสาธารณะ doGet (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) โยน servletexception, ioexception {// รับพารามิเตอร์การเริ่มต้นพารามิเตอร์พารามิเตอร์ paramval ที่กำหนดค่าใน web.xml = this.config.getInitParameter ("ชื่อ"); Response.getWriter (). พิมพ์ ("<hr/>"); // รับพารามิเตอร์การเริ่มต้นทั้งหมดการแจงนับ <String> e = config.getInitParameterNames (); ในขณะที่ (e.hasmoreElements ()) {ชื่อสตริง = e.nextElement (); ค่าสตริง = config.getInitParameter (ชื่อ); Response.getWriter (). พิมพ์ (ชื่อ + "=" + value + "<br/>"); }} โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {this.doget (คำขอ, การตอบสนอง); -ผลการดำเนินการมีดังนี้:
2. วัตถุ ServletContext
เมื่อเว็บคอนเทนเนอร์เริ่มต้นขึ้นจะสร้างวัตถุ ServletContext ที่สอดคล้องกันสำหรับแต่ละเว็บแอปพลิเคชันซึ่งแสดงถึงเว็บแอปพลิเคชันปัจจุบัน
วัตถุ ServletConfig จะดูแลการอ้างอิงไปยังวัตถุ ServletContext เมื่อเขียน servlet นักพัฒนาสามารถรับเมธอด servletConfig.getServletContext ผ่านวิธี servletConfig.getServletContext
เนื่องจาก servlets ทั้งหมดในเว็บแอปพลิเคชันแบ่งปันวัตถุ ServletContext เดียวกันการสื่อสารระหว่างวัตถุ Servlet สามารถทำได้ผ่านวัตถุ ServletContext วัตถุ ServletContext มักจะเรียกว่าวัตถุโดเมนบริบท
3. แอปพลิเคชันของ ServletContext
3.1. Servlets หลายตัวรับรู้การแบ่งปันข้อมูลผ่านวัตถุ ServletContext
ตัวอย่าง: ServletContextDemo1 และ ServletContextDemo2 รับรู้การแบ่งปันข้อมูลผ่านวัตถุ ServletContext
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletContext; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; คลาสสาธารณะ servletcontextdemo1 ขยาย httpservlet {public void doget (httpservletrequest คำขอ "XDP_GACL"; /*** วัตถุ ServletConfig จะดูแลการอ้างอิงไปยังวัตถุ ServletContext เมื่อนักพัฒนาเขียน servlets * สามารถรับเมธอด servletConfig.getServletContext ผ่านวิธี servletConfig.getServletContext */servletContext context = this.getServletConfig (). getServletContext (); // รับ servletContext object context.setAttribute ("data", data); // บันทึกข้อมูลลงในวัตถุ servletContext} โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); - แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletContext; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; คลาสสาธารณะ servletContextDemo2 ขยาย httpservlet {void public doget this.getServletContext (); String data = (string) context.getAttribute ("data"); // ดึงข้อมูลจาก servletContext object response.getWriter (). พิมพ์ ("data ="+data); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -ก่อนอื่นเรียกใช้ servletContextDemo1 จัดเก็บข้อมูลลงในวัตถุ servletContext จากนั้นเรียกใช้ servletContextDemo2 เพื่อแยกข้อมูลจากวัตถุ servletContext เพื่อให้การแชร์ข้อมูลได้รับการรับรู้ดังแสดงในรูปด้านล่าง:
3.2. รับพารามิเตอร์การเริ่มต้นของเว็บแอปพลิเคชัน
ใช้แท็ก <บริบท-พาราม> ในไฟล์ web.xml เพื่อกำหนดค่าพารามิเตอร์การเริ่มต้นของเว็บแอปพลิเคชันดังนี้:
<? xml เวอร์ชัน = "1.0" การเข้ารหัส = "utf-8"?> <web-app version = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://ww.w3.org/200 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_3 กำหนดค่าพารามิเตอร์การเริ่มต้นของเว็บแอปพลิเคชัน-> <context-param> <param-name> url </param-name> <param-value> jdbc: mysql: // localhost: 3306/test </param-value> </context-param>
รับพารามิเตอร์การเริ่มต้นของเว็บแอปพลิเคชันรหัสมีดังนี้:
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletContext; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; คลาสสาธารณะ servletContextDemo3 ขยาย httpservlet {public void doget this.getServletContext (); // รับพารามิเตอร์การเริ่มต้นของ String เว็บไซต์ทั้งหมดบริบท ProntingInitParam = context.getInitParameter ("url"); Response.getWriter (). พิมพ์ (ContextInitParam); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, httpservletResponse การตอบสนอง) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -ผลการทำงาน:
3.3. ใช้ servletContext เพื่อใช้การส่งต่อคำขอ
ServletContextDemo4
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า Javax.servlet.requestDispatcher; นำเข้า Javax.servlet.servletContext; นำเข้า Javax.servlet.servlet.servlete javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletresponse; การตอบสนอง) โยน servletexception, ioexception {string data = "<h1> <font color = 'red'> abcdefghjkl </font> </h1>"; Response.getOutputStream (). เขียน (data.getBytes ()); servletContext context = this.getServletContext (); // รับ servletContext object object requestDispatcher RD = context.getRequestDispatcher ("/servlet/servletcontextdemo5"); // รับคำขอส่งต่อ การตอบสนอง httpServleSsesponse) พ่น servletexception, ioexception {}} ServletContextDemo5
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservletRequest; ServletContextDemo5 ขยาย httpservlet {โมฆะสาธารณะ doget (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {response.getOutputStream () เขียน ("servletdemo5" .getBytes ()); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {this.doget (คำขอ, การตอบสนอง); -ผลการทำงาน:
การเข้าถึงคือ ServletContextDemo4 แต่เบราว์เซอร์จะแสดงเนื้อหาของ ServletContextDemo5 นี่คือการใช้ servletContext เพื่อใช้การส่งต่อคำขอ
3.4. ใช้วัตถุ servletContext เพื่ออ่านไฟล์ทรัพยากร
โครงสร้างไดเรกทอรีโครงการมีดังนี้:
ตัวอย่างรหัส: ใช้ servletContext เพื่ออ่านไฟล์ทรัพยากร
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.fileinputstream; นำเข้า java.io.filenotfoundexception; นำเข้า java.io.ioException; นำเข้า java.io.Inputstream; นำเข้า java.Text.messageformat; javax.servlet.http.httpservlet; นำเข้า javax.servlet.http.httpservletrequest; นำเข้า javax.servlet.http.httpservletresponse;/** * ใช้ servletcontext เพื่ออ่านไฟล์ทรัพยากร * * @author DOGET (คำขอ httpservletRequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception { /*** response.setContentType ("text /html; charset = utf-8"); วัตถุประสงค์คือเพื่อควบคุมเบราว์เซอร์เพื่อถอดรหัสโดยใช้ UTF-8 * ด้วยวิธีนี้จะไม่มีรหัสภาษาจีนที่อ่านไม่ออก */ response.Setheader ("เนื้อหาประเภท", "ข้อความ/ html; charset = utf-8"); readsrcdirpropcfgfile (การตอบสนอง); // อ่านคุณสมบัติการกำหนดค่าไฟล์การตอบสนองของไฟล์. getWriter (). println ("<hr/>"); ReadWebRootDirPropCFGFILE (การตอบสนอง); // อ่านคุณสมบัติการกำหนดค่าไฟล์การตอบสนองของไฟล์. getWriter (). println ("<hr/>"); ReadWebRootDirPropCFGFILE (การตอบสนอง); // อ่านคุณสมบัติการกำหนดค่าไฟล์การตอบสนองของไฟล์. getWriter (). println ("<hr/>"); ReadPropcfgFile (การตอบสนอง); // อ่านไฟล์กำหนดค่า db3.properties ในแพ็คเกจ db.config ในไดเรกทอรี src response.getWriter () println ("<hr/>"); ReadPropcfgFile2 (การตอบสนอง); // อ่านไฟล์กำหนดค่า db4.properties ในแพ็คเกจ gacl.servlet.study ในไดเรกทอรี src}/** * อ่าน db4.properties configuration * @param @param ReadPropcfgFile2 (การตอบสนอง httpservletResponse) พ่น IOException {inputStream ใน = this.getServletContext (). getResourceasstream ("/web-inf/classes/gacl/servlet/study/db4.properties"); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); response.getWriter (). println ("อ่านไฟล์กำหนดค่า db4.properties ในแพ็คเกจ gacl.servlet.study ในไดเรกทอรี SRC:"); Response.getWriter (). println (messageFormat.format ("ไดรเวอร์ = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); } /** * อ่านไฟล์กำหนดค่า db3.properties ในแพ็คเกจ db.config ในไดเรกทอรี src * @param response * @throws filenotfoundexception * @throws ioexception * /โมฆะส่วนตัว readpropcfgfile this.getServletContext (). getRealPath ("/web-inf/classes/db/config/db3.properties"); inputStream ใน = ใหม่ fileInputStream (พา ธ ); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); Response.getWriter (). println ("อ่านไฟล์กำหนดค่า db3.properties ในแพ็คเกจ db.config ภายใต้ไดเรกทอรี SRC:"); Response.getWriter (). println (messageFormat.format ("ไดรเวอร์ = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); }/*** อ่านไฟล์การกำหนดค่าคุณสมบัติในไดเรกทอรี webroot ผ่านวัตถุ servletContext* @param response* @throws ioexception*/โมฆะส่วนตัว readwebRootDirPropcfgfile (httpservletResponse การตอบกลับ inputStream ใน = this.getServletContext (). getResourceasstream ("/db2.properties"); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); Response.getWriter (). println ("อ่านไฟล์กำหนดค่า db2.properties ในไดเรกทอรี webroot:"); Response.getWriter (). พิมพ์ (MessageFormat.format ("driver = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); } / *** อ่านไฟล์การกำหนดค่าคุณสมบัติในไดเรกทอรี SRC ผ่านวัตถุ ServletContext* @param Response* @throws ioexception* / โมฆะส่วนตัว ReadsrcDirPropcfgFile (httpServletResponse) การกำหนดค่า iOException { / *** this.getServletContext (). getResourceasstream ("/web-inf/classes/db1.properties"); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); Response.getWriter (). println ("อ่านไฟล์กำหนดค่า db1.properties ในไดเรกทอรี SRC:"); Response.getWriter (). println (messageFormat.format ("ไดรเวอร์ = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {this.doget (คำขอ, การตอบสนอง); -ผลการดำเนินการมีดังนี้:
ตัวอย่างโค้ด: อ่านไฟล์ทรัพยากรโดยใช้คลาสโหลดเดอร์
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.fileoutputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.io.OutputStream; นำเข้า Java.Text.MessageFormat; นำเข้า Java.util.properties; javax.servlet.http.httpservlet; นำเข้า javax.servlet.http.httpservletrequest นำเข้า Javax.servlet.http.httpservletResponse;/*** อ่านไฟล์ทรัพยากร * */คลาสสาธารณะ ServletContextDemo7 ขยาย httpservlet {โมฆะสาธารณะ doget (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) โยน servletexception, ioexception {/** * response.setContentType ("ข้อความ/html; วัตถุประสงค์คือเพื่อควบคุมเบราว์เซอร์เพื่อถอดรหัสด้วย UTF-8; * สิ่งนี้จะไม่ทำให้จีนอ่านไม่ออก */ response.Setheader ("ประเภทเนื้อหา", "ข้อความ/ html; charset = utf-8"); test1 (การตอบสนอง); Response.getWriter (). println ("<hr/>"); test2 (การตอบสนอง); Response.getWriter (). println ("<hr/>"); // test3 (); test4 (); } /** * อ่านไฟล์ทรัพยากรภายใต้ classpath * @param Response * @throws ioexception * /private void test1 (httpservletResponse response) พ่น IOException {// รับคลาสโหลดเดอร์ // ใช้คลาสโหลดเดอร์เพื่ออ่านไฟล์กำหนดค่า db1.properties ในไดเรกทอรี src inputstream ใน = loader.getResourceasstream ("db1.properties"); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); Response.getWriter (). println ("ใช้คลาสโหลดเดอร์เพื่ออ่านไฟล์กำหนดค่า db1.properties ในไดเรกทอรี SRC:"); Response.getWriter (). println (messageFormat.format ("ไดรเวอร์ = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); } /** * อ่านไฟล์ทรัพยากรด้านล่างพา ธ คลาสและแพ็คเกจ * @param Response * @throws ioexception * /private void test2 (การตอบกลับ httpservletResponse) พ่น ioexception {// รับคลาสโหลดเดอร์ // ใช้คลาสโหลดเดอร์เพื่ออ่านไฟล์กำหนดค่า db4.properties ในแพ็คเกจ gacl.servlet.study ในไดเรกทอรี src inputstream ใน = loader.getResourceasstream ("GACL/servlet/study/db4.properties"); คุณสมบัติ prop = คุณสมบัติใหม่ (); prop.load (in); String driver = prop.getProperty ("ไดรเวอร์"); string url = prop.getProperty ("url"); String username = prop.getProperty ("ชื่อผู้ใช้"); สตริงรหัสผ่าน = prop.getProperty ("รหัสผ่าน"); Response.getWriter (). println ("ใช้คลาสโหลดเดอร์เพื่ออ่านไฟล์กำหนดค่า db4.properties ในแพ็คเกจ gacl.servlet.study ในไดเรกทอรี SRC:"); Response.getWriter (). println (messageFormat.format ("ไดรเวอร์ = {0}, url = {1}, ชื่อผู้ใช้ = {2}, รหัสผ่าน = {3}", ไดรเวอร์, url, ชื่อผู้ใช้, รหัสผ่าน)); } / *** หมายเหตุเกี่ยวกับการอ่านไฟล์ทรัพยากรผ่านคลาสโหลดเดอร์: มันไม่เหมาะที่จะโหลดไฟล์ขนาดใหญ่มิฉะนั้นมันจะทำให้หน่วยความจำ JVM ล้น* / โมฆะสาธารณะ test3 () { / *** 01.avi เป็นไฟล์ที่มีมากกว่า 150 M. มันจะทำให้หน่วยความจำล้นเมื่ออ่านไฟล์ขนาดใหญ่นี้ ServletContextDemo7.class.getClassLoader (). getResourceasstream ("01.avi"); System.out.println (in); }/*** อ่าน 01.avi และคัดลอกไปยัง e:/รูทไดเรกทอรี* 01.avi ไฟล์มีขนาดใหญ่เกินไปคุณสามารถใช้ servletContext เพื่ออ่าน* @throws ioexception*/โมฆะสาธารณะ test4 () พ่น ioexception {// path = g:/java วิดีโอการเรียนรู้วิดีโอ/javaweb this.getServletContext (). getRealPath ("/web-inf/classes/01.avi"); /** * path.lastindexof ("//") + 1 เป็นวิธีที่ยอดเยี่ยมมากในการเขียน */สตริงชื่อไฟล์ = path.substring (path.lastindexof ("//") + 1); บัฟเฟอร์ไบต์ [] = ไบต์ใหม่ [1024]; int len = 0; outputStream out = new fileOutputStream ("E: //" + ชื่อไฟล์); ในขณะที่ ((len = in.read (บัฟเฟอร์))> 0) {out.write (บัฟเฟอร์, 0, len); } out.close (); in.close (); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {this.doget (คำขอ, การตอบสนอง); -ผลการดำเนินการมีดังนี้:
4. แคชเอาต์พุตของ servlet ที่ฝั่งไคลเอ็นต์
สำหรับข้อมูลที่ไม่เปลี่ยนแปลงบ่อยครั้งสามารถตั้งค่าเวลาแคชที่สมเหตุสมผลใน Servlet เพื่อหลีกเลี่ยงเบราว์เซอร์ที่ส่งคำขอไปยังเซิร์ฟเวอร์บ่อยครั้งและปรับปรุงประสิทธิภาพของเซิร์ฟเวอร์ ตัวอย่างเช่น:
แพ็คเกจ gacl.servlet.study; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.http.httpservlet; นำเข้า Javax.servlet.http.httpservletRequest; javax.servlet.http.httpservletResponse; คลาสสาธารณะ servletdemo5 ขยาย httpservlet {โมฆะสาธารณะ doget (httpservletrequest คำขอ, httpservletResponse) โยน servletexception, ioexception {string data = / *** ตั้งค่าเวลาแคชข้อมูลที่สมเหตุสมผลเพื่อหลีกเลี่ยงการร้องขอบ่อยครั้งจากเบราว์เซอร์เพื่อปรับปรุงประสิทธิภาพของเซิร์ฟเวอร์* นี่คือการตั้งค่าเวลาแคชข้อมูลเป็น 1 วัน*/ response.setDateHeader ("หมดอายุ", System.currentTimeMillis () + 24* 3600* 1000); Response.getOutputStream (). เขียน (data.getBytes ()); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {this.doget (คำขอ, การตอบสนอง); -ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้และฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการควบคุมเทคโนโลยีการพัฒนา Servlet Javaweb