java使用者管理註冊功能 含前後台代碼_java

來源:互聯網
上載者:User

本文執行個體為大家分享了java使用者註冊功能,供大家參考,具體內容如下

首頁面:

瀏覽器顯示:

代碼實現:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head>  <title>使用者資訊管理</title> </head> <body>  使用者註冊:<br/>  <!-- 相對路徑 -->  <form action="reg" method="post">    姓名:<input type="text" name="name"/><br/>    密碼:<input type="password" name="pwd"/><br/>    <input type="submit" value="註冊"/>  </form>  <!-- 絕對路徑 -->  <a href="/usersWeb/reg">查看所有使用者</a><!-- GET方式:超連結和在url後面添加參數 --> </body></html>

註冊功能:

瀏覽器顯示:

1)註冊成功:


2)註冊失敗:

代碼實現:

package 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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.hncu.user.dao.UserDao;import cn.hncu.user.dao.UserDaoImpl;import cn.hncu.user.domain.User;public class RegServlet extends HttpServlet {  //注入  UserDao dao=new UserDaoImpl();  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws 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 cellspacing=0 border=1px><tr><th>操作</th><th>姓名</th></tr>");    for(User u:users){      out.println("<tr><td><a href='/usersWeb/del?id="+u.getId()+"'>刪除</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 response)      throws ServletException, IOException {    request.setCharacterEncoding("utf-8");    String name=request.getParameter("name");    String 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("您("+name+")註冊失敗了...<br/>使用者名稱已存在,請換一個註冊");    }    out.println("<a href='javascript:history.go(-1)'>返回</a>");    out.println(" </BODY>");    out.println("</HTML>");    out.flush();    out.close();  }}

查看所有使用者功能:

瀏覽器顯示:

代碼實現: RegServlet類的doGet方法實現

刪除操作功能:刪除成功會重新導向到首頁面

代碼實現:

package cn.hncu.user.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.hncu.user.dao.UserDao;import cn.hncu.user.dao.UserDaoImpl;public class DelServlet extends HttpServlet {  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    String id=request.getParameter("id");//   System.out.println("del-id:"+id);    UserDao dao=new UserDaoImpl();    dao.delUser(id);    //轉到首頁--重新導向    response.sendRedirect("/usersWeb/index.jsp");  }  public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    doGet(request,response);  }}

設定檔:

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"   xmlns="http://java.sun.com/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</servlet-class> </servlet> <servlet-mapping>  <servlet-name>RegServlet</servlet-name>  <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</welcome-file> </welcome-file-list></web-app>

domain包的User對象

package cn.hncu.user.domain;public class User {  private String id;  private String name;  private String 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());    return result;  }  @Override  public boolean equals(Object obj) {    if (this == obj)      return true;    if (obj == null)      return false;    if (getClass() != obj.getClass())      return false;    User other = (User) obj;    if (id == null) {      if (other.id != null)        return false;    } else if (!id.equals(other.id))      return false;    return true;  }  @Override  public String toString() {    return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + "]";  }}

邏輯層dao:

介面


實作類別

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;import cn.hncu.user.utils.DomFactory;import cn.hncu.user.utils.IDGenerate;public class UserDaoImpl implements UserDao{  Document dom=DomFactory.getDom();  @Override  public boolean reg(User user) {    //  //title[@lang='eng']選取所有 title 元素,且這些元素擁有值為 eng 的 lang 屬性。//   dom.selectSingleNode("//user[fn:lower-case(@name)='"+user.getName().toLowerCase()+"']");    Node node=dom.selectSingleNode("//user[name='"+user.getName()+"']");//user節點下值為user.getName()的name元素    //"name[='"+user.getName().toLowerCase()+"']"    if(node!=null){      return false;    }    Element root=dom.getRootElement();    Element 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();    return true;  }  @Override  public List<User> queryAllUsers() {    List<User> users=new ArrayList<User>();    List<Element> en=dom.selectNodes("//user");    for(Element e:en){      String id=e.attributeValue("id");      String name=e.elementText("name");      User user=new User();      user.setId(id);      user.setName(name);      users.add(user);    }    return users;  }  @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();    }  }}

工具包utils:
擷取使用者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兩個包匯入的相應的位置:

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 {  private static Document dom;  private static String fileName;  static{    try {      SAXReader r=new SAXReader();      fileName=DomFactory.class.getClassLoader().getResource("users.xml").getPath();      System.out.println("users.xml的路徑:"+fileName);///D:/apache-tomcat-7.0.30/webapps/usersWeb/WEB-INF/classes/users.xml      //注意:擷取tomcat中當前項目classpath下的資源方式      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 (Exception e) {      e.printStackTrace();    }  }}

資料庫:

<?xml version="1.0" encoding="UTF-8"?><users></users>

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.