《jsp实训报告总结(共19页).doc》由会员分享,可在线阅读,更多相关《jsp实训报告总结(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上企业信息管理系统概述一、企业信息管理需求分析1、登录页面模块登录页面模块功能如下:对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。若尚未注册,则点击注册新用户(注:当用户名已存在时不能重复注册)。2、首页面模块首页面模块功能如下:插入相应的图片,显示首页面的信息。3、通讯工具模块通讯工具模块功能如下:1)、通讯录管理:修改联系人、删除联系人、新增联系人、2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置4、个人管理模块个人管理模块功能如下:1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页
2、)的设置2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置5、企业管理模块企业管理模块功能如下:1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置2)工作会议:修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置6、退出模块退出模块功能如下:点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录。二、企业信息管理系统功能结构图:企业信息管理系统首页面通讯工具个人管理企业管理退出通讯录管理短消息管理日程安排工作记录公司公告工作会议登录页面三、建立数据库1、users(
3、id,name,password,email)列名数据类型是否允许为空idint否namenvarchar(50)是passwordnvarchar(50)是emailnvarchar(50)是2、address列名数据类型是否允许为空idint否usernamevarchar否namevarchar否sexvarchar否mobileint是emailvarchar是qqint是companyvarchar否addressvarchar否postcodeint否3、sms列名数据类型是否允许为空idint否usernamevarchar否sendervarchar否messagevarcha
4、r否sendtimedatetime否isreadvarchar是4、schedule列名数据类型是否允许为空idint否usernamevarchar否yeardatetime否monthdatetime否daydatetime否plansvarchar否5、worklog列名数据类型是否允许为空idint否usernamevarchar否yeardatetime否monthdatetime否daydatetime否titlevarchar否descriptionvarchar是logtimedatetime是6、notice列名数据类型是否允许为空idint否sendervarchar否t
5、itlevarchar否contentvarchar否sendtimedatetime否7 、meeting列名数据类型是否允许为空idint否sendtimedatetime否endtimedatetime否addressvarchar否titlevarchar否contentvarchar否静态页面设计一、功能描述1、登录页面模块:对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。若尚未注册,则点击注册新用户,注册新用户时进入register.jsp页面。2、注册模块:当用户名已存在时不能重复注册,当重复注册时,系统将会给出提示“该用户名已经存在”。注册时,必须要输入密码。3、
6、首页面模块:插入相应的图片,显示首页面的信息。4、通讯工具模块1)、通讯录管理:修改联系人、删除联系人、新增联系人2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置5、个人管理模块1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置6、企业管理模块1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置2)工作会议:修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置7、退出模块点击
7、退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录。二、静态页面设计的截图1. 登录页面login.jsp(1)插入一个表格(一行一列)设置表格的背景图片为指定图片;(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,登录);2、注册页面register.jsp(1)通过点击登录页面的“注册新用户”进入到注册页面;(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,确认密码,Email,提交注册按钮);3、top.jsp4、menu.jsp(1)插入一个表格,设置表格的背景颜色为#EEEEEE(2)设置相应行的信息5、foot.jsp6、首页面wel
8、come.jsp(1)整个页面分为几个模块:最上面的用top.jsp来实现,左边的菜单栏用menu.jsp来实现,下面的用foot.jsp来实现。(2)欢迎的页面放在一个表格当中,对应的图片则通过放在行里来实现效果。7、通讯录管理页面address.jsp(1)通过点击菜单栏上的“通讯录管理”来链接到通讯录管理的页面;(2)整个的定义一个表格,将联系人的信息放在行和列,记录的页数则是在表单中插入表格来实现的。(3)通过使用select实现下拉菜单;8、新增联系人页面address_add.jsp(1)通过点击菜单栏上的“新增联系人”来链接到新增联系人的页面;(2)插入一个表单,定义相应的按钮和
9、输入框(姓名,性别,手机,Email,QQ号码,工作单位,地址,邮编,和提交按钮);*以下页面类似9、修改联系人页面address_edit.jsp登录模块一、 新建一个包取名为dbo:(1)、新建类DBOperation,用来和数据库创建连接(2)、定义一个查询方法:public boolean query(String sql)(3)、定义一个更新方法:public boolean update(String sql)(4)、进行测试;二、新建一个包取名为entity(1)、新建一个实体类User.java;(2)、定义相应的属性变量,产生get()和set()方法;三、新建一个包取名为d
10、ao;新建一个类UserDAO.java;a、跟数据库创建连接:dbo.createConn()b、准备SQL语句:String sql=select * from users where username=+username+and password=+password+;C、执行SQL语句:dbo.query(sql)d、关闭连接:dbo.closeRs(); dbo.closeStat(); dbo.closeConn();四、新建一个包取名为Servlet;(1)、新建一个类LoginServlet.java;public class LoginServlet extends Http
11、Servlet (2)、添加doGet()和doPost()方法;(3)、创建会话:HttpSession session=request.getSession(); session.setAttribute(username, username);五、在登录页面(login)中写脚本,设置用户名和密码不为空; function valid() var username = document.form1.username.value;var password = document.form1.password.value;if (username = ) alert(用户名不能为空!);ret
12、urn false;if (password = ) alert(密码不能为空!);return false;return true;六、配置XML文件; LoginServlet servlet.LoginServlet LoginServlet /LoginServlet 注册模块一、 menu中获取当前使用的用户名(注:表达式没有分号)二、退出模块:1、退出是指把当会话结束,即将页面注销掉;2、在servlet里创建一个类LogoutServlet.java;产生doGet()方法,如果用户名不为空则注销会话session.invalidate();否则将页面重定向到登录界面respon
13、se.sendRedirect(login.jsp);3、更改XML中的配置文件; LogoutServlet servlet.LogoutServlet LogoutServlet /LogoutServlet 三、注册模块:1、在dao里新建UserDAO,定义几个方法:(1)、判断是否数据库中是否存在该用户:public boolean isExist(String username) a、跟数据库创建连接:dbo.createConn()b、准备SQL语句:String sql = select * from users where username=+username+;d、执行SQ
14、L语句:dbo.query(sql)e、关闭连接:dbo.closeRs(); dbo.closeStat(); dbo.closeConn();(2)、向数据库中添加用户: public boolean add(User user) a、跟数据库创建连接:dbo.createConn()b、准备SQL语句String sql = insert into users(username,password,email)values(+user.getUsername()+,+user.getPassword()+,+user.getEmail()+);c、执行SQL语句:dbo.query(sql
15、)d、关闭连接:dbo.closeStat(); dbo.closeConn();2、采用Ajax对页面进行局部刷新(编写一个AjaxServlet);然后在登录页面(register.jsp)加脚本; (1)、创建一个对象XMLHttpRequest; (2)、发送请求函数,用open方法打开需要访问的URL; (3)、指定要处理的东西,调用函数处理信息(function的作用:获取返回的信息); (4)、更改XML中的配置文件; AjaxServlet servlet.AjaxServlet AjaxServlet /ajax.do 3、在servlet里新建RegisterServlet
16、.java,添加doGet()和doPost(); 更改XML中的配置文件; RegisterServlet servlet.RegisterServlet RegisterServlet /RegisterServlet 4、在register页面的form里添加action、method和onsubmit action=RegisterServlet method=post onsubmit=return validRegister(this);5、修改login.jsp页面:四、欢迎模块: 设置不能直接通过输入网址进入首页面;通讯录管理一、定义一个实体类:Address.java; 定义
17、相应的变量(id,username,name,sex,mobile,email,qq,company,address,postcode),产生对应的get()和set()方法;二、通讯录整个页面的显示;1、在DAO中新建一个AdreessDAO.java类;(1)、定义一个方法用来 从数据库中查找出该用户所对应的所有联系人的信息;public List searchAll(String username) (2)、与数据库创建连接;dbo.createConn();(3)、准备查询语句;String sql = select * from address where username= + u
18、sername+ ;(4)、用循环语句进行查询;if (dbo.createConn() String sql = select * from address where username= + username+ ;if (dbo.query(sql) while (dbo.next() address = new Address();try address.setId(dbo.getRs().getInt(id);address.setUsername(username);address.setSex(dbo.getRs().getString(sex);address.setAddres
19、s(dbo.getRs().getString(address);address.setQq(dbo.getRs().getString(qq);address.setMobile(dbo.getRs().getString(mobile);address.setName(dbo.getRs().getString(name);address.setCompany(dbo.getRs().getString(company);address.setEmail(dbo.getRs().getString(email);address.setPostcode(dbo.getRs().getStri
20、ng(postcode);list.add(address); catch (SQLException e) e.printStackTrace(); 2、在sevlet中新建AddressServlet.java;(1)、定义doGet()和doPost()方法;(2)、创建会话:HttpSession session=request.getSession();(3)、如果用户名为空这页面转入登录界面(login.jsp);if(username=null)response.sendRedirect(login.jsp);return;(4)、否则页面转入通讯录管理的界面;(5)、当点击新增
21、联系人时,页面跳转到新增联系人的页面(address_add.jsp),执行添加的方法,然后将信息插入到数据库中;else if(add.equals(method)topage=address_add.jsp;else if(insert.equals(method)String name=request.getParameter(name);String sex=request.getParameter(sex);String mobile=request.getParameter(mobile);String email=request.getParameter(email);Strin
22、g qq=request.getParameter(qq);String address=request.getParameter(address);String company=request.getParameter(company);String postcode=request.getParameter(postcode);Address addr=new Address();addr.setUsername(username);addr.setName(name);addr.setSex(sex);addr.setEmail(email);addr.setMobile(mobile)
23、;addr.setQq(qq);addr.setAddress(address);addr.setCompany(company);addr.setPostcode(postcode);dao.add(addr);List list=dao.searchAll(username);request.setAttribute(list, list); (6)、删除操作;else if(delete.equals(method)int id=Integer.parseInt(request.getParameter(id);dao.delete(id);List list=dao.searchAll
24、(username);request.setAttribute(list, list); (7)、修改操作;else if(edit.equals(method)int id=Integer.parseInt(request.getParameter(id);List list=dao.search(id);request.setAttribute(list, list);topage=address_edit.jsp;else if(update.equals(method)int id=Integer.parseInt(request.getParameter(id);String nam
25、e=request.getParameter(name);String sex=request.getParameter(sex);String mobile=request.getParameter(mobile);String email=request.getParameter(email);String qq=request.getParameter(qq);String address=request.getParameter(address);String company=request.getParameter(company);String postcode=request.g
26、etParameter(postcode);Address addr=new Address();addr.setId(id);addr.setName(name);addr.setSex(sex);addr.setEmail(email);addr.setMobile(mobile);addr.setQq(qq);addr.setAddress(address);addr.setCompany(company);addr.setPostcode(postcode);dao.update(addr);List list=dao.searchAll(username);request.setAt
27、tribute(list, list);三、修改address.jsp页面中的内容;(1)、从数据库中获取对应联系人的信息;% List list=(List)request.getAttribute(list);Iterator it=list.iterator();Address address=null;int i=1;while(it.hasNext()address=it.next();%tr style=height:20px; bgcolor=eeeeee (2)、导入相应的包;(3)、对页面的操作栏里的修改和删除进行设置;a href=address.do?method=edi
28、t&id=修改a href=address.do?method=delete&id=删除五、部署XML文件; AddressServlet servlet.AddressServlet AddressServlet /add.do 六、测试运行;实现分页设置一、 定义一个实体类:Page.java; 定义相应的变量(pageSize,pageNo,totalPages,firstPageNo,previousPageNo,nexPageNo,lastPageNo,totalRecords,list),产生对应的get()和set()方法;二、 在AddressDAO中添加相应的方法和属性;(1
29、)、在AdderssDAO中增加一个变量page和其对应的set和get方法private Page page=new Page();public Page getPage() return page;public void setPage(Page page) this.page = page;(2)、定义一个方法用于分页;public List pageData(String username,int pageSize,int pageNo)ArrayList list=new ArrayList();int totalRecords=0;page.setFirstPageNo(1);pa
30、ge.setPageSize(pageSize);page.setPageNo(pageNo);DBOperation db = new DBOperation();if(db.createConn()String sql=select count(*) as totalRecords from address where username=+username+;db.query(sql);if(db.next()try totalRecords=db.getRs().getInt(totalRecords); catch (SQLException e) e.printStackTrace(
31、);db.closeRs();db.closeStat();db.closeConn();page.setTotalRecords(totalRecords);int totalPages=totalRecords%pageSize=0?totalRecords/pageSize:totalRecords/pageSize+1;page.setTotalPages(totalPages);page.setLastPageNo(totalPages);page.setPreviousPageNo(pageNo=totalPages?totalPages:pageNo+1);String sql1
32、=select top +pageSize*pageNo + id from address where username=+username+ order by id;String sql2=select top +pageSize*(pageNo-1) + id from address where username=+username+ order by id;String sql3=select * from address where id not in(+sql2+) and id in(+sql1+) order by id;Address address=null;if(db.
33、createConn()db.query(sql3);while(db.next()address=new Address();try address.setId(db.getRs().getInt(id);address.setUsername(db.getRs().getString(username);address.setSex(db.getRs().getString(sex);address.setName(db.getRs().getString(name);address.setMobile(db.getRs().getString(mobile);address.setEma
34、il(db.getRs().getString(email);address.setQq(db.getRs().getString(qq);address.setCompany(db.getRs().getString(company);address.setAddress(db.getRs().getString(address);address.setPostcode(db.getRs().getString(postcode);list.add(address); catch (SQLException e) e.printStackTrace();db.closeRs(); db.cl
35、oseStat(); db.closeConn();page.setList(list);return list;三、 对AddressServlet进行修改,通过Servlet处理查询请求;else AddressDAO dao=new AddressDAO();String pageSize=request.getParameter(pageSize); if(pageSize=null|pageSize.equals() pageSize=5; String pageNo=request.getParameter(pageNo);if(pageNo=null|pageNo.equals()pageNo=1;request.setAttribute(pageSize, pageSize);request.setAttribute(pageNo, pageNo);if(list.equals(method)List list=dao.pageData(username, Integer.parseInt(pageSize), Integer.parseInt(pageNo);Page pagebean=dao.getPage();request.setAttribute(list, lis
限制150内