jsp实训报告总结

企业信息管理系统概述

一、企业信息管理需求分析 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有机结合起来。对软件开发的工程思想和实际问题的解决有了更深的理解。软件开发技术之外的东西是需要花时间去巩固,去练习,直到渗透成一种习惯为止。

最后,通过本次实训使我学到很多东西,这样便于今后让我提早进入工作状态。


相关内容

  • 岗前实训总结报告
  • 计算机与信息工程系 岗前实训总结报告 实 训 方 向: 软件开发实训 所 属 班 级: 学 号: 姓 名: 主 训 教 师: 实 训 时 间: 2010-9-6-2011-1-8 二0 一一年一月八日 一.实训综述 1.实训地点 文理楼B518 2.实训性质.目的及意义 实训性质: 这次java方向 ...

  • 购物系统课程设计报告
  • <面向对象程序设计Ⅱ> 课程设计说明书 题 目: 学 院: 专 业: 班 级: 姓 名: 学 号: 起止时间: 购物系统 计算机与信息工程学院 计算机科学与技术 AA AA 07 2009.12.7--2009.12.18 课程设计任务书 一.设计题目:<购物系统> 二.设计 ...

  • 药店管理系统设计与实现论文(最终稿)a
  • 本科毕业设计(论文) 健康网站药店管理系统设计与实现 摘 要 随着网络世界的不断发展,互联网的应用日益广泛,健康医疗行业正随着社会的发展潮流走进了互联网时代.健康咨询网站正是健康医疗行业走进互联网的第一步.药店管理系统网站可以让用户足不出户则可了解到自己身边的正规药店,可以方便快捷地找到正规药店,购 ...

  • 网上书店 通信网络综合实践报告书
  • 安徽农业大学 综合性(设计性)实践报告书实践课题:班 级:姓 学 号:小组成员:指导教师: 通信网络综合实践 08通信一班 孙超 陶顺 唐成骏 刘波 2011年10月20日 通信网络综合实践报告书 08通信一班 08196039 杨韬 一.实践课题名称: 基础部分:网上书店 二.实践目的: (1)综 ...

  • Java项目开发实训项目报告
  • 徐州工业职业技术学院 Java项目开发实训项目报告 完 成 人: 所在班级: 指导教师: 完成时间: 2013年6月14日 所在系部: 信息管理技术学院 一.设计项目名称: <网上书店> 二.小组成员及分工 尚** a.界面设计:b.查询图书信息:c.浏览图书信息并实现分页功能: d.删 ...

  • JSP实习报告
  • jsp实习报告 实习内容:jsp 实习目的:通过jsp的学习,可以独立的编写留言板.上传规格.考试系统.连接sqlserver数据库.以及怎么样配置运行jsp服务器 实习要求:懂得什么是jsp,运行原理,它的基本语法,内置对象,服务端的输出缓冲区,文件流的读取,jsp数据库如:jdbc.odbc.m ...

  • 软件公司实习报告2016
  • 实习报告一 一. 实习的时间:20XX年4月5日-20XX年6月20日 二. 实习的地点:xx有限公司 三. 实习的目的: 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验.学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率.通过实习, ...

  • 毕业论文 -在线问卷系统
  • 在线问卷系统的设计与实现 摘要 科学技术日新月异的发展使社会信息化程度越来越高.传统的问卷调查一般采用书面问卷.直接采访.电话等媒体形式,其费用较高,操作不灵活,而且调查周期长,效果却只能在相对局限的区域里.鉴于此情况,传统的问卷调查已经不能满足社会发展和人们生活的需求,迫使人们寻求一种更高效的方式 ...

  • J2EE框架实验报告
  • 软件学院综合性实验报告专业:JAVA 课程名称 姓名 实验地点 项目名称SSH 框架集成应用年级/班级:09计算机2班Java EE 框架2011-2012学年第一学期指导教师学号实验时间实验类型11月3.10日下午5-8节综合性 一.实验目的 熟练掌握接啊java 编程思想和三大框架的应用,了解使 ...