企业信息管理系统概述
一、企业信息管理需求分析 1、登录页面模块
登录页面模块功能如下:
对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。
若尚未注册,则点击注册新用户(注:当用户名已存在时不能重复注册)。
2、首页面模块
首页面模块功能如下:
插入相应的图片,显示首页面的信息。
3、通讯工具模块
通讯工具模块功能如下:
1)、通讯录管理:修改联系人、删除联系人、新增联系人、
2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置
4、个人管理模块
个人管理模块功能如下:
1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置
2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置
5、企业管理模块
企业管理模块功能如下:
1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置
2)工作会议::修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置
6、退出模块
退出模块功能如下:
点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录
页面输入信息之后即可登录。
二、企业信息管理系统功能结构图:
三、建立数据库
1、users(id,name,password,email)
2、address
3、sms
4、schedule
5、worklog
6、notice
7 、meeting
静态页面设计
一、功能描述
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.jsp
4、menu.jsp
(1)插入一个表格,设置表格的背景颜色为#EEEEEE (2)设置相应行的信息
5、
foot.jsp
6、首页面——
welcome.jsp
(1)整个页面分为几个模块:最上面的用top.jsp来实现,左边的菜单栏用menu.jsp来实现,下面的用foot.jsp来实现。
(2)欢迎的页面放在一个表格当中,对应的图片则通过放在行里来实现效果。
7、通讯录管理页面——address.jsp
(1)通过点击菜单栏上的“通讯录管理”来链接到通讯录管理的页面;
(2)整个的定义一个表格,将联系人的信息放在行和列,记录的页数则是在表单中插入表格来实现的。
(3)通过使用select实现下拉菜单;
8、新增联系人页面——
address_add.jsp
(1)通过点击菜单栏上的“新增联系人”来链接到新增联系人的页面;
(2)插入一个表单,定义相应的按钮和输入框(姓名,性别,手机,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()方法; 三、新建一个包取名为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中获取当前使用的用户名
(注:表达式没有分号)
二、退出模块:
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,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='" + 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.setQq(dbo.getRs().getString("qq")); address.setName(dbo.getRs().getString("name")); address.setEmail(dbo.getRs().getString("email")); address.setAddress(dbo.getRs().getString("address")); address.setMobile(dbo.getRs().getString("mobile")); address.setCompany(dbo.getRs().getString("company")); address.setPostcode(dbo.getRs().getString("postcode"));
} } } list.add(address); e.printStackTrace(); } catch (SQLException e) {
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"; String name=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.getParameter("postcode"); Address addr=new Address(); addr.setUsername(username); addr.setName(name); addr.setSex(sex); addr.setEmail(email); addr.setMobile(mobile); addr.setQq(qq); }else if("insert".equals(method)){
} 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"; 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 qq=request.getParameter("qq"); 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(qq); addr.setAddress(address); addr.setCompany(company); addr.setPostcode(postcode); dao.update(addr); }else if("update".equals(method)){
} List list=dao.searchAll(username); request.setAttribute("list", list);
三、修改address.jsp页面中的内容;
(1)、从数据库中获取对应联系人的信息;
List Iterator it=list.iterator(); Address address=null; int i=1; while(it.hasNext()){ address=it.next(); %>
list=(List)request.getAttribute("list"); bgcolor="eeeeee" >
(2)、导入相应的包;
(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() { } public void setPage(Page page) {
} this.page = page; return 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 db.query(sql); if(db.next()) try { } totalRecords=db.getRs().getInt("totalRecords"); e.printStackTrace(); } catch (SQLException e) { username='"+username+"'";
} } db.closeRs(); db.closeStat(); db.closeConn(); page.setTotalRecords(totalRecords); int page.setTotalPages(totalPages); page.setLastPageNo(totalPages); page.setPreviousPageNo(pageNo=totalPages?totalPages:pageNo+1); String sql1="select top "+pageSize*pageNo +" id from address where String sql2="select top "+pageSize*(pageNo-1) +" id from address where String sql3="select * from address where id not in("+sql2+") and id in("+sql1+") Address address=null; if(db.createConn()){ } db.closeRs(); db.closeStat(); db.closeConn(); page.setList(list); return list; 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("qq")); address.setCompany(db.getRs().getString("company")); address.setAddress(db.getRs().getString("address")); address.setPostcode(db.getRs().getString("postcode")); list.add(address); e.printStackTrace(); totalPages=totalRecords%pageSize==0?totalRecords/pageSize:totalRecords/pageSize+1; username='"+username+"' order by id"; username='"+username+"' order by id"; order by id"; } catch (SQLException e) {
三、 对AddressServlet进行修改,通过Servlet处理查询请求; else{ AddressDAO dao=new AddressDAO();
} String pageSize=request.getParameter("pageSize"); if(pageSize==null||pageSize.equals("")){ } String pageNo=request.getParameter("pageNo"); if(pageNo==null||pageNo.equals("")){ } request.setAttribute("pageSize", pageSize); request.setAttribute("pageNo", pageNo); List list=dao.pageData(username, Page pagebean=dao.getPage(); request.setAttribute("list", list); request.setAttribute("pagebean", pagebean); pageNo="1"; pageSize="5"; if("list".equals(method)){ Integer.parseInt(pageSize), Integer.parseInt(pageNo));
四、 修改address.jsp页面;
(1)、实现首页、前一页、后一页、尾页的超链接操作;
href="javascript:document.all.pageNo.value='';document.all.form1.submit();">首页
href="javascript:document.all.pageNo.value='';documenhref="javascript:document.all.pageNo.value='';dochref="javascript:document.all.pageNo.value='';document.all.form1.submit();">前一页 ument.all.form1.submit();">后一页 t.all.form1.submit();">尾页
(2)、分页的表单设计:
pagesize为:
显示总页数(totalrecords):
pageNo为:
for(int j=1;j
五、 测试运行;
感想:通过这两个星期的上机实训,对整个企业管理系统的设计有了一定的了解。对静态页面的设计更加的熟悉,能够使用简单的CSS对页面进行修饰,将Servlet, JSP等技术和Tomcat,My Eclipse,SQL server2005有机结合起来。对软件开发的工程思想和实际问题的解决有了更深的理解。软件开发技术之外的东西是需要花时间去巩固,去练习,直到渗透成一种习惯为止。
最后,通过本次实训使我学到很多东西,这样便于今后让我提早进入工作状态。
企业信息管理系统概述
一、企业信息管理需求分析 1、登录页面模块
登录页面模块功能如下:
对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。
若尚未注册,则点击注册新用户(注:当用户名已存在时不能重复注册)。
2、首页面模块
首页面模块功能如下:
插入相应的图片,显示首页面的信息。
3、通讯工具模块
通讯工具模块功能如下:
1)、通讯录管理:修改联系人、删除联系人、新增联系人、
2)、短消息管理:发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置
4、个人管理模块
个人管理模块功能如下:
1)日程安排:修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置
2)工作记录:修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置
5、企业管理模块
企业管理模块功能如下:
1)公司公告:修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置
2)工作会议::修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置
6、退出模块
退出模块功能如下:
点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录
页面输入信息之后即可登录。
二、企业信息管理系统功能结构图:
三、建立数据库
1、users(id,name,password,email)
2、address
3、sms
4、schedule
5、worklog
6、notice
7 、meeting
静态页面设计
一、功能描述
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.jsp
4、menu.jsp
(1)插入一个表格,设置表格的背景颜色为#EEEEEE (2)设置相应行的信息
5、
foot.jsp
6、首页面——
welcome.jsp
(1)整个页面分为几个模块:最上面的用top.jsp来实现,左边的菜单栏用menu.jsp来实现,下面的用foot.jsp来实现。
(2)欢迎的页面放在一个表格当中,对应的图片则通过放在行里来实现效果。
7、通讯录管理页面——address.jsp
(1)通过点击菜单栏上的“通讯录管理”来链接到通讯录管理的页面;
(2)整个的定义一个表格,将联系人的信息放在行和列,记录的页数则是在表单中插入表格来实现的。
(3)通过使用select实现下拉菜单;
8、新增联系人页面——
address_add.jsp
(1)通过点击菜单栏上的“新增联系人”来链接到新增联系人的页面;
(2)插入一个表单,定义相应的按钮和输入框(姓名,性别,手机,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()方法; 三、新建一个包取名为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中获取当前使用的用户名
(注:表达式没有分号)
二、退出模块:
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,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='" + 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.setQq(dbo.getRs().getString("qq")); address.setName(dbo.getRs().getString("name")); address.setEmail(dbo.getRs().getString("email")); address.setAddress(dbo.getRs().getString("address")); address.setMobile(dbo.getRs().getString("mobile")); address.setCompany(dbo.getRs().getString("company")); address.setPostcode(dbo.getRs().getString("postcode"));
} } } list.add(address); e.printStackTrace(); } catch (SQLException e) {
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"; String name=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.getParameter("postcode"); Address addr=new Address(); addr.setUsername(username); addr.setName(name); addr.setSex(sex); addr.setEmail(email); addr.setMobile(mobile); addr.setQq(qq); }else if("insert".equals(method)){
} 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"; 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 qq=request.getParameter("qq"); 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(qq); addr.setAddress(address); addr.setCompany(company); addr.setPostcode(postcode); dao.update(addr); }else if("update".equals(method)){
} List list=dao.searchAll(username); request.setAttribute("list", list);
三、修改address.jsp页面中的内容;
(1)、从数据库中获取对应联系人的信息;
List Iterator it=list.iterator(); Address address=null; int i=1; while(it.hasNext()){ address=it.next(); %>
list=(List)request.getAttribute("list"); bgcolor="eeeeee" >
(2)、导入相应的包;
(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() { } public void setPage(Page page) {
} this.page = page; return 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 db.query(sql); if(db.next()) try { } totalRecords=db.getRs().getInt("totalRecords"); e.printStackTrace(); } catch (SQLException e) { username='"+username+"'";
} } db.closeRs(); db.closeStat(); db.closeConn(); page.setTotalRecords(totalRecords); int page.setTotalPages(totalPages); page.setLastPageNo(totalPages); page.setPreviousPageNo(pageNo=totalPages?totalPages:pageNo+1); String sql1="select top "+pageSize*pageNo +" id from address where String sql2="select top "+pageSize*(pageNo-1) +" id from address where String sql3="select * from address where id not in("+sql2+") and id in("+sql1+") Address address=null; if(db.createConn()){ } db.closeRs(); db.closeStat(); db.closeConn(); page.setList(list); return list; 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("qq")); address.setCompany(db.getRs().getString("company")); address.setAddress(db.getRs().getString("address")); address.setPostcode(db.getRs().getString("postcode")); list.add(address); e.printStackTrace(); totalPages=totalRecords%pageSize==0?totalRecords/pageSize:totalRecords/pageSize+1; username='"+username+"' order by id"; username='"+username+"' order by id"; order by id"; } catch (SQLException e) {
三、 对AddressServlet进行修改,通过Servlet处理查询请求; else{ AddressDAO dao=new AddressDAO();
} String pageSize=request.getParameter("pageSize"); if(pageSize==null||pageSize.equals("")){ } String pageNo=request.getParameter("pageNo"); if(pageNo==null||pageNo.equals("")){ } request.setAttribute("pageSize", pageSize); request.setAttribute("pageNo", pageNo); List list=dao.pageData(username, Page pagebean=dao.getPage(); request.setAttribute("list", list); request.setAttribute("pagebean", pagebean); pageNo="1"; pageSize="5"; if("list".equals(method)){ Integer.parseInt(pageSize), Integer.parseInt(pageNo));
四、 修改address.jsp页面;
(1)、实现首页、前一页、后一页、尾页的超链接操作;
href="javascript:document.all.pageNo.value='';document.all.form1.submit();">首页
href="javascript:document.all.pageNo.value='';documenhref="javascript:document.all.pageNo.value='';dochref="javascript:document.all.pageNo.value='';document.all.form1.submit();">前一页 ument.all.form1.submit();">后一页 t.all.form1.submit();">尾页
(2)、分页的表单设计:
pagesize为:
显示总页数(totalrecords):
pageNo为:
for(int j=1;j
五、 测试运行;
感想:通过这两个星期的上机实训,对整个企业管理系统的设计有了一定的了解。对静态页面的设计更加的熟悉,能够使用简单的CSS对页面进行修饰,将Servlet, JSP等技术和Tomcat,My Eclipse,SQL server2005有机结合起来。对软件开发的工程思想和实际问题的解决有了更深的理解。软件开发技术之外的东西是需要花时间去巩固,去练习,直到渗透成一种习惯为止。
最后,通过本次实训使我学到很多东西,这样便于今后让我提早进入工作状态。