ฉันไม่ได้เขียนบล็อกมานานแล้ว
มาพูดเรื่องไร้สาระเริ่มต้นตัวอย่างแรกของเรา:
Servlet ใช้ Oracle Basic Addition การลบการดัดแปลงและการค้นหา
สภาพแวดล้อมการพัฒนา: jdk7 +myeclipse10 +tomcat7.0 +Oracle 11g
ก่อนอื่นแนบสคริปต์การสร้างฐานข้อมูล:
สร้าง Table Student (ID VARCHAR2 (50) คีย์หลักไม่ใช่ NULL ชื่อ VARCHAR2 (50) ไม่ใช่ NULL, Calssgrent Varchar2 (50) ไม่ใช่ NULL, ผลลัพธ์ VARCHAR (12) ไม่ใช่ NULL);
รูปต่อไปนี้แสดงไดอะแกรมโครงสร้างรหัสและอินเทอร์เฟซการสาธิตฟังก์ชันที่ไม่ได้ทำไม่ดีเพียงเพื่อใช้งานฟังก์ชั่น:
mmc_01.java
หน้า // อินเทอร์เฟซหลักมีวิธีการสำหรับการเพิ่มการแก้ไขและการลบ
org.lsy.servlet; .httpservlet; javax.servlet.http.httpservletresponse; oracle.jdbc.oracore.tdspatch; : Thin: @localhost: 1521: liusy "; // ชื่อผู้ใช้สำหรับการเชื่อมต่อกับฐานข้อมูลสาธารณะคงที่สตริงสุดท้าย dbuser =" Scott "; // รหัสผ่านสำหรับการเชื่อมต่อกับฐานข้อมูลสาธารณะ สตริงสุดท้าย dbpass = "Tiger"; e ("ข้อความ/html; utf-8"); {การเชื่อมต่อ conn = null; ("oracle.jdbc.driver.oracledriver"); 3. คำสั่งอินเทอร์เฟซจะต้องมีการสร้างอินเทอร์เฟซการเชื่อมต่อ stmt = conn.createstatement (); 3c // dtd html 4.01 transitional // en/">"); Servlet </title> </head> "); out.println (" <body> "); // ส่วนหัวของตารางเอาท์พุท Out.print (" <table align = 'center' border = '1'> <tr> <td> ชื่อ " +" </td> <td> XT ()) {// รับ ID ในสตริงฐานข้อมูล ID = rs.getString ("id"); +"</td> <td>"+rs.getString ("calssgrent")+""+"</td> <td>"+rs.getString ("ผลลัพธ์")+"</td>"+" ลบ </a> </td> </tr> ");} out.println (" <td> <a href = addpage> เพิ่มข้อมูล </a> </td> "); out.println (" </body> "); conn.close ();updatePage.java // รับข้อมูลที่จะแก้ไขและส่งข้อมูลที่แก้ไขเพื่ออัปเดต
org.lsy.servlet; .httpservlet; javax.servlet.http.httpservletresponse; ชื่อผู้ใช้สำหรับการเชื่อมต่อกับฐานข้อมูลสาธารณะคงที่สตริงสุดท้าย dbuser = "Scott"; "Tiger"; Response.setContentType ("ข้อความ/html; utf-8"); การเชื่อมต่อ = null; Iated ผ่านอินเตอร์เฟสการเชื่อมต่อ stmt = conn.createStatement (); rs = stmt.executeQuery ("เลือก *จากนักเรียนที่ id = '" id+"'"); Title> a servlet </title> </head> "); out.println (" <body> "); // ป้อนรูปแบบของคะแนนและส่งไปยังอัปเดต out.print ("<form action = 'update' method = 'post'>"); name = 'name' size = 20> </td> </tr> "); out.print (" <tr> <td> คลาส: <อินพุตประเภท = 'text' value = '"+rs.getString (" calssgrent ")+"' name = 'grent' size = 20> </td> </tr> " +"name = 'result' size = 20> </td> </tr>"); value = '"+id+"' name = 'id'> "); out.print (" <tr> <td> <อินพุตประเภท = 'ส่ง' value = 'แก้ไข'> <อินพุตประเภท = 'รีเซ็ต' ค่า = 'รีเซ็ต'> </td> </tr> </table> ();} catch (Exception e) {E.printStackTrace (); // todo: จัดการข้อยกเว้น}}} Update.java ได้รับข้อมูลที่จะแก้ไขและอัปเดตฐานข้อมูล
org.lsy.servlet; ervlet.http.httpservletrequest; การอัปเดตระดับสาธารณะขยาย httpservlet {// ไดรเวอร์คือแพ็คเกจ JAR ของไดรเวอร์ JDBC ที่กำหนดค่าไว้ใน classPath ก่อน // ที่อยู่การเชื่อมต่อจะถูกจัดเตรียมไว้แยกกันโดยผู้ผลิตฐานข้อมูลแต่ละคนดังนั้นคุณต้องจดจำสตริงสุดท้ายคงที่ DBURL = "JDBC: Oracle // รหัสผ่านสำหรับการเชื่อมต่อกับฐานข้อมูลสาธารณะคงที่สตริงสุดท้าย dbpass = "Tiger"; การตอบสนองของ Httpservletresponse) การส่ง servletexception, ioexception {ลอง {request.setcharacterencoding ("utf-8"); คำสั่ง ASE STMT = NULL; System.out.println (id); '"; // 1. ใช้คลาสคลาสเพื่อโหลดคลาสไดรเวอร์ forName (" oracle.jdbc.driver.oracledriver "); // 2. เชื่อมต่อกับฐานข้อมูล conn = drivermanager.getConnection (dburl, dbuser, dbpass); // w3c // dtd html 4.01 transitional // en/">"); <head> <title> a servlet </title> </head> "); out.println (" <body> "); out.print (" อัปเดตสำเร็จ <br> <a href = mmc_01> รายการดู </a> "); out.println (" </body> "); (); คำขอ, httpservletResponse response) พ่น servletexception, ioexception {doget (คำขอ, การตอบสนอง);addPage .java เพิ่มหน้าข้อมูล
org.lsy.servlet; AddPage คลาสสาธารณะขยาย httpservlet {public void doget (httpservletrequest คำขอ httpservletresponse) โยน servletexception, ioexception {// ตั้งค่าการเข้ารหัสของคำขอและการตอบสนองมิฉะนั้นรหัสที่อ่านไม่ออกจะปรากฏขึ้นได้อย่างง่ายดาย ); out.println ("<! doctype html สาธารณะ/"-// w3c // dtd html 4.01 transitional // en/">"); > <tr> <td> ชื่อ: <อินพุต type = 'text' name = 'name' size = 20> </td> </tr> "); out.print ("<tr> <td> คลาส: <อินพุตประเภท = 'text' name = 'grent' size = 20> </td> </tr>"); 'รีเซ็ต'> </td> </tr> </table> </form> "); out.println (" <tr> <td> <a href = mmc_01> รายการดู </a> </td> </tr> "); out.println (" </body> "); out.println (" </html> "); out.flush (); out.close ();}}}}เพิ่มรับการส่งจาก AddPage และอัปเดตฐานข้อมูล
org.lsy.servlet; Xception; javax.servlet.http.httpservletrequest; ไดรเวอร์ BC ที่กำหนดค่าไว้ใน classpath ก่อน // ที่อยู่การเชื่อมต่อถูกจัดทำแยกต่างหากโดยผู้ผลิตฐานข้อมูลแต่ละรายดังนั้นคุณต้องจดจำสตริงสุดท้ายคงที่สาธารณะแบบคงที่ DBURL = "JDBC: Oracle: Thin: @localhost: 1521: Liusy"; , iOexception {// todo วิธีการที่สร้างขึ้นอัตโนมัติ doget (req, resp); DOGET (HTTPSERVLETREQUEST ร้องขอการตอบสนอง HTTPSERVLETRESSESPONS) พ่น ServleTexception, IOException {// ตั้งค่าการเข้ารหัสและการตอบสนองมิฉะนั้นรหัสที่อ่านไม่ออกจะปรากฏขึ้นอย่างง่ายดายในการร้องขอหน้าเว็บ // output stream printwriter out = response.getWriter (); PSTMT = NULL; ค่า (perseq.nextval, '"+namestring+"', '"+grentstring+"', '"ResultString+"') "; // 1. .Createstatery (); href = mmc_01> รายการดู </a> ");} conn.close ();} catch (ข้อยกเว้น e) {e.printstacktrace ();} out.flush (); out.close ();}}} ไฟล์กำหนดค่า web.xml
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <web-app version = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://ww.w3.org/200 /java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "> <display-name> <welcome-file> index.jsp </welcome-file> </welcome-file-list> <servlet-name> mmc_01 </servlet-name> <servlet-class> org.lsy.servlet.mmc_01 </servlet-class> > <servlet> <servlet-name> เพิ่ม </servlet-name> <servlet-class> org.lsy.servlet.add </servlet-lass> </servlet> <servlet> <servlet-name> addpage </servlet-name> <servlet-lass> org.lsy.servlet.addpage </servlet-class> /servlet-class> </servlet> <servlet> <servlet-name> อัปเดต </servlet-name> <evlet-class> org.lsy.servlet.update </servlet-lass> </servlet> <servlet-mapping> <servlet-mapping> <servlet-name> mmc_01 </servlet-name> <url-pattern>/mmc_01 </url-pattern> >/ลบ </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> เพิ่ม </servlet-name> <url-pattern>/เพิ่ม </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> addpage </servlet-name> <url-pattern>/addpage </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-mapping> -name> อัปเดต </servlet-name> <url-pattern>/update </url-pattern> </servlet-mapping> </eb-app>
ฉันไม่ใช่นกเก่าฉันได้เรียนรู้
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้