โครงสร้างของโครงการ WebApp มีดังนี้:
เนื้อหาของไฟล์ download.html มีดังนี้:
<! doctype html> <html> <head> <meta charset = "utf-8"> <title> แทรกชื่อที่นี่ </title> </head> <body> <h1> การดาวน์โหลดทรัพยากร: </h1> <p> เมื่อใช้แท็ก A </p> <a href = "/เว็บ/ทรัพยากร/a.mp3" rel = "ภายนอก nofollow"> a.mp3 </a> <br> <a href = "/เว็บ/ทรัพยากร/a.exe" rel = "nofollow ภายนอก"> a.exe </a> <br> <a href = "/web/a.txt href = "/web/resource/a.xlsx" rel = "ภายนอก nofollow"> a.xlsx </a> <br> <a href = "/เว็บ/ทรัพยากร/a.png" rel = "ภายนอก nofollow"> a.png </a> <br> <p> href = "/web/download? filename = a.mp3" rel = "external nofollow"> a.mp3 </a> <br> <a href = "/web/download? <a href = "/web/download? filename = a.xlsx" rel = "ภายนอก nofollow"> a.xlsx </a> <br> <a href = "/เว็บ/ดาวน์โหลด?
เนื้อหาของไฟล์ servlet-download.java ที่ดาวน์โหลดมามีดังนี้:
แพ็คเกจ com.download.servlet; นำเข้า java.io.fileinputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า Javax.servlet.servletexception; นำเข้า javax.servlet.servlettuttream javax.servlet.http.httpservletrequest; นำเข้า javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletresponse; /* ** Void Doget ที่ได้รับการป้องกัน (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {// 1 รับชื่อไฟล์ที่ร้องขอให้ดาวน์โหลด String filename = request.getParameter ("ชื่อไฟล์"); // 2. รับพา ธ ระบบไฟล์ของสตริงไฟล์ filePath = request.getServletContext (). getRealPath ("ทรัพยากร/"+ชื่อไฟล์); // 3. ตั้งค่าส่วนหัวการตอบกลับเพื่อแจ้งให้เบราว์เซอร์ไม่แยกวิเคราะห์ข้อมูลไฟล์ตอบกลับ แต่เพื่อแยกวิเคราะห์ในรูปแบบของไฟล์แนบนั่นคือฟังก์ชั่นการดาวน์โหลดตอบสนอง SetContentType (this.getServletContext () getMimeType (ชื่อไฟล์)); Response.SetheAder ("เนื้อหา-การจัดสรร", "สิ่งที่แนบมา; ชื่อไฟล์ ="+ชื่อไฟล์); // 4. อ่านสตรีมอินพุตไฟล์และสตรีมเอาท์พุทการตอบกลับและส่งออกข้อมูลไปยังไคลเอนต์อินพุตสตรีมใน = ใหม่ FileInputStream (FilePath); servletoutputStream out = response.getOutputStream (); int len = 0; ไบต์ [] buf = ไบต์ใหม่ [1024]; ในขณะที่ ((len = in.read (buf))! =-1) {out.write (buf, 0, len); } in.close (); } การป้องกันโมฆะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง); -ป้อน http: // localhost: 8080/downloadservlet/download.html ในแถบที่อยู่เบราว์เซอร์
ตัวอย่างคำอธิบายข้างต้นของฟังก์ชั่นดาวน์โหลดไฟล์ที่จัดทำโดย Java Web Response เป็นเนื้อหาทั้งหมดที่แชร์โดยตัวแก้ไข ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น