文档详情

jsp实训报告总结

ch****o
实名认证
店铺
DOC
681.02KB
约19页
文档ID:157677350
jsp实训报告总结_第1页
1/19

企业信息管理系统概述一、企业信息管理需求分析1、登录页面模块登录页面模块功能如下: 对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统若尚未注册,则点击注册新用户(注:当用户名已存在时不能重复注册)2、首页面模块首页面模块功能如下: 插入相应的图片,显示首页面的信息3、通讯工具模块通讯工具模块功能如下:1)、通讯录管理:修改联系人、删除联系人、新增联系人、2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置4、个人管理模块个人管理模块功能如下:1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置5、企业管理模块企业管理模块功能如下:1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置2)工作会议::修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置6、退出模块退出模块功能如下:点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录。

二、企业信息管理系统功能结构图:企业信息管理系统首页面通讯工具个人管理企业管理退出通讯录管理短消息管理日程安排工作记录公司公告工作会议登录页面三、建立数据库1、users(id,name,password,email)列名数据类型是否允许为空idint否namenvarchar(50)是passwordnvarchar(50)是emailnvarchar(50)是2、address列名数据类型是否允许为空idint否usernamevarchar否namevarchar否sexvarchar否mobileint是emailvarchar是int是companyvarchar否addressvarchar否postcodeint否3、sms列名数据类型是否允许为空idint否usernamevarchar否sendervarchar否messagevarchar否sendtimedatetime否isreadvarchar是4、schedule列名数据类型是否允许为空idint否usernamevarchar否yeardatetime否monthdatetime否daydatetime否plansvarchar否5、worklog列名数据类型是否允许为空idint否usernamevarchar否yeardatetime否monthdatetime否daydatetime否titlevarchar否descriptionvarchar是logtimedatetime是6、notice列名数据类型是否允许为空idint否sendervarchar否titlevarchar否[content]varchar否sendtimedatetime否7 、meeting列名数据类型是否允许为空idint否sendtimedatetime否endtimedatetime否addressvarchar否titlevarchar否[content]varchar否静态页面设计一、功能描述1、登录页面模块:对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。

若尚未注册,则点击注册新用户,注册新用户时进入register.jsp页面2、注册模块:当用户名已存在时不能重复注册,当重复注册时,系统将会给出提示“该用户名已经存在”注册时,必须要输入密码3、首页面模块:插入相应的图片,显示首页面的信息4、通讯工具模块1)、通讯录管理:修改联系人、删除联系人、新增联系人2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置5、个人管理模块1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置6、企业管理模块1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置2)工作会议::修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置7、退出模块点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录二、静态页面设计的截图1. 登录页面——login.jsp(1)插入一个表格(一行一列)设置表格的背景图片为指定图片;(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,登录);2、注册页面——register.jsp(1)通过点击登录页面的“注册新用户”进入到注册页面;(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,确认密码,Email,提交注册按钮);3、top.jsp4、menu.jsp(1)插入一个表格,设置表格的背景颜色为#EEEEEE(2)设置相应行的信息5、foot.jsp6、首页面——welcome.jsp(1)整个页面分为几个模块:最上面的用top.jsp来实现,左边的菜单栏用menu.jsp来实现,下面的用foot.jsp来实现。

2)欢迎的页面放在一个表格当中,对应的图片则通过放在行里来实现效果7、通讯录管理页面——address.jsp(1)通过点击菜单栏上的“通讯录管理”来链接到通讯录管理的页面;(2)整个的定义一个表格,将联系人的信息放在行和列,记录的页数则是在表单中插入表格来实现的3)通过使用select实现下拉菜单;8、新增联系人页面——address_add.jsp(1)通过点击菜单栏上的“新增联系人”来链接到新增联系人的页面;(2)插入一个表单,定义相应的按钮和输入框(姓名,性别,,Email,号码,工作单位,地址,邮编,和提交按钮);*以下页面类似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()方法;三、新建一个包取名为dao;新建一个类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 HttpServlet {}(2)、添加doGet()和doPost()方法;(3)、创建会话:HttpSession session=request.getSession(); session.setAttribute("username", username);五、在登录页面(login)中写脚本,设置用户名和密码不为空; 六、配置XML文件; LoginServlet servlet.LoginServlet LoginServlet /LoginServlet 注册模块一、 menu中获取当前使用的用户名<%=session.getAttribute("username")%>(注:表达式没有分号)二、退出模块:1、退出是指把当会话结束,即将页面注销掉;2、在servlet里创建一个类LogoutServlet.java;产生doGet()方法,如果用户名不为空则注销会话session.invalidate();否则将页面重定向到登录界面response.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、执行SQL语句: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)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.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页面:四、欢迎模块: 设置不能直接通过输入网址进入首页面;<% if(session.getAttribute("username")==null){ response.sendRedirect("login.jsp"); return; } %>通讯录管理一、定义一个实体类:Address.java; 定义相应的变量(id,username,name,sex,mobile,email,,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='" + username+ "'";(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.setAddress(dbo.getRs().getString("address")); address.setQq(dbo.getRs().getString("")); 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().getString("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)、当点击新增联系人时,页面跳转到新增联系人的页面(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"); String =request.getParameter(""); 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); addr.setQq(); 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(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 name=request.getParameter("name"); String sex=request.getParameter("sex"); String mobile=request.getParameter("mobile"); String email=request.getParameter("email"); String =request.getParameter(""); String address=request.getParameter("address"); String company=request.getParameter("company"); String postcode=request.getParameter("postcode"); Address addr=new Address(); addr.setId(id); addr.setName(name); addr.setSex(sex); addr.setEmail(email); addr.setMobile(mobile); addr.setQq(); addr.setAddress(address); addr.setCompany(company); addr.setPostcode(postcode); dao.update(addr); List
list=dao.searchAll(username); request.setAttribute("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(); %> bgcolor="eeeeee" <%} %> > <%=address.getName() %> <%=address.getSex() %> <%=address.getMobile() %> <%=address.getEmail() %> <%=address.getQq() %> <%=address.getCompany() %> <%=address.getAddress() %> <%=address.getPostcode() %> <% i++;} %>(2)、导入相应的包;<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%@ page import="entity.*"%><%@ page import="dao.*"%>(3)、对页面的操作栏里的修改和删除进行设置;修改删除五、部署XML文件; AddressServlet servlet.AddressServlet AddressServlet /add.do 六、测试运行;实现分页设置一、 定义一个实体类:Page.java; 定义相应的变量(pageSize,pageNo,totalPages,firstPageNo,previousPageNo,nexPageNo,lastPageNo,totalRecords,list),产生对应的get()和set()方法;二、 在AddressDAO中添加相应的方法和属性;(1)、在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); page.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(); } } 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<=1?1:pageNo-1); page.setNextPageNo(pageNo>=totalPages?totalPages:pageNo+1); String sql1="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.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.setEmail(db.getRs().getString("email")); address.setQq(db.getRs().getString("")); 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.closeStat(); 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", list); request.setAttribute("pagebean", pagebean); }四、 修改address.jsp页面;(1)、实现首页、前一页、后一页、尾页的超链接操作;首页前一页后一页尾页(2)、分页的表单设计:pagesize为: 显示总页数(totalrecords):<%=pagebean.getTotalRecords() %>pageNo为:五、 测试运行;感想:通过这两个星期的上机实训,对整个企业管理系统的设计有了一定的了解。

对静态页面的设计更加的熟悉,能够使用简单的CSS对页面进行修饰,将Servlet, JSP等技术和Tomcat,My Eclipse,SQL server2005有机结合起来对软件开发的工程思想和实际问题的解决有了更深的理解软件开发技术之外的东西是需要花时间去巩固,去练习,直到渗透成一种习惯为止最后,通过本次实训使我学到很多东西,这样便于今后让我提早进入工作状态 。

下载提示
相关文档
正为您匹配相似的精品文档