تشترك الأمثلة الواردة في هذه المقالة في وظيفة تسجيل مستخدم Java للرجوع إليها. المحتوى المحدد كما يلي
الصفحة الرئيسية:
يعرض المتصفح:
تنفيذ الكود:
<٪@ page language = "java" import = "java.util. type = "password" name = "pwd"/> <br/> <input type = "subvice" value = "register"/> </form> <!-المطلق المسار-> <a href = "/usersweb/reg"
وظيفة التسجيل:
يعرض المتصفح:
1) التسجيل بنجاح:
2) فشل التسجيل:
تنفيذ الكود:
package cn.hncu.user.servlet ؛ استيراد java.io.ioException ؛ استيراد java.io.printwriter ؛ استيراد java.util.list ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ javax.servlet.http.httpservletresponse ؛ استيراد cn.hncu.user.dao.userdao userDaoimpl () ؛ DOGED VOID DOGE (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servleTexception ، ioException {list <Sether> users = dao.queryallusers () ؛ استجابة. printWriter out = response.getWriter () ؛ out.println ("<! doctype html public/"-// w3c // dtd html 4.01 Transitional // en/">") ؛ out.println ("<html>") ؛ out.println ("<head> <title> سجلات التسجيل </title> </head>") ؛ out.println ("<body>") ؛ out.println ("<table cellpacing = 0 border = 1px> <tr> <th> العملية </th> <th> الاسم </th> </tr>") ؛ لـ (user u: users) {out.println ("<tr> <td> <a href = '/usersweb/del؟ id ="+u.GetId ()+"'> delete </a> </h>") ؛ out.println ("<th>"+U.GetName ()+"</th> </tr>") ؛ } out.println ("</table>") ؛ Out.println ("</body>") ؛ out.println ("</html>") ؛ out.flush () ؛ out.close () ؛ } public void dopost (طلب httpservletrequest ، استجابة httpservletponse) يلقي servletexception ، ioException {request.setcharacterencoding ("utf-8") ؛ اسم السلسلة = request.getParameter ("name") ؛ سلسلة pwd = request.getParameter ("pwd") ؛ مستخدم المستخدم = مستخدم جديد () ؛ user.setName (name) ؛ user.setpwd (pwd) ؛ Boolean Boo = dao.reg (user) ؛ استجابة. printWriter out = response.getWriter () ؛ out.println ("<! doctype html public/"-// w3c // dtd html 4.01 Transitional // en/">") ؛ out.println ("<html>") ؛ out.println ("<head> <title> سجلات التسجيل </title> </head>") ؛ out.println ("<body>") ؛ if (boo) {out.println ("تهانينا ("+name+") تسجيل بنجاح ...") ؛ } آخر {out.println ("you ("+name+") فشل التسجيل ... <br/> اسم المستخدم موجود بالفعل ، يرجى التغيير للتسجيل") ؛ } out.println ("<a href = 'javaScript: history.go (-1)'> return </a>") ؛ Out.println ("</body>") ؛ out.println ("</html>") ؛ out.flush () ؛ out.close () ؛ }} عرض جميع ميزات المستخدم:
يعرض المتصفح:
تنفيذ الكود: تنفيذ طريقة DOGT لفئة RegServlet
دالة التشغيل الحذف: سيتم إعادة توجيه الحذف إلى الصفحة الرئيسية بعد حذف النجاح
تنفيذ الكود:
package cn.hncu.user.servlet ؛ استيراد java.io.ioException ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httpservlest ؛ cn.hncu.user.dao.userdao ؛ import cn.hncu.user.dao.userdaoimpl ؛ public class delservlet تمتد httpservlet system.out.println ("del-id:"+id) ؛ userDao dao = جديد userDaoImpl () ؛ dao.deluser (id) ؛ // انتقل إلى الصفحة الرئيسية-REDIRECT RESEPTRIM.SENDREDIRECT ("/usersweb/index.jsp") ؛ } public void dopost (httpservletrequest request ، httpservletresponse) يلقي servletexception ، ioException {doget (request ، response) ؛ }}ملف التكوين:
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> display-name> </servlet> <Srevlet-Class> cn.hncu.user.servlet.regservlet </servlet-class> </servlet> <vervlet> <stervlet-name> delservlet </servlet-name> <sterled-class> <Url-pattern>/reg </url-pattern> </rectlet-mapping> <Servlet-mapping> <Sradlet-Name> delservlet </servlet-name> <Url-pattern>/del </url-pattern> </servlet-mapping> <lisplive-file-list> index.jsp </sempile>
كائن المستخدم لحزمة المجال
حزمة cn.hncu.user.domain ؛ مستخدم الفئة العامة {private string id ؛ اسم السلسلة الخاصة ؛ سلسلة خاصة PWD ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getPwd () {return pwd ؛ } public void setPwd (String pwd) {this.pwd = pwd ؛ } السلسلة العامة getId () {return id ؛ } public void setId (string id) {this.id = id ؛ } Override public int hashcode () {Final int prime = 31 ؛ int النتيجة = 1 ؛ النتيجة = prime * result + ((id == null)؟ 0: id.HashCode ()) ؛ نتيجة العودة } Override Public Boolean يساوي (كائن OBJ) {if (this == obj) إرجاع true ؛ إذا (OBJ == NULL) عودة خطأ ؛ if (getClass ()! = obj.getClass ()) return false ؛ المستخدم الآخر = (المستخدم) OBJ ؛ if (id == null) {if (other.id! = null) return false ؛ } آخر إذا (! id.equals (other.id)) إرجاع خطأ ؛ العودة صحيح. } Override public string toString () {return "user [id =" + id + "، name =" + name + "، pwd =" + pwd + "]" ؛ }}الطبقة المنطقية:
واجهة
فئة التنفيذ
package cn.hncu.user.dao ؛ import java.util.arraylist ؛ import java.util.list ؛ import org.dom4j.document ؛ import org.dom4j.element ؛ import org.dom4j.node ؛ import cn.hncu.user.domain.User cn.hncu.user.Utils.Idgenerate ؛ فئة عامة userDaoImpl تنفذ userDao {dOMP = domfactory.getdom () ؛ Override Public Boolean REG (مستخدم المستخدم) {// // title [@lang = 'eng'] يختار جميع عناصر العنوان ، وهذه العناصر لها سمات lang مع القيمة المهنية. // dom.selectsinglenode ("// user [fn: lower-case (name) = '"+user.getName (). tolowerCase ()+"']") ؛ node node = dom.selectsinglenode ("// user [name = '"+user.getName ()+"']") ؛ . } العنصر جذر = dom.getRootElement () ؛ element euser = root.adDelement ("user") ؛ معرف السلسلة = idgenerate.getId () ؛ euser.addattribute ("id" ، id) ؛ euser.addelement ("name"). setText (user.getName ()) ؛ euser.addelement ("pwd"). setText (user.getpwd ()) ؛ domfactory.save () ؛ العودة صحيح. } Override Public List <Sether> QueryAllusers () {list <Ser> users = new ArrayList <Sether> () ؛ قائمة <Element> en = dom.selectnodes ("// user") ؛ لـ (العنصر E: en) {string id = e.attributeValue ("id") ؛ اسم السلسلة = E.ElementText ("الاسم") ؛ مستخدم المستخدم = مستخدم جديد () ؛ user.setId (id) ؛ user.setName (name) ؛ user.add (user) ؛ } إرجاع المستخدمين ؛ } Override public void deluser (string id) {// system.out.println (id) ؛ string xpath = "// user [id = '"+id+"']" ؛ Node Node = dom.SelectSingLenode (xPath) ؛ if (node! = null) {// system.out.println ("del ...") ؛ node.getParent (). إزالة (عقدة) ؛ domfactory.save () ؛ }}} أدوات مجموعة الأدوات:
احصل على معرف المستخدم
package cn.hncu.user.Utils ؛ import java.util.uuid ؛ الفئة العامة idgenerate {private idgenerate () {} static string getid () {// return uuid.randomuid (). toString () ؛ إرجاع uuid.randomuuid (). toString (). استبدال ("-" ، "") ؛ }}طرق الحصول على وحفظ DOM لمستخدمي قاعدة البيانات. xml
نستخدم هنا حزمة DOM4J ، لذلك نحتاج إلى استيراد المواقع المقابلة لحزم DOM4J:
package cn.hncu.user.Utils ؛ import java.io.fileOutputStream ؛ import org.dom4j.document ؛ import org.dom4j.documentexception ؛ import org.dom4j.io.saxReader ؛ import org.dom4j.io.xmlwriter ؛ public class domfactory اسم الملف الثابت الخاص ؛ static {try {saxreader r = new SaxReader () ؛ filename = domfactory.class.getClassLoader (). getResource ("users.xml"). getPath () ؛ system.out.println ("users.xml path:"+filename) ؛ /// d: /apache-tomcat-7.0.30/webapps/usersweb/web-inf/classes/users.xml // note: الحصول على طريقة الموارد ضمن فئة المشروع الحالية في DOM = R.READ (Filename) ؛ } catch (documentException e) {E.PrintStackTrace () ؛ }} المستند الثابت العام getDom () {return dom ؛ } void static static save () {xmlWriter w ؛ حاول {w = new xmlWriter (fileOutputStream جديد (اسم الملف)) ؛ W.Write (DOM) ؛ W.Close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }}}قاعدة البيانات:
<؟
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.