整体思路:在登陆之后才能查看自己的电话本,电话本中包含用户名,联系人名字,电话,性别,分类;
1、登陆注册页面--数据库User表,注册登陆使用
2、电话本的前段显示,用表格和表单,
3、创建存取的电话本的表的类,实现各种setget方法及构造方法
4、电话本需要查询,删除,添加,修改的功能,创建java文件实现这些方法
5、创建各种方法的servlet,实现这些功能,
注意:进行非空验证,还有就是在电话本的存储的表中要有隐藏的id,通过前台传入id,作为主键去判断实现那些方法,在登陆之后要注意接收登录时的用户名,
需要用到的还有就是js中的点击事件等等
gettimestamp:时间戳,表示出日期和时间
1、在前段显示表格
欢迎, [<%=username%>] <a href="login.jsp">重新登录</a> <a href="register.jsp">新用户注册</a> <hr> <h2>添加(或者修改)联系人信息</h2> <form id="addOrUpdateForm" action="InsertOrUpdateContactServlet" method="post"> <input type="hidden" name="id" /> <table> <tr> <td>联系人名称:</td> <td><input type="text" name="cname" /></td> </tr> <tr> <td>电话:</td> <td><input type="text" name="tel" /></td> </tr> <tr> <td>性别:</td> <td><select name="sex"> <option value="">未选择</option> <option value="男">男</option> <option value="女">女</option> <option value="其他">其他</option> </select></td> </tr> <tr> <td>分组:</td> <td><select name="tcgroup"> <option value="">未选择</option> <option value="同事">同事</option> <option value="朋友">朋友</option> <option value="同学">同学</option> <option value="家人">家人</option> </select></td> </tr> <tr> <td><input type="submit" value="保存"></td> <td><input type="reset" value="重置" /></td> </tr> </table> </form> <hr> <h2>查询联系人</h2> <form action="ShowIndexContactServlet" method="post"> <input type="hidden" name="isSearch" value="do" /> 联系人名称:<input type="text" name="cname" /> 电话:<input type="text" name="tel" /> 性别: <select name="sex"> <option value="">未选择</option> <option value="男">男</option> <option value="女">女</option> <option value="其他">其他</option> </select> 分组: <select name="tcgroup"> <option value="">未选择</option> <option value="同事">同事</option> <option value="朋友">朋友</option> <option value="同学">同学</option> <option value="家人">家人</option> </select> <input type="submit" value="查询" /><input type="button" id="btn_delMultiple" value="删除选中记录" onclick="confirmMultiDel()" /> </form> <hr>
//在表格内输出 <% List<ContactBook> cbList = (List<ContactBook>) session.getAttribute("cbList"); if (cbList != null && cbList.size() > 0) { out.print("<table style='text-align:center;' width='60%' border=1 cellpadding=0 cellspacing=0>"); out.print("<tr><td>名称</td><td>电话</td><td>分组</td><td>性别</td><td>添加时间</td><td>管理</td>" + "<td><input id='leader' type='checkbox' /></td></tr>"); for (ContactBook c : cbList) { out.print("<tr>"); out.print("<td>" + c.getName() + "</td>"); out.print("<td>" + c.getTel() + "</td>"); out.print("<td>" + c.getTcgroup() + "</td>"); out.print("<td>" + c.getSex() + "</td>"); out.print("<td>" + DateConvertor.putDate2String(c.getAddtime()) + "</td>"); out.print("<td><a href='DeleteContactBook?ids=" + c.getId() + "' onclick='return confirmDel()'>删除</a> " + "<a href='#' onclick='loadFormData("" + c.getId() + "", "" + c.getName() + "", "" + c.getTel() + "", "" + c.getSex() + "","" + c.getTcgroup() + "")'>修改</a></td>"); out.print("<td><input type='checkbox' name='select' value='" + c.getId() + "' /></td>"); out.print("</tr>"); } out.print("</table>"); } else { out.print("<h1>没有记录 !</h1>"); } %> <script type="text/javascript"> // 点击修改时执行的事件, 将form表单填充 function loadFormData(id, cname, tel, sex, tcgroup) { var formData = document.getElementById("addOrUpdateForm"); formData.id.value = id; formData.cname.value = cname; formData.tel.value = tel; formData.tcgroup.value = tcgroup; formData.sex.value = sex; }
// 单条记录删除的确认
function confirmDel() {
var r = confirm("确定要删除这条记录吗 ?");
if (r) {
return true;
}
return false;
}
// 多条记录删除的确认
function confirmMultiDel() {
var objs = document.getElementsByName("select");
var arrayCheck = [];
for (var i in objs) {
if (objs[i].checked) {
arrayCheck.push(objs[i].value);
}
}
if(arrayCheck.length > 0) {
var cf = confirm("选中了" + arrayCheck.length + "条数据, 确定删除吗 ?");
if (cf) {
window.location.href = "DeleteContactBook?ids=" + arrayCheck;
// 1,2,3,4,5
}
} else {
alert("未选中任何记录 !");
}
}
// 点击复选框, 全选列表
document.getElementById("leader").onclick = function() {
var t = document.getElementById("leader").checked;
var objs = document.getElementsByName("select");
for (var i = 0; i < objs.length; i++) {
objs[i].checked = t;
}
}
</script>