jsp技术实验报告实验6.docx
- 文档编号:8837508
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:16
- 大小:410.71KB
jsp技术实验报告实验6.docx
《jsp技术实验报告实验6.docx》由会员分享,可在线阅读,更多相关《jsp技术实验报告实验6.docx(16页珍藏版)》请在冰点文库上搜索。
jsp技术实验报告实验6
大学
实验报告
课程名称
JSP
实验项目名称
JDBC应用
实验时间
(日期及节次)
年月日第节
专业
软件工程
学生所在学院
软件学院
年级
2011级
学号
20113311
杜常数
指导教师
青巴图
实验室名称
实验成绩
预习情况
操作技术
实验报告
附加:
综合创新能力
实验
综合成绩
教师签字
大学教务处
实验名称:
JDBC应用
实验目的
利用JDBC实现好友录程序。
实验类型
设计型
实验环境
编程环境:
myeclipse8
运行环境:
WindowsXP
主要设计思想与算法
在登陆界面填写好表单后点击提交会提交到logincheck.jsp,logincheck.jsp通过request获取表单的容,再通过数据库查询与用户名相符的记录,如果存在该用户则比较验证密码,如果密码不正确则返回密码错误信息关键代码如下所示:
Stringname=request.getParameter("username");
Stringpassword=request.getParameter("password");
DBconnectconnect=newDBconnect();
Connectioncon=connect.getConnection();
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("select*fromuserwherename=\""+name+"\"");
if(rs.next()){
if(rs.getString(3).equals(password)){
Cookieame=newCookie("username",name);
Cookiecpsw=newCookie("userpsw",password);
if(request.getParameter("savename")!
=null){//保存用户名
cname.setMaxAge(30*24*60*60);
if(request.getParameter("savepsw")!
=null){//保存用户密码
cpsw.setMaxAge(30*24*60*60);
}//if
else{
cpsw.setMaxAge(0);
}
}//if
else{//否则用户名密码都不保存
cname.setMaxAge(0);
cpsw.setMaxAge(0);
}//else
response.addCookie(cname);
response.addCookie(cpsw);
session.setAttribute("user",name);
response.sendRedirect("index.jsp");
}//if(rs.getString(3)
else{
request.setAttribute("passwordError",newString("用户密码错误!
"));
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}
else{
request.setAttribute("nameError",newString("该用户不存在!
"));
request.getRequestDispatcher("login.jsp").forward(request,response);
}
显示所有好友信息的页面allfriend.jsp,首先判断session中是否有用户的信息,如果有则从数据库中查询相应的好友信息,如果没有说明尚未登录,则直接跳转到login.jsp页面具体代码如下所示:
<%
Stringuser=(String)session.getAttribute("user");
if(user==null)
response.sendRedirect("login.jsp");
intrsCount=0,allNum,pageNum;//rsCount记录所有的好友个数,allNum记录页数,pageNum记录当前是第几页(从1开始)
Stringtemp;
temp=request.getParameter("pageNum");
if(temp==null)
pageNum=1;
else
pageNum=Integer.parseInt(temp);
DBconnectconnect=newDBconnect();
Connectioncon=connect.getConnection();
Statementst=con.createStatement();
ResultSetrs;
temp=request.getParameter("count");
if(temp==null){
rs=st.executeQuery("selectcount(*)frommyfriendwhereuseridin(selectuseridfromuserwherename=\""+user+"\")");
rs.next();
rsCount=rs.getInt
(1);
}
else
rsCount=Integer.parseInt(temp);
if(rsCount==0){
out.print("您没有可显示好友。
");
out.print("
return;
}
allNum=(int)(rsCount/50);//allNum所有页数一页显示50条记录
if(rsCount%50!
=0)
allNum++;
rs=st.executeQuery("select*frommyfriendwhereuseridin(selectuseridfromuserwherename=\""+user+"\")");
%>
在所有好友页面做到分页显示的方法如下所示:
<%
if(pageNum!
=1){//第一页上一页的显示
out.print(" pageNum=1&count="+rsCount+">第一页"); out.print(" pageNum="+(pageNum-1)+"&count="+rsCount+">上一页"); } else{ out.print("第一页"); out.print("上一页"); } if(pageNum-2>1){//前面省略号的显示 out.print("..."); } for(i=-2;i<=2;i++){//向前向后各显示两项 if((pageNum+i)<1) continue; if((pageNum+i)>allNum) break; elseif(i==0) out.print(""+pageNum); else out.print(" pageNum="+(pageNum+i)+"&count="+rsCount+">"+(pageNum+i)+""); } if(pageNum+2 out.print("..."); if(pageNum out.print(" pageNum="+(pageNum+1)+"&count="+rsCount+">下一页"); out.print(" pageNum="+allNum+"&count="+rsCount+">尾页"); } else{ out.print("下一页"); out.print("尾页"); } out.print(" registercheck.jsp页面需要对用户填写的信息进行检验,如果合标准则插入数据库中否则通过request将错误的信息返回注册页面中: <% Stringname,password,pswconfirm; booleanerror=false; name=request.getParameter("username"); password=request.getParameter("password"); pswconfirm=request.getParameter("pswconfirm"); if(name==null||name.length()==0){ request.setAttribute("nameError",newString("用户名不能为空! ")); error=true; } elseif(name.length()>12){ request.setAttribute("passwordError",newString("用户名过长! ")); error=true; } elseif(password==null||password.length()==0){ request.setAttribute("passwordError",newString("密码不能为空! ")); error=true; } elseif(password.length()>12){ request.setAttribute("passwordError",newString("密码过长! ")); error=true; } elseif(! password.equals(pswconfirm)){ request.setAttribute("pswconfirmError",newString("密码前后不一致! ")); error=true; } if(error){ request.getRequestDispatcher("Register.jsp").forward(request,response); return; } DBconnectconnect=newDBconnect(); Connectioncon=connect.getConnection(); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("select*fromuserwherename=\""+name+"\"");//检查用户是否已经存在 if(rs.next()){ request.setAttribute("nameError",newString("用户名已经存在! ")); request.getRequestDispatcher("Register.jsp").forward(request,response); } else{ st.executeUpdate("insertintouser(name,password)values(\""+name+"\",\""+password+"\")"); session.setAttribute("user",name); response.sendRedirect("index.jsp"); } %> 模糊查询的代码如下所示: <%Stringusername=(String)session.getAttribute("user"); if(username==null){ response.sendRedirect("login.jsp"); return; } out.print(" out.print(" request.setCharacterEncoding("gbk"); StringqueryName=request.getParameter("querryName"); DBconnectconnect=newDBconnect(); Connectioncon=connect.getConnection(); PreparedStatementpreparest=con.prepareStatement("select*frommyfriendwhereuseridin(selectuseridfromuserwherename=\""+username+"\")andnamelike\"%"+queryName+"%\""); ResultSetrs=preparest.executeQuery(); %> 修改好友信息需要通过update_friend.jsp填写表单,然后提交到update_check.jsp,update_check.jsp的关键代码如下所示: <% Stringuser_name=(String)session.getAttribute("user"); if(user_name==null) response.sendRedirect("login.jsp"); DBconnectconnect=newDBconnect(); Connectioncon=connect.getConnection(); Statementst=con.createStatement(); ResultSetrs=st.executeQuery("selectuseridfromuserwherename=\""+user_name+"\""); rs.next(); Stringuserid=rs.getString (1); request.setCharacterEncoding("gb2312"); Stringname=request.getParameter("name"); Stringsex=request.getParameter("sex"); Stringage=request.getParameter("age"); if(age==null||age.length()==0) age="0"; Stringqqnum=request.getParameter("qqnum"); Stringtel=request.getParameter("tel"); Stringemail=request.getParameter("email"); Stringaddress=request.getParameter("address"); // //,\""+sex+"\","+age+",\""+qqnum+"\",\""+tel+"\",\""+email+"\",\""+address+"\" try{ Stringid=(String)session.getAttribute("id");out.print(""+id+"name"+name); session.removeAttribute("id"); st.executeUpdate("updatemyfriendsetname=\""+name+"\",sex=\""+sex+"\",age=\""+age+"\",qq=\""+qqnum+"\",telephone=\""+tel+"\",email=\""+email+"\",address=\""+address+"\"whereid="+id); out.print("恭喜您,您的好友 #aabb23;\">"+name+"修改成功 out.print(" out.print(" } catch(Exceptione){ response.setHeader("refresh","4;url=allfriend.jsp"); out.print("修改失败! 请检查是否有非法字符或未填写项"); out.print(" } %> 删除好友直接对数据库进行操作,删除记录就可以。 其中删除记录的jsp代码如下所示: <% if(session.getAttribute("user")==null) response.sendRedirect("login.jsp"); try{ DBconnectconnect=newDBconnect(); Connectioncon=connect.getConnection(); Statementst=con.createStatement(); String[]id; inti; id=request.getParameterValues("del"); for(i=0;i st.executeUpdate("deletefrommyfriendwhereid="+id[i]); out.print("删除成功! out.print("马上跳转,如果没有跳转请点击 response.sendRedirect("allfriend.jsp"); } catch(Exceptione){ out.print("出错了! } %> 实验结果(测试用例、实验结果) 用户登录的界面如下所示: Index.jsp的页面如下所示: 添加好友的模块运行效果如下所示: 通过页面查看好友时就可以看到添加的好友信息 更新好友信息运行效果如下所示: 删除好友运行效果: 如下为好友信息模糊查询的效果: 实验总结与心得我的好友录
");欢迎您"+username+"
");
");
");
");
");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 技术 实验 报告