لم أكتب مدونة لفترة طويلة.
لنتحدث هراء ، ابدأ مثالنا الأول:
Servlet ينفذ الإضافة الأساسية Oracle والحذف والتعديل والبحث
بيئة التطوير: JDK7 +myeclipse10 +tomcat7.0 +Oracle 11g
أولاً ، قم بإرفاق البرنامج النصي لإنشاء قاعدة البيانات:
إنشاء طالب الطالب (ID varchar2 (50) المفتاح الأساسي غير الفارغ ، اسم varchar2 (50) لا ، null ، calssgrent varchar2 (50) لا فارغ ، varchar (12) ليس فارغا).
يوضح الشكل التالي مخطط بنية الكود وواجهة عرض الوظيفية التي لم يتم القيام بها بشكل سيء لتنفيذ الوظائف:
MMC_01.JAVA
الصفحة // توفر الواجهة الرئيسية طرقًا لإضافة وتعديل وحذف
package.lsy.servlet ؛ .httpservlet ؛ javax.servlet.http.httpservletsponse ؛ : Thin:@localhost: 1521: liusy "؛ // اسم المستخدم للاتصال بقاعدة بيانات السلسلة النهائية الثابتة dbuser =" scott "؛ // كلمة المرور للاتصال بقاعدة البيانات العامة Static Final String = "Tiger" ؛ PE (Text/HTML ؛ UTF-8 ") ؛ {Connection Conn = consure ؛ ("oracle.jdbc.driver.oracledriver") ؛ 3. /W3C // DTD HTML 4.01 Transitional // en/">") ؛ Servlet </title> </head> ") ؛ Out.println (" <Body> ") ؛ // رأس جدول الإخراج خارج ()) {// احصل على معرف في معرف قاعدة البيانات = rs.getString ("id") ؛ +"</td> <td>"+rs.getString ("Calssgrent")+"+" </td> <td> "+rs.getString (" result ")+" </td> "+" <td> <a href = 'updatepage؟ id = "id+"' ' حذف </a> </td> </tr> ") ؛} out.println (" <td> <a href = addPage> إضافة بيانات </a> </td> ") ؛ out.println (" </body> ") ؛ out.println (" </html> ") ؛ conn.close () ؛updatepage.java // احصل على البيانات ليتم تعديلها وإرسال البيانات المعدلة للتحديث
package.lsy.servlet ؛ .httpservlet ؛ javax.servlet.http.httservletsponse ؛ اسم المستخدم للاتصال بقاعدة البيانات الثابتة العامة DBUSER = "Scott" ؛ "Tiger" ؛ Response.setContentType ("text/html ؛ utf-8") ؛ Connect Conn = Null ؛ يتم إنشاء مثيل له من خلال واجهة الاتصال STMT = Conn.Createstate () ؛ rs = stmt.executequery ("حدد *من المعرف ="+معرف+"") ؛ العنوان> servlet </title> </head> ") ؛ out.println (" <body> ") ؛ // أدخل نموذج النتيجة وأرسله للتحديث out.print ("<form action = 'update' method = 'post'>") ؛ name = 'name' size = 20> </td> </tr> ") ؛ Out.print (" <tr> <td> الفئة: <input type = 'text' value = '"+rs.getString (" calssgrent ")+ +"name = 'result' size = 20> </td> </tr>") ؛ value = "+id+" 'name =' id '> ") ؛ out.print (" <tr> <td> <input type =' submit 'value =' modify '> <input type =' reset 'value =' reset '> </td> </tr> () ؛ update.java يتلقى البيانات المراد تعديلها وتحديث قاعدة البيانات
Package. servlet.http.httpservletrequest ؛ يمتد تحديث الفئة العامة httpservlet {// السائق هو الحزمة JAR لبرنامج تشغيل JDBC الذي تم تكوينه في ClassPath قبل // يتم توفير عنوان الاتصال بشكل منفصل من قبل كل مصنع قاعدة بيانات ، لذلك يجب أن تتذكر بشكل منفصل Static Final String dburl = " ) Httpservletsponse) رمي servletexception ، {request.setharacterencoding ("utf-8") ؛ ABASE STMT = NULL ؛ system.out.println (id) "" ؛ // 1. استخدم الفئة لتحميل فئة السائق. // 2. الاتصال بقاعدة البيانات conn = drivermanager.getConnection (dburl ، dbpass) ؛ /"-// w3c // dtd html 4.01 Transitional // en/"> ") ؛ out.println (" <html> ") ؛ out.println (" <Head> <title> servlet </title> </head> ") ؛ Out.println (" <body> ") ؛ Out.print (" تم تحديثه بنجاح <br> <a href = mmc_01> () ؛ طلب ، استجابة httpservletponse) يلقي servletexception ، ioexception {doget (request ، report) ؛AddPage .java ، إضافة صفحة البيانات
Package.lsy.servlet يمتد AddPage من الفئة العامة Httpservlet {public void doget (httpservletrequest request ، استجابة httpservletponse) servletexception ، {// قم بتعيين ترميز الطلب والاستجابة. () ؛ Transitional // ">") ؛ > <tr> <td> الاسم: <input type = 'text' name = 'name' size = 20> </td> </tr> ") ؛ out.print ("<tr> <td> الفئة: <input type = 'name =' grent 'size = 20> </td> </tr>") ؛ 'Reset'> </td> </tr> </table> </part> ") ؛ Out.println (" <tr> <td> <a HREF = MMC_01> قائمة العرض </a> </td> </tr> ") ؛ out.println (" </body> ") ؛ out.println (" </html> ") ؛ out.flush () ؛ out.close () ؛}}أضف استقبال ناقل الحركة من AddPage وقم بتحديث قاعدة البيانات
Package استثناء ؛ javax.servlet.http.httservletrequest ؛ تم تكوين برنامج تشغيل JDBC في classpath قبل // يتم توفير عنوان الاتصال بشكل منفصل بواسطة كل مصنع قاعدة بيانات ، لذلك تحتاج إلى تذكر السلسلة النهائية الثابتة بشكل منفصل dburl = "JDBC: Thin: @localhost: 1521: liusy" ؛ ioException {// todo method method tuto doget (req ، resp) ؛ DOGET (طلب httpservletrequest ، استجابة httpservletponse) servletexception ، ioexception {// قم بتعيين ترميز الطلب والاستجابة ، وإلا فإن الكود المشوّه سيظهر في request.setharcterencoding ("utf-8") ؛ PSTMT = NULL ؛ القيم (perseq.nextval ، ""+namestring+"" ، "+grentstring+" '،' "+resulttring+" ') ؛ // 1. استخدم الفئة لتحميل فئة السائق = conn.createStatement () ؛ HREF = MMC_01> قائمة العرض </a> ") ؛} conn.close () ؛} catch (استثناء e) {E.PrintStackTrace () ؛} out.flush () ؛ out.close () ؛}} ملف التكوين web.xml
<؟ xml الإصدار = "1.0" الترميز = "utf-8"؟> <إصدار web-app = "2.5" /java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "> <display-name> </isplay-name> <elwing-file-list> <lisplive-file> index.jsp </iship-file> </iship-file-list> <servlet-name> mmc_01 </servlet-name> <sterled-class> org.lsy.servlet.mmc_01 </servlet-class> </servlet> > <vervlet> <Servlet-Name> إضافة </servlet-name> <Srevlet-Class> org.lsy.servlet.add </servlet-class> </servlet> <Servlet> /servlet-class> </servlet> <vervlet> <Srevlet-Class> org.lsy.servlet.update </servlet-class> </servlet> <Sradlet-Mapping> <sterled-mapping> <sterled-name> mmc_01 </servlet-name> <url-pattern>/mmc_01 </url-pattern> >/حذف </url-pattern> </stervlet-mapping> <Servlet-mapping> <Sradlet-Name> إضافة </servlet-name> <url-pattern>/add </url-pattern> </servlet-mapping> <Servlet-Mapping> <Servlet-Name> AddPage </servlet-name> <url-pattern>/addPage </url-pattern> </servlet mapping> <cridlet-mapping> <cervlet mapping> <servlet-name> تحديث </servlet-name> -Name> تحديث </servlet-name> <url-pattern>/update </url-pattern> </revlet-mapping> </bil-app>
أنا لست طائرًا قديمًا.
ما سبق هو كل محتوى هذه المقالة.