この記事の例は、参照のJavaユーザー登録関数を共有しています。特定のコンテンツは次のとおりです
メインページ:
ブラウザディスプレイ:
コード実装:
<%@ page Language = "Java" Import = "Java.util。*" PageEncoding = "UTF-8"%> <HTML> <HEAD> <TITLE>ユーザー情報管理</title> </head> <body>ユーザー登録:<br/> < type = "password" name = "pwd"/> <br/> <input type = "submit" value = "regist"/> </form> <! - 絶対パス - > <> <a href = "/usersweb/reg">すべてのユーザーを表示</a> <! - get method:get and hyperlink and parmiters and url->
登録機能:
ブラウザディスプレイ:
1)登録に正常に:
2)登録が失敗しました:
コード実装:
パッケージcn.hncu.user.servlet; import java.io.ioexception; import java.io.io.printwriter; Import java.util.list; Import javax.servletexception; Import javax.servlet.http.httpservlet; Import.havax.http.htptptsptptsptpstptsptpretlett. javax.servlet.http.httpservletresponse;インポートcn.hncu.user.dao.userdao;インポートcn.hncu.user.dao.userdaoimpl;インポートuserdaoimpl(); public void doget(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {list <user> users = dao.queryallusers(); Response.setContentType( "text/html; charset = utf-8"); 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> name </th> </tr>"); for(user u:users){out.println( "<tr> <td> <a href = '/usersweb/del?id ="+u.getid()+"'> delete </a> </th>"); out.println( "<th>"+u.getname()+"</th> </tr>"); } out.println( "</table>"); out.println( "</body>"); out.println( "</html>"); out.flush(); out.close(); } public void dopost(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {request.setcharacterencoding( "utf-8");文字列名= request.getParameter( "name");文字列pwd = request.getParameter( "pwd"); user user = new user(); user.setname(name); user.setpwd(pwd); boolean boo = dao.reg(user); Response.setContentType( "text/html; charset = utf-8"); 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+")登録に正常に..."); } else {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(); }}すべてのユーザー機能を表示します。
ブラウザディスプレイ:
コード実装:regservletクラスのdogetメソッド実装
操作機能の削除:削除が成功した後、削除はメインページにリダイレクトされます
コード実装:
パッケージcn.hncu.user.servlet; import java.io.ioexception; import javax.servlet.servletexception; Import javax.servlet.http.httpservlet; import javax.servlet.servlet.http.httpservletrequest; Import javax.httpresponsepsonse; cn.hncu.user.dao.userdao;インポートcn.hncu.user.dao.userdaoimpl; public class delservletはhttpservletを拡張します{public void doget(httpservletrequest request(htttpservletresponse応答) System.out.println( "del-id:"+id); userdao dao = new userdaoimpl(); dao.deluser(id); //ホームページに移動します - Redirect Response.sendredirect( "/usersweb/index.jsp"); } public void dopost(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {doget(request、response); }}構成ファイル:
<?xml version = "1.0" encoding = "utf-8"?> <web-appバージョン= "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instcance" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name> </display> servlet-name> <サーブレットクラス> cn.hhncu.user.servlet.regservlet </servlet-class> </servlet> <servlet> <servlet-name> delservlet </servlet-name> <servlet-class> cn.hhncu.user.servlet.delservlet </servlet-class> <servlet-mapplet> <servlet-mapplet> <url-pattern>/reg </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> delservlet </servlet-name> <url-pattern>/del </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.jsp
ドメインパッケージのユーザーオブジェクト
パッケージcn.hncu.user.domain; public class user {private string id;プライベート文字列名;プライベート文字列PWD; public string getName(){return name; } public void setName(string name){this.name = name; } public string getpwd(){return pwd; } public void setPwd(string pwd){this.pwd = pwd; } public string getId(){return id; } public void setid(string id){this.id = id; } @override public int hashcode(){final int prime = 31; int result = 1; result = prime * result +((id == null)?0:id.hashcode());返品結果; } @Override public boolean equals(object obj){if(this == obj)return true; if(obj == null)falseを返します。 if(getClass()!= obj.getClass())falseを返します。ユーザーother =(user)obj; if(id == null){if(other.id!= null)falseを返します。 } else if(!id.equals(other.id))return false; trueを返します。 } @Override public String toString(){return "user [id =" + id + "、name =" + name + "、pwd =" + pwd + "]"; }}論理レイヤー:
インタフェース
実装クラス
パッケージ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.user.user.user.user.user.user.user. cn.hncu.user.utils.idgenerate; public class userdaoimpl exmperments userdao {document dom = domfactory.getdom(); @Override public boolean reg(user user){// // title [@lang = 'eng']すべてのタイトル要素を選択し、これらの要素にはvalue eng。 // dom.selectsinglenode( "// user [fn:lower-case(@name)= '"+user.getName()。tolowercase()+"']"); node node = dom.selectsinglenode( "// user [name = '"+user.getName()+"']"); // user.getname()の値を持つユーザーノードの下の名前要素// "name [= '"+user.getName()。tolowercase()+"']" if(node!= null){return false; }要素root = dom.getRootelement();要素euser = root.AddElement( "user"); string id = idgenerate.getId(); euser.addattribute( "id"、id); euser.addelement( "name")。settext(user.getName()); euser.addelement( "pwd")。settext(user.getpwd()); domfactory.save(); trueを返します。 } @Override public List <user> queryallusers(){list <user> users = new ArrayList <user>(); list <element> en = dom.selectnodes( "// user"); for(要素e:en){string id = e.attributevalue( "id");文字列名= e.ElementText( "name"); user user = new user(); user.setId(id); user.setname(name); users.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()。remove(node); domfactory.save(); }}} Toolkit utils:
ユーザーIDを取得します
パッケージcn.hncu.user.utils; import java.util.uuid; public class idgenerate {private idgenerate(){} public static string getid(){// return uuid.randomuid()。toString(); uuid.randomuuid()。toString()。置換( " - "、 "")を返します。 }}データベースusers.xmlのDOMを取得および保存する方法
ここでは、DOM4Jパッケージを使用するため、DOM4Jパッケージの対応する場所をインポートする必要があります。
パッケージ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 domactory {prive static Dom;プライベート静的文字列ファイル名; static {try {saxreader r = new saxreader(); filename = domfactory.class.getClassLoader()。getResource( "users.xml")。getPath(); System.out.println( "users.xml path:"+filename); /// } catch(documentexception e){e.printstacktrace(); }} public static document getdom(){return dom; } public static void save(){xmlwriter w; try {w = new xmlwriter(new fileoutputStream(filename)); w.write(dom); w.close(); } catch(Exception e){e.printstacktrace(); }}}データベース:
<?xml version = "1.0" encoding = "utf-8"?> <users> </users>
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。