当前位置:文档之家› java web期末设计

java web期末设计

郑州轻工业学院Java Web应用程序开发期末大作业题目:___通信录管理系统_ ___专业班级:___13-02 _姓名:___ 王顶峰 _学号:___ _完成时间:__ 2014年12月30日 _(注:本系统查询分页有点小问题)(完整程序/s/1dD8cROt)一:需求分析1、性能需求通讯录管理系统:基本元素是实现通讯录的各种功能;此系统采用mvc+dao+JSTL工厂模式来实现的。

这模式可以让开发者统一管理对象的实例化。

减少了代码的杂糅性。

便于观看者理解。

数据库采用mysql+ Navicat Premium。

系统用户容量需求:对用户没有容量的需求。

一般可以读取上万条的数据。

但是由于本人的知识有限,可能读取时会非常的慢。

电配置:windows7以上版本。

配置市面上的大多数电脑都可以流畅运行。

网络环境:要求必须有网络连接。

系统运行时间:无限制。

2、功能需求本系统可以实现登录注册修改用户、增删查改用户的联系人。

查找联系人,系统采用的是模糊搜索。

可以实现数据的分页。

对于用户的日常操作本系统都可以实现。

二、系统设计1、系统功能描述系统有注册用户,登陆用户。

在注册用户时本系统可以判断用户名是否为空,两次密码是否一样,完成注册。

登陆进去可以显示登陆的用户名字。

列举出用户的通讯录,此过程还有一个判断语句,如果用户的通讯录为空,提示用户创建通讯录。

在主界面可以实现对用户的查找、添加用户。

在用户的数据后面都有一个操作,我们可以对用户进行删除,查看。

(本系统的查看集成了查看修改分组于一身,免去了用户的频繁操作)。

在家人查询界面我们可以对用户进行分组的查询,本系统只提供给用户最频繁使用的3种分组(同学、朋友、),倘如你还想进行自定义分组,那就等待后续程序的优化吧。

系统对列举出来的用户都进行了分页处理,每页出现的用户都是4个,其他的联系人可以在下页寻找。

系统还可以进行注销用户操作,注销用户后跳转到登陆界面进行重新登录。

22、系统流程图3、系统功能模块划分系统共分为两个模块登录用户、添加用户,验证用户为第一个模块第二个模块涵盖了用户通讯录中的联系人、对联系人进行增加联系人、删除联系人、查看联系人、修改联系人、对联系人进行分组。

还增加了对联系人的分组查看、对用户个人信息的修改。

4、数据库设计数据库我只建了两个表格,一个是用户人(user),一个是联系人(person)。

具体请看下面的图(1)User(2)person35、系统实现(1)、系统图片456三、程序运行代码(代码太多,这里只里列出一部分)1、登陆页面代码(login.jsp)<body><center><h1>欢迎来到通讯录系统</h1><hr><form action="LoginServlet"method="post"><table><tr><th colspan="2">请登陆您的系统</th><tr><td>用户账号:</td><td><input type="text"name="id"></td><tr><td>用户密码:</td><td><input type="password"name="password"></td></tr><tr><th><input type="submit"value="登陆"></th><th><input type="reset" value="重置"></th><tr><th colspan="2">还没有账号<a href="adduser.jsp">点击申请</a></th></tr> </table></form></center></body>2、添加用户(adduser.jsp)<html><head><base href="<%=basePath%>">7<title>My JSP 'adduser.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript">function check(){if(document.add.id.value==""){alert("用户名为空");return false;}else if(document.add.password.value=="" ){alert("密码为空");return false;}else if(document.add.password.value==document.add.password1.value){ return true;}else{alert("两次密码不一致");return false;}}</script></head><body><center><h1>欢迎来到通讯录系统</h1><hr><form action="LoginaddServlet"method="post"name="add"><table><tr><td colspan="2"><h2>注册用户</h2></td></tr><tr><td>用户账号:</td><td><input type="text"name="id"></td></tr><tr><td>用户密码:</td><td><input type="password"name="password"></td></tr><tr><td>确认密码:</td><td><input type="password"name="password1"></td></tr><tr><td>姓&nbsp;&nbsp;名:</td><td><input type="text"8name="username"></td></tr><tr><td>爱&nbsp;&nbsp;好:</td><td><input type="text"name="hobby"></td></tr><tr><td>备&nbsp;&nbsp;注:</td><td><input type="text"name="remark"></td></tr><tr><th><input type="submit"value="注册"onclick="returncheck();"></th><th><input type="reset"value="重置"></th></tr></table></form></center></body></html>3、判断用户(servlet)package cn.AdressList.action;4、5、import java.io.IOException;6、import java.util.List;7、8、import javax.servlet.ServletException;9、import javax.servlet.http.HttpServlet;10、import javax.servlet.http.HttpServletRequest;11、import javax.servlet.http.HttpServletResponse;12、import javax.servlet.http.HttpSession;13、14、import cn.AdressList.DaoFactory.DaoFactory;15、import cn.AdressList.fenye.Paging;16、import cn.AdressList.vo.Person;17、import er;18、19、@SuppressWarnings("serial")20、public class LoginServlet extends HttpServlet {21、public void doGet(HttpServletRequest request,HttpServletResponse response)922、throws ServletException, IOException {23、this.doPost(request, response);24、}25、public void doPost(HttpServletRequest request,HttpServletResponse response)26、throws ServletException, IOException {27、28、String path = null;29、HttpSession session=request.getSession();30、String id=request.getParameter("id");31、session.setAttribute("userid",id);32、String password=request.getParameter("password");33、User user=new User();34、user.setUserid(id);35、user.setPassword(password);36、if(DaoFactory.getUserDaoInstance().isLogin(user))37、{38、String name=user.getUsername();39、request.getSession().setAttribute("name",name);40、path="Deng.jsp";41、}else{42、path="Login_error.jsp";43、}44、request.getRequestDispatcher(path).forward(request,response);45、}46、47、}3、列举界面(login_sucess.jsp)<%@page language="java"10import="java.util.*,cn.AdressList.DaoFactory.*,cn.AdressList.vo.*" pageEncoding="utf-8"%>4、<%5、String path = request.getContextPath();6、String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getSe rverPort()+path+"/";7、%>8、9、<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">10、<html>11、<head>12、<base href="<%=basePath%>">13、14、<title>My JSP 'login_success.jsp' starting page</title>15、16、<meta http-equiv="pragma"content="no-cache">17、<meta http-equiv="cache-control"content="no-cache">18、<meta http-equiv="expires"content="0">19、<meta http-equiv="keywords"content="keyword1,keyword2,keyword3">20、<meta http-equiv="description"content="This is my page">21、<!--22、<link rel="stylesheet" type="text/css" href="styles.css">23、-->24、<script type="text/javascript">25、function deleteid(){26、 event.returnValue = confirm("你确认要删除用户?");27、}28、</script>29、30、</head>31、<body>32、<center>33、<h3>欢迎<ahref="LoginupdateServlet?status=selectid&userid=<%=session.getAttri bute("userid")%>"><%= session.getAttribute("name") %></a>登陆</h3>34、<a href="Login.jsp">注销登陆</a>35、<hr>36、<form action="PersonServlet"method="post">37、请输入查询的内容:<input type="text"name="name"><inputtype="hidden"name="status"value="select"><input type="submit"value="查询">38、</form>39、分组查询:<a href="PersonServlet?status=friends">朋友</a>&nbsp;&nbsp;&nbsp;<ahref="PersonServlet?status=selectclassmate">同学</a>&nbsp;&nbsp;&nbsp;<a href="PersonServlet?status=family">家人</a>40、<h2><a href="addperson.jsp">添加用户</a></h2>41、<table width="80%"border="1">42、<tr><td>姓名</td><td>性别</td><td>出生年月</td><td>电话</td><td>电子邮箱</td><td>住址</td><td>组别</td><td>备注</td><td>操作</td></tr>43、<% Stringuserid=(String)session.getAttribute("userid");44、int i=0;List<Person> all=null;45、 all=(List<Person>)request.getAttribute("li");46、 Iterator it=all.iterator();47、while(it.hasNext()){48、 Person p=(Person)it.next();49、 i++;50、%>51、<tr>52、<td><%=p.getName()%></td>53、<td><%=p.getSex() %></td>54、<td><%=p.getBirthday() %></td>55、<td><%=p.getPhone() %></td>56、<td><%=p.getEmail() %></td>57、<td><%=p.getAdress() %></td>58、<td><%=p.getGroup() %></td>59、<td><%=p.getRemark()%></td>60、<td><a href="PersonServlet?id=<%=p.getId()%>&status=delete"onclick="deleteid()">删除</a>|<ahref="PersonServlet?id=<%=p.getId()%>&status=selectid">查看</a></td>61、</tr>62、<%}if(i==0){ %>63、<tr><th colspan="10">没有数据<a href="addperson.jsp">创建数据</a></th></tr>64、<%} %>65、</table>66、<%=request.getAttribute("toolbar") %>67、</center>68、</body>69、</html>5、操作数据库代码(PersonDaoImpl.java)package erDaoImpl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import erDao.PersonDao;import cn.AdressList.util.DataBase;import cn.AdressList.vo.Person;public class PersonDaoImpl implements PersonDao {PreparedStatement pstmt=null;Connection conn=null;ResultSet rs=null;DataBase dbc=null;public List<Person> querAll(String userid) throws Exception { List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where userid=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,userid);rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));all.add(person);}}catch(Exception e){System.out.println("sadf");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}@Overridepublic void insert(Person person) throws Exception { String sql="insert into person values(?,?,?,?,?,?,?,?,?,?)";dbc=new DataBase();conn=dbc.getConnection();try {pstmt=conn.prepareStatement(sql);pstmt.setInt(1,person.getId());pstmt.setString(2,person.getName());pstmt.setString(3,person.getSex());pstmt.setString(4,person.getBirthday());pstmt.setString(5,person.getPhone());pstmt.setString(6,person.getEmail());pstmt.setString(7,person.getAdress());pstmt.setString(8,person.getGroup());pstmt.setString(9,person.getRemark());pstmt.setString(10,person.getUserid());pstmt.executeUpdate();} catch (SQLException e) {System.out.print("hsdjhfjs");}finally{dbc.closeAll(conn, pstmt, rs);}}@Overridepublic void delete(int id) throws Exception { String sql="delete from person where id=?";dbc=new DataBase();conn=dbc.getConnection();try{pstmt=conn.prepareStatement(sql);pstmt.setInt(1,id);pstmt.executeUpdate();}catch(Exception e){}finally{dbc.closeAll(conn, pstmt, rs);}}@Overridepublic void update(Person person) throws Exception {String sql="update person set name=?,sex=?,birthday=?,phone=?,email=?,adress=?,group1=?,remark=? where id=?";dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);try{pstmt.setString(1,person.getName());pstmt.setString(2,person.getSex());pstmt.setString(3,person.getBirthday());pstmt.setString(4,person.getPhone());pstmt.setString(5,person.getEmail());pstmt.setString(6,person.getAdress());pstmt.setString(7,person.getGroup());pstmt.setString(8,person.getRemark());pstmt.setInt(9,person.getId());pstmt.executeUpdate();}catch(Exception e){System.out.print("更新异常");}finally{dbc.closeAll(conn, pstmt, rs);}}@Overridepublic List<Person> querall(String name) throws Exception { List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from personwhere name like ?";dbc=new DataBase();conn=dbc.getConnection();try{pstmt=conn.prepareStatement(sql);pstmt.setString(1,"%"+name+"%");rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));all.add(person);}}catch(Exception e){System.out.print("查找失败");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}@Overridepublic Person selectId(int id) throws Exception {Person person=null;String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where id=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setInt(1,id);rs=pstmt.executeQuery();while(rs.next()){person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));}}catch(Exception e){}finally{dbc.closeAll(conn, pstmt, rs);}return person;}@Overridepublic List<Person> fenzumate(String classmate) throws Exception {List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where group1=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,classmate);rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));all.add(person);}}catch(Exception e){System.out.println("sadf");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}@Overridepublic List<Person> fenzufriend(String friend) throws Exception {List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where group1=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,friend);rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));all.add(person);}}catch(Exception e){System.out.println("sadf");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}@Overridepublic List<Person> denzufamily(String family) throws Exception {List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where group1=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,family);rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));person.setEmail(rs.getString(6));person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));21all.add(person);}}catch(Exception e){System.out.println("sadf");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}@Overridepublic List<Person> fenzuother(String other) throws Exception { List<Person> all=new ArrayList<Person>();String sql="select id,name,sex,birthday,phone,email,adress,group1,remark from person where group1=?";try{dbc=new DataBase();conn=dbc.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,other);rs=pstmt.executeQuery();while(rs.next()){Person person=new Person();person.setId(rs.getInt(1));person.setName(rs.getString(2));person.setSex(rs.getString(3));person.setBirthday(rs.getString(4));person.setPhone(rs.getString(5));22person.setAdress(rs.getString(7));person.setGroup(rs.getString(8));person.setRemark(rs.getString(9));all.add(person);}}catch(Exception e){System.out.println("sadf");}finally{dbc.closeAll(conn, pstmt, rs);}return all;}}四、总结通过这一学期的学习,我已基本掌握了javaweb的基本语法,对于一些小的功能也能自己实现。

相关主题