java注册用户代码_java用户管理注册功能 含前后台代码
本文实例为大家分享了java用户注册功能,供大家参考,具体内容如下
主页面:
浏览器显示:
代码实现:
用户信息管理
用户注册:
姓名:
密码:
查看所有用户
注册功能:
浏览器显示:
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 users=dao.queryAllUsers();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("");
out.println("
注册结果页面");
out.println("
");
out.println("
操作 | 姓名 |
---|
for(User u:users){
out.println("
删除");
out.println("
"+u.getName()+"");
}
out.println("
");
out.println(" ");
out.println("");
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(""-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("");
out.println("
注册结果页面");
out.println("
");
if(boo){
out.println("恭喜您("+name+")注册成功了...");
}else{
out.println("您("+name+")注册失败了...
用户名已存在,请换一个注册");
}
out.println("返回");
out.println(" ");
out.println("");
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);
}
}
配置文件:
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">
RegServlet
cn.hncu.user.servlet.RegServlet
DelServlet
cn.hncu.user.servlet.DelServlet
RegServlet
/reg
DelServlet
/del
index.jsp
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 queryAllUsers() {
List users=new ArrayList();
List 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();
}
}
}
数据库:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java注册用户代码_java用户管理注册功能 含前后台代码相关推荐
- java修改密码代码_Java用户修改密码
每一个应用系统都离不开用户模块.用户模块除了提供登录之外,还允许用户查看自己的信息和进行修改.本实例将创建一个用户类,然后再创建一个测试类调用用户类,实现修改密码的功能. 本实例的用户类非常简单,仅包 ...
- java简单小程序_Java简易登录注册小程序
这篇文章主要介绍了Java图形界面开发,简易登录注册小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的 ...
- java编写限制密码_java – 用户’root’@’localhost’拒绝访问(使用密码:YES)
我想连接我的本地MYSQL数据库,它与XAMP服务器一起安装.我创建了一个新用户,即"NewUser",其密码为"password".我给了这个用户所有的特权. ...
- java 秒杀代码_Java秒杀系统实战系列~商品秒杀代码实战
摘要: 本篇博文是"Java秒杀系统实战系列文章"的第六篇,本篇博文我们将进入整个秒杀系统核心功能模块的代码开发,即"商品秒杀"功能模块的代码实战. 内容: & ...
- java加快内存回收_java内存管理之垃圾回收及JVM调优
GC(garbage Collector 垃圾收集器) 作用:a.内存的动态分配:b.垃圾回收 注:Java所承诺的自动内存管理主要是针对对象内存的回收和对象内存的分配. 一.垃圾标记 程序计数器.J ...
- java如何实现下载_java 如何实现下载功能
展开全部 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import j ...
- java按顺序发牌_Java实现斗地主发牌功能(含按顺序发牌和玩家牌排序显示等功能)...
斗地主是全国范围内的一种桌面游戏,尽管全国各种类型,但大同小异,今天我们先来实现一下斗地主中的发牌功能,为了程序的可读性以及可拓展性,此次我们使用面向对象的方法来实现此功能. 首先,斗地主要求有扑克和 ...
- java实现倒计时闹钟_js带闹铃功能的倒计时代码
Js倒计时代码,带闹铃功能,自定义闹钟倒计时功能,点击开始按钮,即可开始倒数,代码不是太复杂,新手应该能看懂,代码分享给大家. 效果图: 源码: Js倒计时,闹铃功能 function $(id){ ...
- python搞笑代码-为PYTHON添加define功能【搞笑代码】
偶然间在CSDN上面看到了这个代码,真的是什么回路新奇的代码都有啊 import pprint import os import ast import astunparse SUFFIX_FILE_N ...
最新文章
- 贝叶斯深度学习2020 最新研究总结
- 沈向洋博士:三十年科研路,我踩过的那些坑
- android电视工程模式,智能电视如何打开ADB?进入工程模式方法
- 关于微信的jsapi_ticket的获取方法;
- 2019第十二届“认证杯”数学建模(第二阶段)
- U3D 扩展方法 Dotween tolua
- vue获取编辑器纯文字_vue中使用富文本编辑器
- how to install tensorflow-gpu==1.12.0
- ArcGIS修改矢量边界(土地利用图图斑)
- android维文字体下载,Badam维汉输入法
- android获取截屏图片大小,【Android】android获取长图截屏(显示之外的也要)
- 美服lol服务器状态,LOL美服训练模式上线:炮塔可关闭 野区无限刷新
- Docker 搭建 YApi 可视化接口管理平台
- 关于一维数组(小朋友都能明白的一维数组超详细介绍)
- flask学习笔记代码篇-10
- linux 硬盘满了如何处理
- APIcloud的基本使用
- GoldWave 音频截取工具
- 概率论与数理统计--知识点
- PointPainting 复现
热门文章
- Spring Cloud Contract 契约测试实践
- 七牛云rs.php位置,七牛云存储PHP生成管理凭证以及查看文件(state)
- 帝国cms后台模板编辑器辅助增强插件代码高亮格式化显示
- 001考试类小程序设计方案简要需求分析和数据库简要设计
- cpp cu入门教程
- Failed to load the native TensorFlow runtime.
- Tensorflow csv文件读写与分批训练
- python 调用c/c++
- ios10申请权限以及弹出允许使用数据框
- cannot find -lcudart