今天的任务是:
实现了数据库的建立,和实体类后开始完成注册页面,但是卡在了点击日历输入自己的生日这一步,最后我去问了老师发现是路径的问题
这份是js的下载官网,用来写日历可靠
- **
页面注册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)
}
})
})
})