ตัวอย่างในบทความนี้แบ่งปันวิธีการทำอัลบั้ม Java สำหรับการอ้างอิงของคุณกับคุณ เนื้อหาเฉพาะมีดังนี้
บันทึก:
1) ระบุภาพบน HTML แบบคงที่ เมื่อมีการอัปเดตรูปภาพใหม่พวกเขาจะต้องได้รับการอัปเดตด้วยตนเอง ดังนั้นใช้ servlet เพื่ออ่านรูปภาพทั้งหมดในรูปภาพท้องถิ่นและแสดงให้ผู้ใช้ไดนามิก
2) หากมีรูปภาพที่มีชื่อภาษาจีนมันจะทำให้เกิดข้อผิดพลาดเนื่องจากวิธีการรับไม่สามารถส่งผ่านภาษาจีนได้โดยตรง
หน้าหลัก index.jsp
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! doctype html สาธารณะ "-// w3c // dtd html 4.01 transitional // en"> <html> http: // localhost: 8080/photosweb/ -> <h2> อัลบั้มเล็ก ๆ น้อย ๆ </h2> <a href = "jsps/upload.jsp"> อัปโหลดรูปภาพ </a> <a href = "< %= request.getContext ()/servlet/showallimg"
หน้าจอแสดงผล:
อัพโหลดฟังก์ชั่นภาพ:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> action = "< %= request.getContextPath () %>/servlet/uploadservlet" method = "post" enctype = "multipart/form-data"> photo: <input type = "file" name = "file"/> <br/> คำอธิบาย: <input type = "text" name = "desc"/> <bbr
แพ็คเกจ cn.hncu.servlet; นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.io.printwriter; นำเข้า java.util.list; นำเข้า Javax.servlet.requestDispatcher; javax.servlet.http.httpservlet; นำเข้า javax.servlet.http.httpservletrequest นำเข้า javax.servlet.http.httpservletResponse; นำเข้า org.apache.commons.fileupload.fileitem; org.apache.commons.fileupload.disk.diskfileitemfactory; นำเข้า org.apache.commons.fileupload.servlet.servletfileupload; นำเข้า org.apache.Commons.io.fileutils; cn.hncu.utils.myutils; คลาสสาธารณะอัปโหลด servlet ขยาย httpservlet {โมฆะสาธารณะ doGet (httpservletrequest คำขอ, httpservletresponse การตอบสนอง) โยน servletexception, ioexception PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> a servlet </title> </head>"); out.println ("<body>"); out.println ("<body>"); out.println ("<body>"); out.println ("<body>"); out.close (); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {request.Setcharacterencoding ("UTF-8"); Response.setContentType ("ข้อความ/html; charset = utf-8"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> อัปโหลดหน้ารูปภาพ </title> </head>"); out.println ("<body>"); // แยกข้อมูลจากแบบฟอร์มการอัปโหลด: 1. ห่อหุ้มไว้ในวัตถุค่าภาพถ่ายโทรไปที่เลเยอร์ DAO เพื่อจัดเก็บไว้ในพื้นหลัง // 2 เก็บภาพถ่ายที่อัปโหลดไปยังฮาร์ดดิสก์เซิร์ฟเวอร์ // ฐานข้อมูล: เก็บข้อมูลเกี่ยวกับการจัดเก็บภาพถ่าย ไฟล์ไฟล์ = ไฟล์ใหม่ ("d:/a"); if (file.exists ()) {file.mkdirs (); } dfi.setRepository (ไฟล์); ServletFileUpload Upload = ใหม่ servletFilePilePload (DFI); Upload.SetSizemax (1024*1024*8); Upload.SetheAderencoding ("UTF-8"); // ==> request.Setcharacterencoding ("UTF-8"); ลอง {list <fileItem> list = upload.parserequest (คำขอ); Photomodel PM = new Photomodel (); inputStream ใน = null; สำหรับ (fileitem fi: list) {ถ้า (fi.isformfield ()) {// นี่จะไม่มีสตริงไฟล์ชั่วคราว desc = fi.getString ("UTF-8"); PM.SetDesc (DESC); } else {in = fi.getInputStream (); // string filename = fi.getfieldName (); // system.out.println ("getfieldName:"+filename); String filename = fi.getName (); // system.out.println ("getName:"+filename); // ทดสอบ: C:/ผู้ใช้/ADL1/รูปภาพ/รูปภาพที่บันทึกไว้/111.jpg? // เงื่อนไขเริ่มต้นถ้า (filename == null || filename.trim (). เท่ากับ ("ไม่มีการเลือกไฟล์ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, string straph2 = request.getcontextpath ()+/upload pm.setdt (myutils.getCurrentDataime ()); สตริง realname = filename.substring (filename.lastindexof ("//")); realname.length ()); // ลบ "/" ของ realname // ext string ext = filename.substring (filename.lastindexof ("."); PM.SetDir (MyUtils.getDir (ID)); path = "photos/"+pm.getdir (); // system.out.println ("เส้นทาง:"+path); // ทดสอบ: ภาพถ่าย/9/0 สตริง filepath = getServletContext (). getRealPath (เส้นทาง); // system.out.println ("filepath:"+filepath); การทดสอบ: D: /apache-tomcat-7.0.30/webapps/photosweb/photos/9/0 ไฟล์ dir = ไฟล์ใหม่ (filepath); if (! dir.exists ()) {dir.mkdirs (); } fileUtils.copyInputStreamTofile (ในไฟล์ใหม่ (filepath+"/"+pm.getId ()+pm.getext ())); // // ถ้าฮาร์ดดิสก์ถูกบันทึกเรียบร้อยแล้วให้ข้ามไปยังหน้าหลัก - ไปข้างหน้า RD = request.getRequestDispatcher (getServletContext (). getContextPath ()+"/index.jsp"); // "/photosweb/photosweb/index.jsp" // requestDispatcher rd = request.getRequestDispatcher ("/index.jsp"); web.xml แสดงถึงไดเรกทอรีรากของโครงการ // rd.forward (คำขอ, การตอบสนอง); // การส่งต่อไม่สามารถใช้ที่นี่ ความแตกต่างที่เฉพาะเจาะจงระหว่างการเปลี่ยนเส้นทางและการส่งต่อ: http://blog.csdn.net/xanlv/article/details/52701085 // redirect response.sendrect (getServletContext () getContextPath ()+"/index.jsp"); } else {// การบันทึกฐานข้อมูลล้มเหลว-ตั้งอยู่บนหน้าอัปโหลด Page RequestDispatcher Rd = request.getRequestDispatcher ("/jsps/upload..jsp"); // "/photosweb/index.jsp" rd.forward (ขอตอบกลับ); }} catch (fileuploadexception e) {โยน runtimeException ใหม่ ("อัปโหลดล้มเหลว", e); } ในที่สุด {// ล้างไฟล์ไฟล์ชั่วคราว f = ไฟล์ใหม่ ("d:/a"); ไฟล์ fs [] = f.listfiles (); สำหรับ (ไฟล์ ff: fs) {ff.delete (); }} out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); - เอฟเฟกต์การแสดงหน้า:
เรียกดูฟังก์ชั่นภาพ:
แพ็คเกจ cn.hncu.servlet; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า java.util.list; นำเข้า javax.servlet.servletexception; นำเข้า javax.servlet.http.httpservlet; javax.servlet.http.httpservletResponse; นำเข้า cn.hncu.dao.photodaoimpl; นำเข้า Cn.hncu.domain.photomodel; ioException {response.setContentType ("text/html; charset = utf-8"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> อัลบั้มเรียกดู </title> </head>"); out.println ("<body>"); string strpath = request.getContextPath ()+"/jsps/upload.jsp"; out.println ("<a href =/" "+strpath+"/"> กลับไปที่หน้าอัพโหลด </a>"); // สตริงตาราง = "<table border = '1px' width = '100%' cellpacing = '0' Align = 'center'> style = 'text-allign: center;'> "+" <tr> <th> ชื่อไฟล์ </th> <th> วันที่และเวลาอัปโหลด </th> <th> รูปภาพ </th> <th> คำอธิบายรูปภาพ </th> <th> การดำเนินการ </th> </tr> "; out.println (ตาราง); // อ่านข้อมูลรูปภาพทั้งหมดจากเลเยอร์ DAO และส่งไปยังรายการหน้าส่วนหน้า <PHOTOMODEL> list = new PhotoDaoimpl (). getAllPhotos (); สำหรับ (photomodel pm: list) {out.println ("<tr>"); out.println ("<td width = 80>"+pm.getRealName ()); out.println ("</td>"); out.println ("<td width = 120>"+pm.getdt ()); out.println ("</td>"); String Path = request.getContextPath ()+"/photos/"+pm.getDir ()+"/"+pm.getId ()+pm.getext (); // system.out.println (พา ธ ); // "/photosweb/photos/d/7/e78e18352b42410f85dbd8dbd82 ภาพที่ใหญ่กว่าออกไป ("<td width = 100> <a href = '"+path+"'> <iMg width = 100 ความสูง = 100 src = '"+path+"' //"); out.println ("</td>"); out.println ("<td width = 200>"+pm.getDesc ()); out.println ("</td>"); out.println ("<td width = 80> <a href = '"+getServletContext (). getContextPath ()+"/servlet/delphoto? id ="+pm.getId ()+"'> ลบรูปภาพ </a>"); // out.println ("< href = '<%= request.getContextPath ()%>/servlet/down? id = "+pm.getId ()+"'> ดาวน์โหลดรูปภาพ </a> </td> "); out.println ("<br/> <a href = '"+getServletContext (). getContextPath ()+"/servlet/down? id ="+pm.getId ()+"'> ดาวน์โหลดรูปภาพ </a> </td>"); out.println ("</tr>"); } out.println ("</table>"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {response.setContentType ("text/html; charset = utf-8"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> a servlet </title> </head>"); out.println ("<body>"); out.print ("ไม่รองรับวิธีการโพสต์ ... "); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); - เอฟเฟกต์การแสดงหน้า:
ลบฟังก์ชั่น:
แพ็คเกจ cn.hncu.servlet; นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า java.io.printwriter; นำเข้า javax.servlet.servletexception; นำเข้า javax.servlet.http.httpservlet; javax.servlet.http.httpservletResponse; นำเข้า cn.hncu.dao.photodaoimpl; นำเข้า cn.hncu.domain.photomodel; {response.setContentType ("text/html; charset = utf-8"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> ลบหน้ารูปภาพ </title> </head>"); out.println ("<body>"); string id = request.getParameter ("id"); string ip = request.getRemoteaddr (); photodaoimpl dao = new photodaoimpl (); Photomodel PM = dao.getsinglebyid (id); if (pm! = null) {ถ้า (! pm.getip (). เท่ากับ (ip)) {out.println ("คุณไม่ได้รับอนุญาตให้ลบภาพ ... "); string strpath = request.getContextPath ()+"/servlet/showallimg"; out.println ("<br/> <a href =/" "+strpath+"/"> กลับไปเรียกดูต่อไป </a>"); กลับ ; } // ลบมีสองส่วนของงาน: การล้างข้อมูลในฐานข้อมูลและลบไฟล์รูปภาพในฮาร์ดดิสก์เซิร์ฟเวอร์ // 1 การล้างข้อมูลในฐานข้อมูลบูลีน Boo = dao.del (ID); // 2 การลบไฟล์รูปภาพในฮาร์ดดิสก์เซิร์ฟเวอร์ถ้า (boo) {String path = "photos/"+pm.getdir ()+"/"+pm.getId ()+pm.getext (); String filePath = getServletContext (). getRealPath (เส้นทาง); ไฟล์ f = ไฟล์ใหม่ (FilePath); if (f.exists ()) {f.delete (); } string strpath = request.getContextPath ()+"/servlet/showallimg"; // system.out.println (strpath); /// photosweb/servlet/showphotos out.println ("ลบสำเร็จ ... <br/> <a href =/" "strpath+"/" } else {out.println ("ลบข้อมูลฐานข้อมูลล้มเหลว"); }} else {out.println ("ไฟล์ไม่มีอยู่ ... "); string strpath = request.getContextPath ()+"/servlet/showallimg"; out.println ("<br/> <a href =/" "+strpath+"/"> กลับไปเรียกดูต่อไป </a>"); } out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {response.setContentType ("ข้อความ/html"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> ลบหน้ารูปภาพ </title> </head>"); out.println ("<body>"); out.print ("ไม่สนับสนุนวิธีการโพสต์ ... "); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); -หน้าจอแสดงผล:
ฟังก์ชั่นดาวน์โหลด:
1. ใช้การเชื่อมต่อ HyperConnection บนหน้า HTML เพื่อชี้ไปที่ไฟล์ที่จะดาวน์โหลด (ไม่ปลอดภัยและถูกขโมยได้ง่าย)
คำถาม:
จะกำหนดทรัพยากรในท้องถิ่นได้อย่างไร?
ServletContext แสดงถึงโครงการเว็บ โครงการเว็บมีวัตถุ ServletContext เพียงชิ้นเดียว
getRealPath ("/"); // d:/prm/tom/web/
การวิเคราะห์ข้อกำหนด:
ในการพัฒนาจริงไฟล์ที่จะดาวน์โหลดจะถูกเลือกโดยผู้ใช้แบบไดนามิก
ตัวอย่างเช่นในไดเรกทอรีภาพโครงการของเรามีไฟล์รูปภาพมากมาย ผู้ใช้จะแสดงรูปภาพทั้งหมดในหน้าและผู้ใช้สามารถคลิกลิงก์ดาวน์โหลดเพื่อดาวน์โหลดรูปภาพที่ชื่นชอบ
การออกแบบโดยละเอียด:
ใช้หน้าเว็บคงที่เพื่อแสดงภาพทั้งหมด ให้ภาพไฮเปอร์ลิงก์ที่ดาวน์โหลดแต่ละภาพ
ส่งผ่านรหัสรูปภาพเพื่อดาวน์โหลดหลังจากการเชื่อมต่อ HyperConnection
รับชื่อรูปภาพแบบไดนามิกในบริการ ดาวน์โหลดให้เสร็จสมบูรณ์
แพ็คเกจ cn.hncu.servlet; นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.io.outputstream; นำเข้า Java.io.printwriter; javax.servlet.servletexception; นำเข้า javax.servlet.http.httpservlet นำเข้า Javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletresponse; cn.hncu.dao.photodaoimpl; นำเข้า cn.hncu.domain.photomodel; คลาสสาธารณะ downservlet ขยาย httpservlet {โมฆะสาธารณะ doget (httpservletrequest คำขอ httpservletresponse) id = request.getParameter ("id"); PhotoModel PM = ใหม่ photodaoimpl (). getinglebyid (id); if (pm == null) {response.setContentType ("text/html; charset = utf-8"); PrintWriter out = response.getWriter (); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <title> a servlet </title> </head>"); out.println ("<body>"); Response.getWriter (). println ("Alert ('ข้อความนี้ไม่มีอยู่อีกต่อไป ... ')"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); // getServletContext (). getContextPath () RequestDispatcher RD = request.getRequestDispatcher ("/servlet/down"); // "/photosweb/index.jsp" // การเริ่มต้นของ URL ในบล็อกรหัส Java และ web.xml "/" } else {// ดาวน์โหลดจริง: อ่านไฟล์รูปภาพของฮาร์ดดิสก์เซิร์ฟเวอร์และส่งไปยังไคลเอนต์ (ตั้งส่วนหัวตอบกลับ) // รับสตริงไฟล์จริง realname = pm.getRealName (); realname = urlencoder.encode (realname, "utf-8"); // ถ้าเป็นชื่อภาษาจีนมันจะต้องถูกแปลงรหัสเพื่อป้องกันไม่ให้ชื่อไฟล์ถูกอ่านไม่ออกในภาษาจีน // inputstream ใน = downservlet.class.getClassLoader () // ตั้งค่าประเภทการแสดงผลเพื่อดาวน์โหลด response.setContentType ("แอปพลิเคชัน/force-download"); // ตั้งค่าการตอบสนองส่วนหัวการตอบสนอง setheader ("เนื้อหา-การจัดสรร", "ไฟล์แนบ; filename =/" "+realname+"/"); // path String = request.getContextPath ()+"/"+pm.getdir ()+"/"+pm.getid ()+pm.getext () path = "pm.getdir ()+"/"pm.getid ()+pm.getext (); O = Response.GetOutputStream (); IOException {Response.setContentType ("ข้อความ/html"); <head> <title> a servlet </title> </head> "); out.println (" <body> "); out.println (" </body> "); out.println (" </html> "); out.flush (); out.close (); - เอฟเฟกต์การแสดงหน้า:
ไฟล์กำหนดค่า 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/web-app_3_0.xsd" <servlet-class> cn.hncu.servlet.uploadservlet </servlet-class> </servlet> <servlet> <servlet-name> showallimgservlet </servlet-name> <servlet-lass> cn.hncu.servlet <servlet-class> cn.hncu.servlet.downservlet </servlet-class> </servlet> <servlet> <servlet-name> delphotoservlet </servlet-name> <url-pattern>/servlet/uploadservlet </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> showallimgservlet </servlet-name> <url-pattern>/servlet/showallimg </url-pattern> <url-pattern>/servlet/down </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> delphotoservlet </servlet-name> <url-pattern>/servlet/delphoto </url-pattern>
ฐานข้อมูล: photos.xml
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <Photos> <!-การออกแบบฐานข้อมูล <Photo ID = "UUID" realName = "ชื่อไฟล์จริง jpg" dt = "2016-10-03 19:51:31" ext = ". jpg" dir = "a/5" </poto> -> </photos>
วัตถุค่า: photomodel.java
แพ็คเกจ cn.hncu.domain; public class photomodel {// ค่าภาพถ่ายวัตถุ id id id id; // uuid สตริงส่วนตัว realname; // รูปถ่ายชื่อไฟล์จริง private string ext; // ส่วนขยายสตริงส่วนตัว dir; // ไดเรกทอรีโดยตรงที่เก็บไว้ } โมฆะสาธารณะ setId (รหัสสตริง) {this.id = id; } สตริงสาธารณะ getRealName () {return realName; } โมฆะสาธารณะ setRealName (String RealName) {this.realName = realName; } สตริงสาธารณะ getExt () {return ext; } โมฆะสาธารณะ setext (String ext) {this.ext = ext; } สตริงสาธารณะ getDir () {return dir; } โมฆะสาธารณะ setDir (สตริง dir) {this.dir = dir; } สตริงสาธารณะ getdt () {return dt; } โมฆะสาธารณะ setDt (สตริง dt) {this.dt = dt; } สตริงสาธารณะ getdt () {return dt; } โมฆะสาธารณะ setDt (สตริง dt) {this.dt = dt; } สตริงสาธารณะ getip () {return ip; } โมฆะสาธารณะ setip (string ip) {this.ip = ip; } สตริงสาธารณะ dreturn desc; } โมฆะสาธารณะ setDesc (String desc) {this.desc = desc; -Dao Layer: นี่คือตัวย่อเฉพาะคลาสการใช้งาน photoDaoimpl.java เท่านั้นที่เขียนขึ้น
แพ็คเกจ cn.hncu.dao; นำเข้า java.util.arraylist; นำเข้า java.util.iterator; นำเข้า java.util.list; นำเข้า org.dom4j.document; นำเข้า org.dom4j.element; นำเข้า cn.hncu.domain.photomodel; sava (photomodel pm) {document dom = domfactory.getdom (); Element root = dom.getRootelement (); องค์ประกอบ e = root.addelement ("photo"); E.AdDattribute ("ID", PM.GETID ()); E.AdDattribute ("dir", pm.getdir ()); E.AdDattribute ("dt", pm.getdt ()); E.AdDattribute ("ext", pm.getext ()); E.AdDattribute ("IP", PM.GETIP ()); E.AdDattribute ("RealName", PM.GetRealName ()); e.addelement ("desc"). setText (pm.getDesc ()); บูลีน b = domfactory.save (); if (b) {return true; } return false; } รายการสาธารณะ <Photomodel> getAllPhotos () {รายการ <HotoModel> li = arrayList ใหม่ <HotoModel> (); เอกสาร DOM = domfactory.getDom (); องค์ประกอบ e = dom.getRootelement (); Iterator <Element> it = eElementIterator (); ในขณะที่ (it.hasnext ()) {องค์ประกอบ ie = it.next (); Photomodel PM = new Photomodel (); PM.SetId (เช่น. attributeValue ("id")); PM.SetDir (เช่น. attributeValue ("dir")); PM.Setdt (เช่น. AttributeValue ("DT")); PM.SETEXT (เช่น ATTRIBORYEVALUE ("EXT")); PM.Setip (เช่น. attributeValue ("IP")); PM.SetRealName (เช่น. attributeValue ("realname")); PM.SetDesc (เช่น ElementText ("DESC")); Li.add (PM); } return li; } public photoModel getSingleById (String id) {list <hotomodel> li = getAllPhotos (); Photomodel PM = new Photomodel (); สำหรับ (photomodel p: li) {ถ้า (p.getId (). เท่ากับ (id)) {return p; }} return null; } บูลีนสาธารณะ del (string id) {document dom = domfactory.getDom (); องค์ประกอบ e = (องค์ประกอบ) dom.selectsingLenode ("// photo [@id = '"+id+"']"); return e.getParent (). ลบ (e); -เครื่องมือ:
1.
แพ็คเกจ cn.hncu.utils; นำเข้า java.text.simpledateFormat; นำเข้า java.util.date; นำเข้า java.util.uuid; คลาสสาธารณะ myutils {ส่วนตัว myutils () {} สตริงคงที่ getUuid () {return uuid.randomuuid () } ส่วนตัวคงที่ simpledateFormat SDF = new SimpledateFormat ("YY-MM-DD HH: MM: SS"); สตริงคงที่สาธารณะ getCurrentDataime () {return sdf.format (วันที่ใหม่ ()); } สตริงคงที่สาธารณะ getDir (สตริง uuid) {string dir1 = integer.tohexstring (uuid.hashcode () & 0xf); String dir2 = integer.tohexstring ((uuid.hashCode () & 0xf0) >> 4); ส่งคืน dir1+"/"+dir2; -2.
แพ็คเกจ cn.hncu.utils; นำเข้า java.io.fileoutputstream นำเข้า org.dom4j.document; นำเข้า org.dom4j.documentexception; นำเข้า org.dom4j.io.saxreader; นำเข้า org.dom4j.iO.xmlwriter; ชื่อไฟล์สตริงคงที่ส่วนตัว; คงที่ {ลอง {saxReader r = new SaxReader (); // รับไฟล์ filename ไฟล์ทรัพยากร = domfactory.class.getClassLoader (). getResource ("photos.xml"). getPath (); System.out.println ("users.xml path:"+filename); // "/d: /apache-tomcat-7.0.30/webapps/photosweb/web-inf/classes/photos.xml" // note: รับวิธีการทรัพยากรในปัจจุบัน } catch (documentException e) {e.printStackTrace (); }} เอกสารสาธารณะคงที่ getDom () {return dom; } บูลีนแบบคงที่สาธารณะบันทึก () {xmlWriter W; ลอง {w = ใหม่ xmlWriter (ใหม่ fileOutputStream (ชื่อไฟล์)); W.Write (DOM); w.close (); กลับมาจริง; } catch (exception e) {return false; -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น