jsp技术实验报告实验6.docx

上传人:b****5 文档编号:8837508 上传时间:2023-05-15 格式:DOCX 页数:16 大小:410.71KB
下载 相关 举报
jsp技术实验报告实验6.docx_第1页
第1页 / 共16页
jsp技术实验报告实验6.docx_第2页
第2页 / 共16页
jsp技术实验报告实验6.docx_第3页
第3页 / 共16页
jsp技术实验报告实验6.docx_第4页
第4页 / 共16页
jsp技术实验报告实验6.docx_第5页
第5页 / 共16页
jsp技术实验报告实验6.docx_第6页
第6页 / 共16页
jsp技术实验报告实验6.docx_第7页
第7页 / 共16页
jsp技术实验报告实验6.docx_第8页
第8页 / 共16页
jsp技术实验报告实验6.docx_第9页
第9页 / 共16页
jsp技术实验报告实验6.docx_第10页
第10页 / 共16页
jsp技术实验报告实验6.docx_第11页
第11页 / 共16页
jsp技术实验报告实验6.docx_第12页
第12页 / 共16页
jsp技术实验报告实验6.docx_第13页
第13页 / 共16页
jsp技术实验报告实验6.docx_第14页
第14页 / 共16页
jsp技术实验报告实验6.docx_第15页
第15页 / 共16页
jsp技术实验报告实验6.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

jsp技术实验报告实验6.docx

《jsp技术实验报告实验6.docx》由会员分享,可在线阅读,更多相关《jsp技术实验报告实验6.docx(16页珍藏版)》请在冰点文库上搜索。

jsp技术实验报告实验6.docx

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("

欢迎您"+username+"


");

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的页面如下所示:

添加好友的模块运行效果如下所示:

通过页面查看好友时就可以看到添加的好友信息

更新好友信息运行效果如下所示:

删除好友运行效果:

如下为好友信息模糊查询的效果:

实验总结与心得

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2