jsp实训报告总结Word下载.docx
《jsp实训报告总结Word下载.docx》由会员分享,可在线阅读,更多相关《jsp实训报告总结Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
1、users(id,name,password,email)
列名
数据类型
是否允许为空
id
int
否
name
nvarchar(50)
是
password
email
2、address
username
varchar
sex
mobile
qq
company
address
postcode
3、sms
sender
message
sendtime
datetime
isread
4、schedule
year
month
day
plans
5、worklog
title
description
logtime
6、notice
[content]
7、meeting
endtime
静态页面设计
一、功能描述
1、登录页面模块:
对登录页面进行设置,要求输入用户名和密码正确之后才可登录系统。
若尚未注册,则点击注册新用户,注册新用户时进入register.jsp页面。
2、注册模块:
当用户名已存在时不能重复注册,当重复注册时,系统将会给出提示“该用户名已经存在”。
注册时,必须要输入密码。
3、首页面模块:
插入相应的图片,显示首页面的信息。
4、通讯工具模块
修改联系人、删除联系人、新增联系人
5、个人管理模块
6、企业管理模块
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)、定义一个查询方法:
publicbooleanquery(Stringsql){}
(3)、定义一个更新方法:
publicbooleanupdate(Stringsql){}
(4)、进行测试;
二、新建一个包取名为entity
(1)、新建一个实体类User.java;
(2)、定义相应的属性变量,产生get()和set()方法;
三、新建一个包取名为dao;
新建一个类UserDAO.java;
a、跟数据库创建连接:
dbo.createConn()
b、准备SQL语句:
Stringsql="
select*fromuserswhereusername='
"
+username+"
'
andpassword='
+password+"
;
C、执行SQL语句:
dbo.query(sql)
d、关闭连接:
dbo.closeRs();
dbo.closeStat();
dbo.closeConn();
四、新建一个包取名为Servlet;
(1)、新建一个类LoginServlet.java;
publicclassLoginServletextendsHttpServlet{}
(2)、添加doGet()和doPost()方法;
(3)、创建会话:
HttpSessionsession=request.getSession();
session.setAttribute("
username"
username);
五、在登录页面(login)中写脚本,设置用户名和密码不为空;
<
scriptlanguage="
javascript"
>
functionvalid(){
varusername=document.form1.username.value;
varpassword=document.form1.password.value;
if(username=="
){
alert("
用户名不能为空!
);
returnfalse;
}
if(password=="
密码不能为空!
returntrue;
}
<
/script>
六、配置XML文件;
<
servlet>
servlet-name>
LoginServlet<
/servlet-name>
servlet-class>
servlet.LoginServlet<
/servlet-class>
/servlet>
servlet-mapping>
url-pattern>
/LoginServlet<
/url-pattern>
/servlet-mapping>
注册模块
一、menu中获取当前使用的用户名
%=session.getAttribute("
)%>
(注:
表达式没有分号)
二、退出模块:
1、退出是指把当会话结束,即将页面注销掉;
2、在servlet里创建一个类LogoutServlet.java;
产生doGet()方法,如果用户名不为空则注销会话session.invalidate();
否则将页面重定向到登录界面response.sendRedirect("
login.jsp"
3、更改XML中的配置文件;
LogoutServlet<
servlet.LogoutServlet<
/LogoutServlet<
三、注册模块:
1、在dao里新建UserDAO,定义几个方法:
(1)、判断是否数据库中是否存在该用户:
publicbooleanisExist(Stringusername){}
Stringsql="
d、执行SQL语句:
e、关闭连接:
(2)、向数据库中添加用户:
publicbooleanadd(Useruser){}
b、准备SQL语句Stringsql="
insertintousers(username,password,email)values('
+user.getUsername()+"
'
+user.getPassword()+"
+user.getEmail()+"
)"
c、执行SQL语句:
dbo.closeStat();
2、采用Ajax对页面进行局部刷新(编写一个AjaxServlet);
然后在登录页面(register.jsp)加脚本;
(1)、创建一个对象XMLHttpRequest;
(2)、发送请求函数,用open方法打开需要访问的URL;
(3)、指定要处理的东西,调用函数处理信息(function的作用:
获取返回的信息);
(4)、更改XML中的配置文件;
AjaxServlet<
servlet.AjaxServlet<
/ajax.do<
3、在servlet里新建RegisterServlet.java,添加doGet()和doPost();
更改XML中的配置文件;
RegisterServlet<
servlet.RegisterServlet<
/RegisterServlet<
4、在register页面的form里添加action、method和onsubmit
action="
RegisterServlet"
method="
post"
onsubmit="
returnvalidRegister(this);
5、修改login.jsp页面:
jsp:
useBeanid="
user"
class="
entity.User"
scope="
request"
/>
四、欢迎模块:
设置不能直接通过输入网址进入首页面;
%
if(session.getAttribute("
)==null){
response.sendRedirect("
return;
}%>
通讯录管理
一、定义一个实体类:
Address.java;
定义相应的变量(id,username,name,sex,mobile,email,qq,company,address,postcode),产生对应的get()和set()方法;
二、通讯录整个页面的显示;
1、在DAO中新建一个AdreessDAO.java类;
(1)、定义一个方法用来从数据库中查找出该用户所对应的所有联系人的信息;
publicList<
Address>
searchAll(Stringusername){}
(2)、与数据库创建连接;
dbo.createConn();
(3)、准备查询语句;
select*fromaddresswhereusername='
+username+"
(4)、用循环语句进行查询;
if(dbo.createConn()){
Stringsql="
if(dbo.query(sql)){
while(dbo.next()){
address=newAddress();
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("
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().getString("
postcode"
list.add(address);
}catch(SQLExceptione){
e.printStackTrace();
}
}
2、在sevlet中新建AddressServlet.java;
(1)、定义doGet()和doPost()方法;
(2)、创建会话:
(3)、如果用户名为空这页面转入登录界面(login.jsp);
if(username==null){
response.sendRedirect("
return;
}
(4)、否则页面转入通讯录管理的界面;
(5)、当点击新增联系人时,页面跳转到新增联系人的页面(address_add.jsp),执行添加的方法,然后将信息插入到数据库中;
elseif("
add"
.equals(method)){
topage="
address_add.jsp"
}elseif("
insert"
Stringname=request.getParameter("
Stringsex=request.getParameter("
Stringmobile=request.getParameter("
Stringemail=request.getParameter("
Stringqq=request.getParameter("
Stringaddress=request.getParameter("
Stringcompany=request.getParameter("
Stringpostcode=request.getParameter("
Addressaddr=newAddress();
addr.setUsername(username);
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.add(addr);
List<
list=dao.searchAll(username);
request.setAttribute("
list"
list);
(6)、删除操作;
delete"
intid=Integer.parseInt(request.getParameter("
dao.delete(id);
(7)、修改操作;
elseif("
edit"
list=dao.search(id);
address_edit.jsp"
update"
addr.setId(id);
addr.setSex(sex