java--用户管理(前端+后台)

来源:互联网 发布:腾讯云mysql 编辑:程序博客网 时间:2024/06/06 04:25

这里写图片描述
主页面:
浏览器显示:这里写图片描述
代码实现:

<%@ 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.List;import cn.hncu.user.domain.User;public interface UserDao {    public boolean reg(User user);    public List<User> queryAllUsers();    public void delUser(String id);}

实现类

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>
1 0
原创粉丝点击