이 기사의 예는 참조에 대한 Java 사용자 등록 기능을 공유합니다. 특정 내용은 다음과 같습니다
메인 페이지 :
브라우저 표시 :
코드 구현 :
<%@ page language = "java"import = "java.util.*"pageEncoding = "utf-8"%> <html> <head> <title> 사용자 정보 관리 </title> </head> <body> 사용자 등록 : <br/> <! type = "password"name = "pwd"/> <br/> <input type = "제출"value = "register"/> </form> <!-절대 경로-> <a href = "/usersweb/reg"> 모든 사용자보기 </a> <!-방법 : hyperlink 및 추가 매개 변수 추가 url-> </html>
등록 기능 :
브라우저 표시 :
1) 성공적으로 등록 :
2) 등록 실패 :
코드 구현 :
패키지 cn.hncu.user.servlet; import java.io.ioexception; import java.io.printwriter; import java.util.list; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.httpp.httpp.httpp.httppect.; javax.servlet.http.httpervletresponse; import cn.hncu.user.dao.userdao; import cn.hncu.user.dao.userdaoimpl; import cn.hncu.user.user.user; public class regservlet 확장 httpservlet {// public class reltends httpservlet {// 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 ( "<테이블 셀 패키는 = 0 경계 = 1px> <tr> <th> 작동 </th> <th> name </th> </tr>"); for (user u : user) {out.println ( "<tr> <td> <a href = '/userweb/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 요청, httpservletResponse 응답) servletexception, ioexception {request.setcharacterencoding ( "utf-8"); 문자열 이름 = request.getParameter ( "name"); 문자열 pwd = request.getParameter ( "pwd"); 사용자 user = 새 사용자 (); user.setName (이름); user.setpwd (pwd); 부울 boo = dao.reg (사용자); 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.servletxception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpervletrequest; import javax.servlet.http.httprspronge; cn.hncu.user.dao.userdao; import cn.hncu.user.dao.userdaoimpl; public class delservlet는 httpservlet {public void doget (httpservletrequest 요청) servletexception, ioexception (httpservletrequest resight)을 확장합니다. System.out.println ( "del-id :"+id); userdao dao = new userDaoimpl (); dao.deluser (id); // 홈페이지로 이동-Response.SendRedirect ( "/UsersWeb/index.jsp"); } public void dopost (httpservletRequest 요청, httpservletResponse 응답) servletexception, ioexception {doget (요청, 응답); }}구성 파일 :
<? xml version = "1.0"encoding = "utf-8"?> <web-app version = "3.0"xmlns = "http://java.sun.com/xml/xml/ns/javaee"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance. xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name> </display-name> <servlet> <servlet-name> regservlet </servlet-name> <Servlet-class> cn.hncu.user.servlet.regservlet </servlet-class> </servlet> <servlet> <servlet-name> delservlet </servlet-name> <servlet-class> cn.hncu.user.servlet.delservlet.delservlet.delservlet.delservlet </servping> <servlet-name> regservlet-name> regservlet-name> <Url-pattern>/reg </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> delservlet </servlet-name> <url-pattern>/del </url-pattern> </servlet-mapping> <welcome-list> <welce-file> index.jsp </welcome-file> </weel-file-list>
도메인 패키지의 사용자 객체
패키지 cn.hncu.user.domain; public class user {private string id; 개인 문자열 이름; 개인 문자열 pwd; 공개 문자열 getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getPwd () {return pwd; } public void setpwd (문자열 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를 반환합니다. 사용자 기타 = (사용자) obj; if (id == null) {if (other.id! = null) false를 반환합니다. } else if (! id.equals (기타 .id))가 false를 반환합니다. 진실을 반환하십시오. } @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.domain.user; import Cn.hncu.ustil.ustil cn.hncu.user.utils.idgenerate; public class userdaoimpl empersdao {document dom = domfactory.getdom (); @override public boolean reg (사용자 사용자) {// // title [@lang = 'eng'] 모든 제목 요소를 선택하고 이러한 요소에는 값 Eng가있는 lang 속성이 있습니다. // dom.selectsingLenode ( "// user [fn : @name) = '"+user.getName (). tolowercase ()+"']"); 노드 노드 = dom.selectsingLenode ( "// user [name = '"+user.getName ()+"']"); // user.getName ()의 값을 가진 사용자 노드의 이름 요소는 "name [= '"+user.getName (). tolowerCase ()+"']"if (node! = null) {return false; } 요소 root = dom.getRootElement (); 요소 euser = root.addelement ( "사용자"); 문자열 id = idgenerate.getId (); euser.addattribute ( "id", id); euser.addelement ( "name"). settext (user.getname ()); euser.addelement ( "pwd"). settext (user.getpwd ()); domfactory.save (); 진실을 반환하십시오. } @override public list <user> queryAllUsers () {list <user> user = new ArrayList <User> (); List <ELTECT> en = dom.SelectNodes ( "// user"); for (요소 e : en) {string id = e.attributeValue ( "id"); 문자열 이름 = E.ElementText ( "이름"); 사용자 user = 새 사용자 (); user.setid (id); user.setName (이름); user.add (사용자); } 반환 사용자; } @override public void deluser (String id) {// system.out.println (id); 문자열 xpath = "// user [@id = '"+id+"']"; 노드 노드 = dom.selectsingLenode (xpath); if (node! = null) {// system.out.println ( "del ..."); node.getParent (). 제거 (노드); domfactory.save (); }}} 툴킷 유틸리티 :
사용자 ID를 얻으십시오
package cn.hncu.user.utils; import java.util.uuid; public class idgenerate {private idgenerate () {} public static string getId () {// return uuid.randomuuid (). toString (); return uuid.randomuuid (). toString (). replace ( "-", ""); }}데이터베이스 users.xml의 DOM을 얻고 저장하는 방법
여기서 우리는 dom4j 패키지를 사용하므로 dom4j 패키지의 해당 위치를 가져와야합니다.
패키지 cn.hncu.user.utils; import java.io.fileoutputStream; import org.dom4j.document; import org.dom4j.documentexception; import org.documexception; import org.dom4j.io.xmlwriter; public class domplactory {private class doctor 돔; 개인 정적 문자열 파일 이름; static {try {saxReader r = new SaxReader (); filename = domfactory.class.getClassLoader (). getResource ( "users.xml"). getPath (); System.out.println ( "user.xml path :"+filename); /// d :/Aapache-tomcat-7.0.30/webapps/usersweb/web-inf/classes/users.xml // 참고 : Tomcat dom = R.Read (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 (예외 e) {e.printstacktrace (); }}}데이터 베이스:
<? xml 버전 = "1.0"encoding = "utf-8"?> <users> </users>
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.