最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java用戶管理注冊功能 含前后臺代碼

 更新時間:2016年10月11日 10:04:07   作者:xanlv  
這篇文章主要介紹了java用戶管理注冊功能,含前端和后臺代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java用戶注冊功能,供大家參考,具體內(nèi)容如下

主頁面:

瀏覽器顯示:

代碼實現(xiàn):

<%@ 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后面添加參數(shù) -->
 </body>
</html>

注冊功能:

瀏覽器顯示:

1)注冊成功:


2)注冊失?。?/p>

代碼實現(xiàn):

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>注冊結(jié)果頁面</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>注冊結(jié)果頁面</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();
  }

}

查看所有用戶功能:

瀏覽器顯示:

代碼實現(xiàn): RegServlet類的doGet方法實現(xiàn)

刪除操作功能:刪除成功會重定向到主頁面

代碼實現(xiàn):

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);

    //轉(zhuǎn)到主頁--重定向
    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:

接口


實現(xiàn)類

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("http://user[fn:lower-case(@name)='"+user.getName().toLowerCase()+"']");
    Node node=dom.selectSingleNode("http://user[name='"+user.getName()+"']");//user節(jié)點下值為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("http://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="http://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("-", "");
  }
}

對數(shù)據(jù)庫users.xml的dom獲取和保存方法

這里用dom4j的包,,,所以要把dom4j兩個包導(dǎo)入的相應(yīng)的位置:

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中當(dāng)前項目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();
    }
  }
}

數(shù)據(jù)庫:

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

</users>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用Micrometer實現(xiàn)度量和監(jiān)控

    SpringBoot使用Micrometer實現(xiàn)度量和監(jiān)控

    在構(gòu)建和維護現(xiàn)代應(yīng)用程序時,度量和監(jiān)控是至關(guān)重要的,它們可以幫助您了解應(yīng)用程序的性能、穩(wěn)定性和可用性,本文將介紹如何在Spring Boot應(yīng)用程序中使用Micrometer進行度量和監(jiān)控,需要的朋友可以參考下
    2023-10-10
  • Java 關(guān)系運算符詳情及案例(下)

    Java 關(guān)系運算符詳情及案例(下)

    這篇文章主要介紹了Java 關(guān)系運算符詳情及案例的實現(xiàn),主要續(xù)上篇文章,上一篇文章我們講到“等于”運算符 (==)、“不等于”運算符(!=)、“大于”運算符(>) ,這篇文章繼續(xù)給大家講解相關(guān)知識,需要的朋友可以參考一下
    2021-12-12
  • mybatis insert foreach循環(huán)插入方式

    mybatis insert foreach循環(huán)插入方式

    這篇文章主要介紹了mybatis insert foreach循環(huán)插入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較

    詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較

    這篇文章主要介紹了詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中HTTP GET方法調(diào)用帶有body的問題解決

    Java中HTTP GET方法調(diào)用帶有body的問題解決

    這篇文章主要為大家詳細介紹了Java如何解決HTTP GET方法調(diào)用帶有body的問題,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2024-02-02
  • SpringBoot整合Java Web三大件的詳細過程

    SpringBoot整合Java Web三大件的詳細過程

    這篇文章主要介紹了SpringBoot整合Java Web三大件的詳細過程,注冊自定義的Servlet、Filter、Listener組件到springboot內(nèi)嵌的Servlet容器,讓它們發(fā)揮自己的作用,需要的朋友可以參考下
    2025-04-04
  • springboot整合token的實現(xiàn)代碼

    springboot整合token的實現(xiàn)代碼

    這篇文章主要介紹了springboot整合token的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • java中的Reference類型用法說明

    java中的Reference類型用法說明

    這篇文章主要介紹了java中的Reference類型用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java Http接口加簽、驗簽操作方法

    Java Http接口加簽、驗簽操作方法

    下面小編就為大家?guī)硪黄狫ava Http接口加簽、驗簽操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java反射機制實例代碼分享

    Java反射機制實例代碼分享

    這篇文章主要介紹了Java反射機制實例代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論

汉中市| 五寨县| 怀仁县| 子长县| 方山县| 罗山县| 班玛县| 乌兰县| 彝良县| 固镇县| 鄢陵县| 阿荣旗| 略阳县| 松潘县| 天台县| 临江市| 孟村| 车险| 苍溪县| 杭州市| 湟源县| 陕西省| 遂川县| 都安| 始兴县| 甘南县| 出国| 博爱县| 渭源县| 鹤壁市| 富民县| 莱州市| 同德县| 鄂伦春自治旗| 龙岩市| 石景山区| 上犹县| 谷城县| 花垣县| 泸定县| 茂名市|