




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黑龙江大学实 验 报 告课程名称JSP实验项目名称JDBC应用实验时间(日期及节次) 年 月 日 第 节专业软件工程学生所在学院软件学院年级2011级学号20113311姓名杜常数指导教师青巴图实验室名称实验成绩预习情况操作技术实验报告附加:综合创新能力实验综合成绩教师签字 黑龙江大学教务处实验名称:JDBC应用实验目的利用JDBC实现好友录程序。实验类型设计型实验环境编程环境:myeclipse8运行环境:Windows XP主要设计思想与算法在登陆界面填写好表单后点击提交会提交到logincheck.jsp,logincheck.jsp通过request获取表单的内容,再通过数据库查询与用户名相符的记录,如果存在该用户则比较验证密码,如果密码不正确则返回密码错误信息关键代码如下所示:String name = request.getParameter(username);String password = request.getParameter(password);DBconnect connect = new DBconnect();Connection con = connect.getConnection();Statement st = con.createStatement();ResultSet rs = st.executeQuery(select * from user where name=+ name + );if (rs.next() if (rs.getString(3).equals(password) Cookie cname = new Cookie(username, name);Cookie cpsw = new Cookie(userpsw, password);if (request.getParameter(savename)!=null) /保存用户名cname.setMaxAge(30 * 24 * 60 * 60);if (request.getParameter(savepsw)!=null) /保存用户密码cpsw.setMaxAge(30 * 24 * 60 * 60);/ifelsecpsw.setMaxAge(0);/if else /否则用户名密码都不保存cname.setMaxAge(0);cpsw.setMaxAge(0);/elseresponse.addCookie(cname);response.addCookie(cpsw);session.setAttribute(user, name);response.sendRedirect(index.jsp);/if (rs.getString(3)else request.setAttribute(passwordError,new String(用户密码错误!);request.getRequestDispatcher(login.jsp).forward(request,response);else request.setAttribute(nameError, new String(该用户不存在!);request.getRequestDispatcher(login.jsp).forward(request,response);显示所有好友信息的页面allfriend.jsp,首先判断session中是否有用户的信息,如果有则从数据库中查询相应的好友信息,如果没有说明尚未登录,则直接跳转到login.jsp页面具体代码如下所示:% String user=(String)session.getAttribute(user); if (user = null) response.sendRedirect(login.jsp); int rsCount=0,allNum,pageNum;/rsCount记录所有的好友个数,allNum记录页数,pageNum记录当前是第几页(从1开始)String temp;temp=request.getParameter(pageNum);if(temp=null)pageNum=1;elsepageNum=Integer.parseInt(temp);DBconnect connect = new DBconnect();Connection con = connect.getConnection();Statement st = con.createStatement();ResultSet rs;temp=request.getParameter(count);if(temp=null)rs=st.executeQuery(select count(*) from myfriend where userid in(select userid from user where name=+user+);rs.next();rsCount=rs.getInt(1);elsersCount=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 * from myfriend where userid in(select userid from user where name=+ user + );%在所有好友页面做到分页显示的方法如下所示:% if(pageNum!=1)/第一页 上一页的显示 out.print(第一页); out.print(上一页 ); else out.print(第一页); out.print(上一页); if(pageNum-21)/前面省略号的显示 out.print( . ); for (i = -2; i = 2; i+) /向前向后各显示两项 if(pageNum+i) allNum) break; else if(i=0) out.print( +pageNum); else out.print( + (pageNum + i)+ ); if (pageNum + 2 allNum)/后面的省略号的显示 out.print( . ); if (pageNum allNum)/下一页 尾页的显示方式 out.print( 下一页 ); out.print(尾页); else out.print( 下一页); out.print( 尾页); out.print( 返回首页);%registercheck.jsp页面需要对用户填写的信息进行检验,如果合标准则插入数据库中否则通过request将错误的信息返回注册页面中:12) request.setAttribute(passwordError,new String(用户名过长!); error=true; else if(password=null|password.length()=0) request.setAttribute(passwordError,new String(密码不能为空!); error=true; else if(password.length()12) request.setAttribute(passwordError,new String(密码过长!); error=true; else if(!password.equals(pswconfirm) request.setAttribute(pswconfirmError,new String(密码前后不一致!); error=true; if(error) request.getRequestDispatcher(Register.jsp).forward(request,response); return ; DBconnect connect=new DBconnect(); Connection con=connect.getConnection(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery(select * from user where name=+name+);/检查用户是否已经存在 if(rs.next() request.setAttribute(nameError,new String(用户名已经存在!); request.getRequestDispatcher(Register.jsp).forward(request,response); else st.executeUpdate(insert into user (name,password) values (+name+,+password+); session.setAttribute(user,name); response.sendRedirect(index.jsp); %模糊查询的代码如下所示:% String username=(String)session.getAttribute(user); if(username=null) response.sendRedirect(login.jsp); return ; out.print(我的好友录); out.print(欢迎您+username+); request.setCharacterEncoding(gbk); String queryName=request.getParameter(querryName); DBconnect connect=new DBconnect(); Connection con=connect.getConnection(); PreparedStatement preparest=con.prepareStatement(select * from myfriend where userid in(select userid from user where name=+username+) and name like %+queryName+%); ResultSet rs=preparest.executeQuery(); %修改好友信息需要通过update_friend.jsp填写表单,然后提交到update_check.jsp,update_check.jsp的关键代码如下所示:% String user_name=(String)session.getAttribute(user); if(user_name=null) response.sendRedirect(login.jsp); DBconnect connect=new DBconnect(); Connection con=connect.getConnection(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery(select userid from user where name=+user_name+); rs.next(); String userid=rs.getString(1); request.setCharacterEncoding(gb2312); String name=request.getParameter(name); String sex=request.getParameter(sex); String age=request.getParameter(age); if(age=null|age.length()=0) age=0; String qqnum=request.getParameter(qqnum); String tel=request.getParameter(tel); String email=request.getParameter(email); String address=request.getParameter(address); / /,+sex+,+age+,+qqnum+,+tel+,+email+,+address+ try String id=(String)session.getAttribute(id);out.print(+id+ name+name); session.removeAttribute(id); st.executeUpdate(update myfriend set name=+name+,sex=+sex+,age=+age+,qq=+qqnum+,telephone=+tel+,email=+email+,address=+address+ where id=+id); out.print(恭喜您,您的好友+name+修改成功); out.print(点击这里返回); out.print(点击此处返回首页); catch(Exception e) response.setHeader(refresh,4;url=allfriend.jsp); out.print(修改失败! 请检查是否有非法字符或未填写项); out.prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押题宝典高校教师资格证之《高等教育心理学》试题及参考答案详解(典型题)
- 2025年数字人民币跨境支付跨行互通与清算体系建设报告
- 2025年学前教育机构师资管理创新与职业素养提升报告
- 邮政行业职业技能鉴定通关考试题库含完整答案详解(易错题)
- 2025年尾矿资源化利用与生态修复技术政策实施效果跟踪报告
- 2025年智能客服行业情感分析技术挑战与对策报告
- 2025产品二线市场总代理合同书
- 2025版新型复合材料围墙施工合作协议
- 2025版抹灰班组承包工程竣工结算合同
- 2025年度动产典当借款合同范本
- 2023-2024学年九年级道德与法治上册 同步备课系列 教学设计教案(全册)
- 成熟生产线评价报告
- “高效的课件制作技巧及展示技能培训”
- 输电线路工程项目划分表
- 沪教版八年级生物第一册全册完整课件
- 第06章设计美学程能林第4版《工业设计概论》课课件
- 中行bfw框架开发和测试资料课件
- 医疗CT中碲锌镉CZT探测器的工作原理
- 食材配送应急保障配合措施方案
- 泌尿系统结石
- 义务教育语文课程标准(2022)测试题带答案(20套)
评论
0/150
提交评论