jdbc实现项目

今天的任务是:
在这里插入图片描述
实现了数据库的建立,和实体类后开始完成注册页面,但是卡在了点击日历输入自己的生日这一步,最后我去问了老师发现是路径的问题
这份是js的下载官网,用来写日历可靠

  1. **

页面注册html

**


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    //我是这么写的
    //<script type="text/JavaScript" src="js/My97DatePicker/WdatePicker.js"></script>
    
    //实际上应该这么写,还是包的问题,因为我是整个My97DatePicker包放在js包里,所以要加上"./"
      <script type="text/JavaScript" src="./js/My97DatePicker/WdatePicker.js"></script>
    <script src="js/jquery-1.12.1.js"></script>
    <script src="js/demo.js"></script>

</head>
<body>
<h2>用户注册</h2>
<form id="register" method="post">
    用户名:<input type="text" name="name">
    密码:<input type="password" name="password">
    性别:<select name="sex">
        <option></option>
        <option></option>
    </select>
    生日:<input type="text" name="birthday" onFocus="WdatePicker({isShowClear:false, readOnly:true})"/>
    <input type="button" value="注册" id="register_button">
</form>
</body>
</html>

好啦好啦解决完第一个问题现在开始

注册 页面的servlet

**了。这里的问题很严重,因为我到现在还没解决后台String类型的birthday怎么发送给数据库中date类型的birthday
我试了很多种方法都没有用" Date date=Date.valueOf(birthdays)",会显示valueOf错误,迷惑行为,好了解决了我发现是sql语句写错了,是inert into而不是inert to
//第一次的servlet

package username_register.servlet;

import com.alibaba.fastjson.JSONObject;
import sun.print.SunMinMaxPage;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.crypto.Data;
import java.beans.SimpleBeanInfo;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.SimpleTimeZone;

@WebServlet(name = "RegServlet",urlPatterns = "/RegServlet")
public class RegServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PreparedStatement pstmt=null;
        Connection conn=null;
        String name=request.getParameter("name");
        String pwd=request.getParameter("password");
        String sex=request.getParameter("sex");
//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        String birthdays=request.getParameter("birthday");
//        Date date= Date.valueOf(birthdays);
        Date date=Date.valueOf(birthdays)
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/java";
            String username = "root";
            String password = "root";
            conn = DriverManager.getConnection(url, username, password);
            String sql="insert into reg(name,password,sex,birthday,createtime,updatetime) values (?,?,?,?,?,?)";
            pstmt=conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setString(2,pwd);
            pstmt.setString(3,sex);
            pstmt.setString(4,birthdays);
            Timestamp createtime=new Timestamp(System.currentTimeMillis());
            pstmt.setTimestamp(5,createtime);
            Timestamp updatetime=new Timestamp(System.currentTimeMillis());
            pstmt.setTimestamp(6,updatetime);
            int result=pstmt.executeUpdate();
            if(result!=0){
               response.getWriter().print("");
               conn.commit();
            }
            pstmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().print(e);
        }


    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }
}
、、第二次的servlet,其实都是一样的,只不过多了个用户名重复的判断,这里我真的调试了好久最后发先是先进行用户名是否重复的判断,再进行result.next()的判断

```java
package username_register.servlet;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;

@WebServlet(name = "RegServlet",urlPatterns = "/RegServlet")
public class RegServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PreparedStatement pstmt=null;
        Connection conn=null;
        String name=request.getParameter("name");
        String pwd=request.getParameter("password");
        String sex=request.getParameter("sex");
        String birthdays=request.getParameter("birthday");
        Date date= Date.valueOf(birthdays);
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/usermanagerjdbcdb";
            String username = "root";
            String password = "root";
            conn = DriverManager.getConnection(url, username, password);
            String sql1="select name from usermanager where name=?";
            pstmt=conn.prepareStatement(sql1);//预编译sql语句,我忘记加这句了,结果就不能正常运行,先初始化SQL,先把这个SQL提交到数据库中进行预处理
            pstmt.setString(1,name);//第一个问好,name传入的参数值
            ResultSet rs=pstmt.executeQuery();//查询返回的结果集
            System.out.println(rs);
            //调试了半天终于知道错在哪了,不能是rs!=null,因为rs有值得,所以不会else
            if(rs.next()){//存在数据
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("code",201);
                jsonObject.put("message","用户名重复");
                response.getWriter().print(jsonObject.toString());
            }else{
                String sql="insert into usermanager(name,password,sex,birthday,createtime,updatetime) values (?,?,?,?,?,?)";
                pstmt=conn.prepareStatement(sql);
                pstmt.setString(1,name);
                pstmt.setString(2,pwd);
                pstmt.setString(3,sex);
                pstmt.setDate(4,date);
                Timestamp createtime=new Timestamp(System.currentTimeMillis());
                pstmt.setTimestamp(5,createtime);
                Timestamp updatetime=new Timestamp(System.currentTimeMillis());
                pstmt.setTimestamp(6,updatetime);
                int result=pstmt.executeUpdate();
                if(result!=0){
                    JSONObject jsonObject=new JSONObject();
                    jsonObject.put("code",200);
                    jsonObject.put("message","用户成功注册");
                    response.getWriter().print(jsonObject.toString());
                }else {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("code", 201);
                    jsonObject.put("message", "用户注册失败");
                    response.getWriter().print(jsonObject.toString());
                }
        }
            pstmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().print(e);
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }
}

***

## **2.实现用户登录页面**

***
		**

# **完成登录页面的html**

**
```java
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
    <script src="js/jquery-1.12.1.js"></script>
    <script src="js/demo.js"></script>
</head>
<body>
<h1>用户登录</h1>
用户名:<input type="text" name="name" value="">
密码:<input type="password" name="password" value="">
<button id="login_btn" type="button">登录</button>
</body>
</html>

2.2登录页面的servlet

package username_register.servlet;

import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取参数
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String name = request.getParameter("name");
        String pwd = request.getParameter("password");
        //操作数据库
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        Connection conn = null;
        try {
            //1.加载并注册数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            String  url = "jdbc:mysql://localhost:3306/usermanagerjdbcdb";
            String usename = "root";
            String password = "root";
            conn = DriverManager.getConnection(url,usename,password);
            String sql = "select * from usermanager where name=? and password=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setString(2,pwd);
            //4.往数据库执行操作命令
            rs = pstmt.executeQuery();
            //5.操作ResultSet结果集
            if(rs.next()) {
                //将登录成功的sessionId存入数据库中
                Timestamp createTime = new Timestamp(System.currentTimeMillis());
                Timestamp updateTime = createTime;
                //先判定sessionId在表中是否已经存在
                String sessionId = request.getSession().getId();
                String sql2 = "select * from loginedsessionid where sessionId=?";
                pstmt = conn.prepareStatement(sql2);
                pstmt.setString(1, sessionId);
                ResultSet rs2 = pstmt.executeQuery();
                if (!rs2.next()) {   //sessionId在表中不存在,添加入库
                    String sql3 = "insert  into loginedsessionid(sessionId,createTime,updateTime) values(?,?,?)";
                    pstmt = conn.prepareStatement(sql3);
                    pstmt.setString(1, sessionId);
                    pstmt.setTimestamp(2, createTime);
                    pstmt.setTimestamp(3, updateTime);
                    int result = pstmt.executeUpdate();
                    if (result < 0) {
                        JSONObject jsonObject = new JSONObject();
                        jsonObject.put("code", 201);
                        jsonObject.put("message", "登录失败");
                        response.getWriter().print(jsonObject.toString());
                    }
                }
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("code", 200);
                jsonObject.put("message", "用户登录成功");
                PrintWriter out=response.getWriter();
                out.print(jsonObject.toString());

            }
            //6.关闭连接,释放资源
            rs.close();
            pstmt.close();
            conn.close();
        }catch (Exception e){//所有异常类的基类
            e.printStackTrace();
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("code", 202);
            jsonObject.put("message", "用户登录发生异常");
            response.getWriter().print(jsonObject.toString());

        }

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }

}


现在执行关于查询所有的界面
**

查询HTML

**代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script src="js/jquery-1.12.1.js"></script>
<script src="js/demo.js"></script>

<body>
<form>
    <button id="btn" type="button" >查询所有用户</button>
    <table border="1">
        <thead>
        <th>id</th>
        <th>name</th>
        <th>password</th>
        <th>sex</th>
        <th>birthday</th>
        <th>createtime</th>
        <th>updatetime</th>
        <th>操作</th>
        </thead>
        <tbody id="table"></tbody>
    </table>
</form>
</body>
</html>

2;相关**

查询servlet

**代码,但是怎么说就是有问题,第一次运行显示的是js中的$(functtion(){}没有定义,最后是因为<script src="js/jquery-1.12.1.js"></script>这句话是要作为第一句首先读取,否则就会报错。(以下所有问题写在代码中)

package username_register.servlet;

import com.alibaba.fastjson.JSON;
import jdbc_register.User;
import username_register.User.Register;

import javax.servlet.Registration;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.regex.Pattern;

@WebServlet(name = "SeleServlet",urlPatterns = "/SeleServlet")
public class SeleServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //这里是第四个问题,当我进行页面展示的时候发现中文字符都是以?显示,此时就要加上这两句话
       request.setCharacterEncoding("utf-8");//设置对客户端请求和数据库取值时的编码,
        response.setContentType("text/html;charset=utf-8");//是指定服务器响应给浏览器的编码==response.setCharacterEncoding(“UTF-8”)
        PreparedStatement pstmt=null;
        Connection conn=null;
        ResultSet rs=null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
           //这里是第二个问题,提示我说没有跟数据库连接上最后发现多个“:”,
           // String url="jdbc:mysql://localhsot:3306:/usermanagerjdbcdb";
             String url="jdbc:mysql://localhsot:3306/usermanagerjdbcdb";
            String username="root";
            String passowrd="root";
            conn= DriverManager.getConnection(url,username,passowrd);
            String sql="select * from usermanager";
            pstmt=conn.prepareStatement(sql);
            rs=pstmt.executeQuery(sql);
            ArrayList<Register> re=new ArrayList<>();
            while (rs.next()){
                int id=rs.getInt("id");
                String name=rs.getString("name");
                String password=rs.getString("password");
                String sex=rs.getString("sex");
                Date birthday=rs.getDate("birthday");
                Timestamp createtime=new Timestamp(System.currentTimeMillis());
                createtime=rs.getTimestamp("createtime");
                Timestamp updatetime=new Timestamp(System.currentTimeMillis());
                updatetime=rs.getTimestamp("updatetime");
                //这是第三个问题,点击查询按钮,所有的key都是null值,最后发现是因为sex属性没有写上,导致转化成json对象后,所有的属性对应不上,所以会报错
              //  Register user=new Register(id,name,password,birthday,createtime,updatetime);
                Register user=new Register(id,name,password,sex,birthday,createtime,updatetime);
                re.add(user);
            }
            String jsonstr = JSON.toJSONString(re);
            response.getWriter().print(jsonstr);
            rs.close();
            pstmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().print(e);
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);

    }
}

yeyeyeye又搞定一个!!!!!!!!!!!

更新的servlet

package username_register.servlet;

import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;

@WebServlet(name = "UpdateServlet",urlPatterns = "/UpdateServlet")
public class UpdateServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        int id=Integer.parseInt(request.getParameter("id"));
        String name=request.getParameter("name");
        String pwd=request.getParameter("password");
        String sex=request.getParameter("sex");
        String birthday=request.getParameter("birthday");
        Date date= Date.valueOf(birthday);
        Timestamp updatetime=new Timestamp(System.currentTimeMillis());
        PreparedStatement pstmt=null;
        Connection conn=null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/usermanagerjdbcdb";
            String username="root";
            String password="root";
            conn= DriverManager.getConnection(url,username,password);
            String sql = "update usermanager set name=?,password=?,sex=?,birthday=?,updateTime=? where id=?";
            pstmt=conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setString(2,pwd);
            pstmt.setString(3,sex);
            pstmt.setDate(4,date);
            pstmt.setTimestamp(5,updatetime);
            //这里直接就是报错,最后发现是id未加上,所以要请求id
            pstmt.setInt(6,id);
            int result=pstmt.executeUpdate();
            if(result>0){
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("code",200);
                jsonObject.put("message","用户更新成功");
                response.getWriter().print(jsonObject.toString());
            }else{
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("code",201);
                jsonObject.put("message","用户更新失败");
                response.getWriter().print(jsonObject.toString());
            }
            pstmt.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            response.getWriter().print(e);
            e.printStackTrace();
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

删除的servlet

package username_register.servlet;

import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

@WebServlet(name = "DeleteServlet",urlPatterns = "/DeleteServlet")
public class DeleteServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        int id=Integer.parseInt(request.getParameter("id"));
        PreparedStatement pstmt=null;
        Connection conn=null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/usermanagerjdbcdb";
            String username="root";
            String password="root";
            conn= DriverManager.getConnection(url,username,password);
            String sql="delete from usermanager where id=?";
            pstmt=conn.prepareStatement(sql);
            pstmt.setInt(1,id);
            int result=pstmt.executeUpdate();
            if(result>=0){
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("code",200);
                jsonObject.put("message","用户删除成功");
                //这里tostring()否则解析失败.236.100
                response.getWriter().print(jsonObject.toString());
            }else{
                JSONObject jsonObject=new JSONObject();
                jsonObject.put("code",201);
                jsonObject.put("message","用户删除失败");
                response.getWriter().print(jsonObject.toString());
            }
            pstmt.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }
}

总页面有一个

退出登录按钮(servlet)

package username_register.servlet;

import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取参数
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String name = request.getParameter("name");
        String pwd = request.getParameter("password");
        //操作数据库
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        Connection conn = null;
        try {
            //1.加载并注册数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            String  url = "jdbc:mysql://localhost:3306/usermanagerjdbcdb";
            String usename = "root";
            String password = "root";
            conn = DriverManager.getConnection(url,usename,password);
            String sql = "select * from usermanager where name=? and password=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setString(2,pwd);
            //4.往数据库执行操作命令
            rs = pstmt.executeQuery();
            //5.操作ResultSet结果集
            if(rs.next()) {
                //将登录成功的sessionId存入数据库中
                Timestamp createTime = new Timestamp(System.currentTimeMillis());
                Timestamp updateTime = createTime;
                //先判定sessionId在表中是否已经存在
                String sessionId = request.getSession().getId();
                String sql2 = "select * from loginedsessionid where sessionId=?";
                pstmt = conn.prepareStatement(sql2);
                pstmt.setString(1, sessionId);
                ResultSet rs2 = pstmt.executeQuery();
                if (!rs2.next()) {   //sessionId在表中不存在,添加入库
                    String sql3 = "insert  into loginedsessionid(sessionId,createTime,updateTime) values(?,?,?)";
                    pstmt = conn.prepareStatement(sql3);
                    pstmt.setString(1, sessionId);
                    pstmt.setTimestamp(2, createTime);
                    pstmt.setTimestamp(3, updateTime);
                    int result = pstmt.executeUpdate();
                    if (result < 0) {
                        JSONObject jsonObject = new JSONObject();
                        jsonObject.put("code", 201);
                        jsonObject.put("message", "登录失败");
                        response.getWriter().print(jsonObject.toString());
                    }
                }
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("code", 200);
                jsonObject.put("message", "用户登录成功");
                PrintWriter out=response.getWriter();
                out.print(jsonObject.toString());

            }
            //6.关闭连接,释放资源
            rs.close();
            pstmt.close();
            conn.close();
        }catch (Exception e){//所有异常类的基类
            e.printStackTrace();
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("code", 202);
            jsonObject.put("message", "用户登录发生异常");
            response.getWriter().print(jsonObject.toString());

        }

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }

}


最后一个是

总页面的 html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Home</title>
<!--    其实单独写js不好的地方就是会忘记script-->
    <script src="js/jquery-1.12.1.js"></script>
    <script src="js/demo.js"></script>
    <style>
/*<!-- 对应一行使用对应的css,调整左间距是对应文字这一行的,而不是整个框架的间距-->*/
        .divleft{
            /*padding-top:35% ;*/
            position:absolute;
            padding-left: 80px;
        }
        .divleft1{
            /*padding-top: 50%;*/
            position:absolute;
            padding-left: 80px;
            /*!*text-indent: 30px;*!这个是文字间距*/
            /*line-height是上下文本的间距,百分比越大,行间距越大*/
            line-height: 300%;
        }

        .main_left{
            width: 150px;
            height: 500px;
            float:left;
            cursor:pointer;
            position: relative;
            font-size: 15px;
            border-right-style: solid;
            boreder-right-height:300px;
        }
        .p{
            border-top-style:solid;
            border-right-style:solid;
            border-left-style:solid;
        }
        .btn{
            position: absolute;
            right:20px;
            top: 10px;
            width: 100px;
            height: 50px;
            boreder:3px solid #7CFC00
        }
    </style>
<body>
<h1>用户查询页面</h1>
<div class="p">
<div class="main_left" >
<!--    <ul>加上这个会跳转页面-->
    <a class="divleft" href="select.html" target='myIframe'>用户管理</a></br>
    <a class="divleft1" href="" target=""
    >部门管理</a>
</div>
    <iframe framecolor="black" frameborder="0" scrolling="yes" style="width:80%;height:500px" id="myIframe" name="myIframe"></iframe>
</div>
<button class="btn" id="btn_out" value="button" name="button">退出登录</button>
</body>
</html>



**

相关实体类

**

package username_register.User;

import com.alibaba.fastjson.annotation.JSONField;

import java.sql.Timestamp;
import java.util.Date;

//import javax.xml.crypto.Data;

public class Register {
    @JSONField(ordinal = 1)//添加属性指定输出顺序
   int id;
    @JSONField(ordinal = 2)
   String name;
    @JSONField(ordinal = 3)
   String password;
    @JSONField(ordinal = 4)
   String sex;
//没有分号,这不是一条指令
//      @JSONField(format = "yyyy-MM-dd");错误的
   @JSONField(format = "yyyy-MM-dd",ordinal = 5)
   Date birthday;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss",ordinal = 6)
   Date createtime;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss",ordinal = 7)
   Date updatetime;

    public Register(int id, String name, String password, Date birthday, Timestamp createtime, Timestamp updatetime) {
    }

    public Register(int id, String name, String password, String sex, Date birthday, Date createtime, Date updatetime) {

        this.id = id;
        this.name = name;
        this.password = password;
        this.sex = sex;
        this.birthday = birthday;
        this.createtime = createtime;
        this.updatetime = updatetime;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }
}

所有的Ajax.js

//注册
$(function () {
    $('#register_button').click(function () {
        var params=$("#register").serialize();
        $.post("/RegServlet",params,function (data,stauts) {
            console.log(data)
            var obj=JSON.parse(data);
            if(obj.code==200){
                alert(obj.message)
                window.location.href="login.html";
            }else{}
            alert(obj.message)
        })
    })
})

$(function () {
    function total () {
        $.post("/SeleServlet",{},
            function (data,status) {
                console.log(data);
                // console.log(typeof data)//string类型
                var objarray=JSON.parse(data);//不进行parse的话就会分割成一个一个
                //     // var objarry =(new Function("","return "+data))();
                if(objarray.code==200)
                    $("#table").empty();
                var rs = objarray.result;
                //   for(var i=0;i<objarray.lenght;i++)并不会在表格中输出因为objarray={result:{},code:200,message:"用户查询成功"}还存在code和message所以不能进行成功的输出!!!!!
                for(var i=0;i<rs.length;i++){
                    var $trTemp = $("<tr id='" + i + "'></tr>");
                    $trTemp.append("<td>" + rs[i].id + "</td>");
                    $trTemp.append("<td><input type='text' name='name' value='" + rs[i].name + "'></td>");
                    $trTemp.append("<td><input type='text' name='password' value='" + rs[i].password + "'></td>");
                    if(rs[i].sex=="女")
                        $trTemp.append("<td>"+"<select name='sex' value='"+rs[i].sex+"'><option value='男'>男</option>"
                            + "<option value='女' selected='selected'>女</option></select></td>");
                    else
                        $trTemp.append("<td>"+"<select name='sex' value='"+rs[i].sex+"'><option value='男' selected='selected'>男</option>"
                            + "<option value='女'>女</option></select></td>");
                    $trTemp.append("<td><input type='date' name='birthday' value='" + rs[i].birthday + "'></td>");
                    $trTemp.append("<td>" + rs[i].createtime + "</td>");
                    $trTemp.append("<td>" + rs[i].updatetime + "</td>");
                    $trTemp.append(
                        "<td>"
                        + "<button class='updatebtn' data='"+rs[i].id+"'>修改</button>"
                        + "<button class='deletebtn' data='"+rs[i].id+"'>删除</button>"
                        + "</td>");
                    $trTemp.appendTo("#table");
                }
            })
    }
    $("#btn").click(function () {
        total()
    });
//删除
    //在table元素中添加click点击事件
// delete前面要加上".",因为div标签的class属性,但是还是不能用!!!!
//这里不适用click方法,是因为click只能作用于页面加载完毕后整个页面的元素,对于append添加的元素,click是找不到的,所以需要使用on事件
//     $(".delete").on("click",function(){
    $("table").on('click','.deletebtn',function(){
        var id = $(this).attr('data');
        // var id=$this.data('id');
        console.log(id);
        $.post("/DeleteServlet", {id:id},function (data,stauts) {
            console.log(data)
            var obj=JSON.parse(data);
            if(obj.code=200){
                total();
                // console.log(data)
            }else{
                console.log(obj.message)
            }
        })
    });
    $("table").on("click",".updatebtn",function () {
        var id = $(this).attr('data');
        //eq(1)表示第2个td
        var name = $(this).parents("tr").children("td").eq(1).find("input:first").val()
        var password =$(this).parents("tr").children("td").eq(2).find("input[name='password']").val()
        var sex = $(this).parents("tr").children("td").eq(3).find("select[name='sex']").val()
        var birthday = $(this).parents("tr").children("td").eq(4).find("input[name='birthday']").val()
        $.post("/UpdateServlet",
            {
                id:id,
                name: name,
                password:password,
                sex:sex,
                birthday:birthday
            },
            function (data, status) {
                console.log(data);
                var obj = JSON.parse(data);
                if (obj.code == 200)
                    total();
                else
                    alert(obj.message);
            })
    });

})
//登陆
$(document).ready(function (){
    $("#login_btn").click(function () {
        $.post("/LoginServlet",{
                name:$('input[name="name"]').val(),
                password:$('input[name="password"]').val()
            },
            function (data,status){
                console.log(data);
                console.log(typeof data);
                var obj=JSON.parse(data);
                // console.log(JSON.parse(obj));
                console.log(typeof obj);
                if(obj.code==200) {
                    window.location.href = "user_main.html";
                } else {
                    alert(obj.message);
                }
            })
    })
})

//退出登录
$(function () {
    $("#btn_out").click(function () {
        $.post("/LoginOutServlet",{},function (data,stauts) {
            console.log(data);
            var obj=JSON.parse(data);
            console.log(obj)
            if(obj.code==200){
                window.location.href = "login.html";
            }else{
                alert(obj.message)
            }
        })

    })
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值