jsp实训报告总结.docx
《jsp实训报告总结.docx》由会员分享,可在线阅读,更多相关《jsp实训报告总结.docx(25页珍藏版)》请在冰点文库上搜索。
jsp实训报告总结
企业信息管理系统概述
一、企业信息管理需求分析
1、登录页面模块
登录页面模块功能如下:
对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。
若尚未注册,则点击注册新用户(注:
当用户名已存在时不能重复注册)。
2、首页面模块
首页面模块功能如下:
插入相应的图片,显示首页面的信息。
3、通讯工具模块
通讯工具模块功能如下:
1)、通讯录管理:
修改联系人、删除联系人、新增联系人、
2)、短消息管理:
发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置
4、个人管理模块
个人管理模块功能如下:
1)日程安排:
修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置
2)工作记录:
修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置
5、企业管理模块
企业管理模块功能如下:
1)公司公告:
修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置
2)工作会议:
:
修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置
6、退出模块
退出模块功能如下:
点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录。
二、企业信息管理系统功能结构图:
三、建立数据库
1、users(id,name,password,email)
列名
数据类型
是否允许为空
id
int
否
name
nvarchar(50)
是
password
nvarchar(50)
是
email
nvarchar(50)
是
2、address
列名
数据类型
是否允许为空
id
int
否
username
varchar
否
name
varchar
否
sex
varchar
否
mobile
int
是
email
varchar
是
qq
int
是
company
varchar
否
address
varchar
否
postcode
int
否
3、sms
列名
数据类型
是否允许为空
id
int
否
username
varchar
否
sender
varchar
否
message
varchar
否
sendtime
datetime
否
isread
varchar
是
4、schedule
列名
数据类型
是否允许为空
id
int
否
username
varchar
否
year
datetime
否
month
datetime
否
day
datetime
否
plans
varchar
否
5、worklog
列名
数据类型
是否允许为空
id
int
否
username
varchar
否
year
datetime
否
month
datetime
否
day
datetime
否
title
varchar
否
description
varchar
是
logtime
datetime
是
6、notice
列名
数据类型
是否允许为空
id
int
否
sender
varchar
否
title
varchar
否
[content]
varchar
否
sendtime
datetime
否
7、meeting
列名
数据类型
是否允许为空
id
int
否
sendtime
datetime
否
endtime
datetime
否
address
varchar
否
title
varchar
否
[content]
varchar
否
静态页面设计
一、功能描述
1、登录页面模块:
对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。
若尚未注册,则点击注册新用户,注册新用户时进入页面。
2、注册模块:
当用户名已存在时不能重复注册,当重复注册时,系统将会给出提示“该用户名已经存在”。
注册时,必须要输入密码。
3、首页面模块:
插入相应的图片,显示首页面的信息。
4、通讯工具模块
1)、通讯录管理:
修改联系人、删除联系人、新增联系人
2)、短消息管理:
发送消息、设置消息已读、删除消息、首页(前一页、后一页、尾页)的设置
5、个人管理模块
1)日程安排:
修改日程安排、删除日程安排、新增日程安排、首页(前一页、后一页尾页)的设置
2)工作记录:
修改工作记录、删除工作记录、新增工作记录、首页(前一页、后一页尾页)的设置
6、企业管理模块
1)公司公告:
修改公司公告、删除公司公告、新增公司公告、首页(前一页、后一页尾页)的设置
2)工作会议:
:
修改工作会议、删除工作会议、新增工作会议、首页(前一页、后一页尾页)的设置
7、退出模块
点击退出之后,系统直接跳转到登录页面,若要重新登录,则进入登录页面输入信息之后即可登录。
二、静态页面设计的截图
1.登录页面——
(1)插入一个表格(一行一列)设置表格的背景图片为指定图片;
(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,登录);
2、注册页面——
(1)通过点击登录页面的“注册新用户”进入到注册页面;
(2)插入一个表单,定义相应的按钮和输入框(用户名,密码,确认密码,Email,提交注册按钮);
3、
4、
(1)插入一个表格,设置表格的背景颜色为#EEEEEE
(2)设置相应行的信息
5、
6、首页面——
(1)整个页面分为几个模块:
最上面的用来实现,左边的菜单栏用来实现,下面的用来实现。
(2)欢迎的页面放在一个表格当中,对应的图片则通过放在行里来实现效果。
7、通讯录管理页面——
(1)通过点击菜单栏上的“通讯录管理”来链接到通讯录管理的页面;
(2)整个的定义一个表格,将联系人的信息放在行和列,记录的页数则是在表单中插入表格来实现的。
(3)通过使用select实现下拉菜单;
8、新增联系人页面——
(1)通过点击菜单栏上的“新增联系人”来链接到新增联系人的页面;
(2)插入一个表单,定义相应的按钮和输入框(姓名,性别,手机,Email,QQ号码,工作单位,地址,邮编,和提交按钮);
*以下页面类似
9、修改联系人页面——
登录模块
一、新建一个包取名为dbo:
(1)、新建类DBOperation,用来和数据库创建连接
(2)、定义一个查询方法:
publicbooleanquery(Stringsql){}
(3)、定义一个更新方法:
publicbooleanupdate(Stringsql){}
(4)、进行测试;
二、新建一个包取名为entity
(1)、新建一个实体类;
(2)、定义相应的属性变量,产生get()和set()方法;
三、新建一个包取名为dao;新建一个类;
a、跟数据库创建连接:
()
b、准备SQL语句:
Stringsql="select*fromuserswhereusername='"+username+"'andpassword='"+password+"'";
C、执行SQL语句:
(sql)
d、关闭连接:
();();();
四、新建一个包取名为Servlet;
(1)、新建一个类;
publicclassLoginServletextendsHttpServlet{}
(2)、添加doGet()和doPost()方法;
(3)、创建会话:
HttpSessionsession=();
("username",username);
五、在登录页面(login)中写脚本,设置用户名和密码不为空;
functionvalid(){
varusername=varpassword=if(username==""){
alert("用户名不能为空!
");
returnfalse;
}
if(password==""){
alert("密码不能为空!
");
returnfalse;
}
returntrue;
}
六、配置XML文件;
LoginServlet
LoginServlet
/LoginServlet
注册模块
一、menu中获取当前使用的用户名
<%=("username")%>(注:
表达式没有分号)
二、退出模块:
1、退出是指把当会话结束,即将页面注销掉;
2、在servlet里创建一个类;
产生doGet()方法,如果用户名不为空则注销会话();否则将页面重定向到登录界面("");
3、更改XML中的配置文件;
LogoutServlet
LogoutServlet
/LogoutServlet
三、注册模块:
1、在dao里新建UserDAO,定义几个方法:
(1)、判断是否数据库中是否存在该用户:
publicbooleanisExist(Stringusername){}
a、跟数据库创建连接:
()
b、准备SQL语句:
Stringsql="select*fromuserswhereusername='"+username+"'";
d、执行SQL语句:
(sql)
e、关闭连接:
();();();
(2)、向数据库中添加用户:
publicbooleanadd(Useruser){}
a、跟数据库创建连接:
()
b、准备SQL语句Stringsql="insertintousers(username,password,email)values('"+()+"','"+()+"','"+()+"')";
c、执行SQL语句:
(sql)
d、关闭连接:
();();
2、采用Ajax对页面进行局部刷新(编写一个AjaxServlet);然后在登录页面()加脚本;
(1)、创建一个对象XMLHttpRequest;
(2)、发送请求函数,用open方法打开需要访问的URL;
(3)、指定要处理的东西,调用函数处理信息(function的作用:
获取返回的信息);
(4)、更改XML中的配置文件;
AjaxServlet
AjaxServlet
/
3、在servlet里新建,添加doGet()和doPost();
更改XML中的配置文件;
RegisterServlet
RegisterServlet
/RegisterServlet
4、在register页面的form里添加action、method和onsubmit
action="RegisterServlet"method="post"onsubmit="returnvalidRegister(this);"
5、修改页面:
useBeanid="user"class=""scope="request"/>
四、欢迎模块:
设置不能直接通过输入网址进入首页面;
<%
if("username")==null){
("");
return;}%>
通讯录管理
一、定义一个实体类:
;定义相应的变量(id,username,name,sex,mobile,email,qq,company,address,postcode),产生对应的get()和set()方法;
二、通讯录整个页面的显示;
1、在DAO中新建一个类;
(1)、定义一个方法用来从数据库中查找出该用户所对应的所有联系人的信息;
publicList
searchAll(Stringusername){}
(2)、与数据库创建连接;();
(3)、准备查询语句;
Stringsql="select*fromaddresswhereusername='"+username+"'";
(4)、用循环语句进行查询;
if()){
Stringsql="select*fromaddresswhereusername='"+username+"'";
if(sql)){
while()){
address=newAddress();
try{
().getInt("id"));
(username);
().getString("sex"));
().getString("address"));
().getString("qq"));
().getString("mobile"));
().getString("name"));
().getString("company"));
().getString("email"));
().getString("postcode"));
(address);
}catch(SQLExceptione){
();
}
}
}
2、在sevlet中新建;
(1)、定义doGet()和doPost()方法;
(2)、创建会话:
HttpSessionsession=();
(3)、如果用户名为空这页面转入登录界面();
if(username==null){
("");
return;
}
(4)、否则页面转入通讯录管理的界面;
(5)、当点击新增联系人时,页面跳转到新增联系人的页面(),执行添加的方法,然后将信息插入到数据库中;
elseif("add".equals(method)){
topage="";
}elseif("insert".equals(method)){
Stringname=("name");
Stringsex=("sex");
Stringmobile=("mobile");
Stringemail=("email");
Stringqq=("qq");
Stringaddress=("address");
Stringcompany=("company");
Stringpostcode=("postcode");
Addressaddr=newAddress();
(username);
(name);
(sex);
(email);
(mobile);
(qq);
(address);
(company);
(postcode);
(addr);
List
list=(username);("list",list);
}
(6)、删除操作;
elseif("delete".equals(method)){
intid=("id"));
(id);
List
list=(username);("list",list);
}
(7)、修改操作;
elseif("edit".equals(method)){
intid=("id"));
List
list=(id);("list",list);
topage="";
}elseif("update".equals(method)){
intid=("id"));
Stringname=("name");
Stringsex=("sex");
Stringmobile=("mobile");
Stringemail=("email");
Stringqq=("qq");
Stringaddress=("address");
Stringcompany=("company");
Stringpostcode=("postcode");
Addressaddr=newAddress();
(id);
(name);
(sex);
(email);
(mobile);
(qq);
(address);
(company);
(postcode);
(addr);
List
list=(username);("list",list);
}
三、修改页面中的内容;
(1)、从数据库中获取对应联系人的信息;
<%
List
list=(List)("list");Iterator
it=();Addressaddress=null;
inti=1;
while()){
address=();
%>
20px;"<%if(i%2==0){%>bgcolor="eeeeee"<%}%>>
<%=()%> |
<%=()%> | <%=()%> | <%=()%> | <%=()%> | <%=()%> | <%=()%> | <%=()%> | <%
i++;}
%>
(2)、导入相应的包;
<%@pagelanguage="java"import=".*"pageEncoding="GB18030"%>
<%@pageimport="entity.*"%>
<%@pageimport="dao.*"%>
(3)、对页面的操作栏里的修改和删除进行设置;
">修改 | ">删除 | 五、部署XML文件;
AddressServlet
AddressServlet
/
六、测试运行;
实现分页设置
一、定义一个实体类:
;定义相应的变量(pageSize,pageNo,totalPages,firstPageNo,previousPageNo,nexPageNo,lastPageNo,totalRecords,list),产生对应的get()和set()方法;
二、在AddressDAO中添加相应的方法和属性;
(1)、在AdderssDAO中增加一个变量page和其对应的set和get方法
privatePage
page=newPage();publicPage
getPage(){returnpage;
}
publicvoidsetPage(Page
page){=page;
}
(2)、定义一个方法用于分页;
publicList
pageData(Stringusername,intpageSize,intpageNo){ArrayList
list=newArrayList();inttotalRecords=0;
(1);
(pageSize);
(pageNo);
DBOperationdb=newDBOperation();
if()){
Stringsql="selectcount(*)astotalRecordsfromaddresswhereusername='"+username+"'";