JSP实验报告.docx

上传人:b****6 文档编号:6359499 上传时间:2023-01-05 格式:DOCX 页数:29 大小:46.68KB
下载 相关 举报
JSP实验报告.docx_第1页
第1页 / 共29页
JSP实验报告.docx_第2页
第2页 / 共29页
JSP实验报告.docx_第3页
第3页 / 共29页
JSP实验报告.docx_第4页
第4页 / 共29页
JSP实验报告.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

JSP实验报告.docx

《JSP实验报告.docx》由会员分享,可在线阅读,更多相关《JSP实验报告.docx(29页珍藏版)》请在冰豆网上搜索。

JSP实验报告.docx

JSP实验报告

实验一JSP运行环境的搭建日期:

2月21日

一、实验目的与要求:

1.熟悉JDK开发包及Tomcat服务器的安装

2.熟悉JSP运行环境的配置

二、实验内容:

在WINDOWS平台上,自行安装JSP的Web服务器,并将运行环境配置好。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse

四、实验步骤:

(1)下载JDK以及Tomcat工具。

(2)按照提示安装JDK及Tomcat。

(3)右键单击桌面“我的电脑”图标,在弹出的快捷菜单中选择“属性”,打开“系统属性”对话框,或者在“控制面板”中双击“系统”图标,也可打开“系统属性”对话框,选择“高级”选项卡。

(4)单击“环境变量”按钮,打开“环境变量”对话框,在“系统变量”列表中选中“Path”选项,单击“编辑”按钮,打开“编辑系统变量”对话框。

(5)在“变量值”的文本框中将光标放在最后,输入一个分号“;”,然后再输入JDK的安装路径。

(6)单击“确定”按钮完成JDK环境的配置。

五、实验结果:

可运行JSP程序

六、实验小结:

1.能说出目前比较流行的JSP开发工具。

2.学会如何安装JDK及Tomcat工具,并配置JDK环境

实验二JSP基本语法的应用日期:

2月27日

一、实验目的与要求:

掌握jsp获取表单的值,练习jsp声明、表达式和JSP动作指令的使用。

二、实验内容:

在JSP网页中使用include及forward等JSP动作指令完成动态页面的加载与重定向。

认识通过内部对象获取表单参数和URL从客户端传递来的信息。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse

四、实验步骤:

1、include指令的使用

(1)制作主页面qiuhe.jsp,用于动态加载页面addNum.jsp,qiuhe.jsp页面的代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

includepage="addnum.jsp">//动态加载页面addNum.jsp

paramname="computer"value="100"/>//用于给参数Computer传递数据100。

include>

(2)制作页面addNum.jsp,获得参数Computer的值,页面关键代码如下:

<%

Stringstr=request.getParameter("computer");//获取值

intn=Integer.parseInt(str);

intsum=0;

for(inti=1;i<=n;i++)//求1到computer的和

{

sum=sum+i;

}

%>

从1到<%=n%>的连续和是:

<%=sum%>//输出数据

2、forward指令的使用

(1)制作主页面suiji.jsp,利用Math.random()产生随机数n。

页面关键代码如下:

<%

doublei=Math.random();

%>

forwardpage="redi.jsp">//使用

forward>进行重定向,转向页面redi.jsp。

paramname="n"value="<%=i%>"/>//使用

param>进行参数传递,将参数n值传递给redi.jsp页面。

forward>

(2)制作重定向页面redi.jsp获得n的值,并输出n的值。

页面关键代码如下:

<%

Stringstr=request.getParameter("n");//重定向页面redi.jsp获得n的值

if(str==null)str="0";

doublen=Double.parseDouble(str);

%>

您传过来的数值是:

<%=n%>//输出n的值

五、实验结果:

1、从1到100的连续和是:

5050

2、您传过来的数值是:

0.5

六、实验小结:

(要能回答如下问题)

1.能说出JSP指令标签有哪些,分别起什么作用。

2.分清动态加载页面与重定向页面的区别。

3.页面参数是如何传递的。

实验三JSP中session对象及Application对象的应用日期:

3月3日

一、实验目的与要求:

了解散列表对象的使用(hashtable),掌握session对象与application对象的应用,理解session与application对象的区别。

二、实验内容:

制作用户注册界面,认识散列表对象;通过将客户的姓名和家庭地址保存在session对象中,实现同一web目录下的页面对session对象中的信息共享。

掌握在JSP网页中熟练使用session对象保存会话信息,熟悉session对象中的信息共享。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse

四、实验步骤:

1、制作用户注册实例

(1)建立Zhuce.jsp页面,创建一表单,其中包含一个文本框,客户在此文本框中输入用户名。

(2)建立login.jsp页面,创建一空的散列对象(hashtable)。

(3)定义一个方法putName(Strings),该方法以s为属性名和属性值,插入到散列对象(hashtable)中。

代码如下:

<%!

Hashtablehashtable=newHashtable();

publicsynchronizedvoidputName(Strings)

{

hashtable.put(s,s);

}

%>

(4)从表单中获取用户名,若散列对象中没有注册过此用户名,则将(name,name)插入到散列对象中(表示实现了用户注册),否则,提示用户换个名字注册。

代码如下:

<%

Stringname=request.getParameter("name");

if(name==null)name="";

byteb[]=name.getBytes("ISO-8859-1");

name=newString(b);

if(!

(hashtable.containsKey(name)))

{

putName(name);

out.print("
"+"你已注册成功");

out.print("
"+"你注册的名字是"+name);

}

else

out.print("
"+"该名字已存在,请换个名字");

%>

2、信息的保存与共享

程序创建三个页面,第一个页面用来输入姓名,第二个页面输入家庭地址,第三个页面实现信息获取,三个页面文件保存在同一web目录中。

(1)在第一个页面文件name.jsp中,创建一个包含文本控件的表单,用此文本控件录入姓名。

(2)在第二个页面文件address.jsp中,获取客户端输入的姓名(xm),将其添加到session对象中,再创建一个包含文本控件的表单,用此文本控件录入商品名。

代码如下:

<%

Stringxm=request.getParameter("buy_name");

session.setAttribute("name",xm);

%>

请输入您的地址:

(3)在第三个页面文件account.jsp中,获取客户端录入的地址(dz),将其添加到session对象中,代码如下:

<%!

//处理字符串的方法

publicStringgetString(Strings)

{

if(s==null)

{s="";}

try{

byteb[]=s.getBytes("ISO-8859-1");

s=newString(b);

}

catch(exceptione){}

returns;}%>

<%

Stringsp=request.getParameter("shangpin");

session.setAttribute("goods",sp);

%>

<%

Stringxinming=(String)session.getAttribute("name");//从session对象中获取姓名和商品名。

Stringshangpin=(String)session.getAttribute("goods");

xinming=getString(xinming);//对姓名进行编码

shangpin=getString(shangpin);//对商品名进行编码

%>

(4)最后将姓名和商品名输出到客户端。

五、实验结果:

1、在表单中输入姓名,点击“注册”后可判断该姓名是否已经注册,如果没注册则注册成功,否则会要求换个名字。

2、在表单中输入姓名和通信地址后,可以客户端将输入的姓名与地址输出。

六、实验小结:

(要能回答如下问题)

1.能说出散列表的作用。

2.能说出session对象与application对象的区别。

实验四JSP内置对象的应用日期:

3月10日

一、实验目的与要求:

1.JSP基本语法的综合运用

2.JSP内置对象的综合运用

二、实验内容:

制作简单的猜数字游戏,并在网页中调用request、response、session、out等内置对象的常用方法。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse

四、实验步骤:

(1)制作猜数字游戏的主页index.jsp页面:

系统随机生成一个1到100之间的数,要求在文本框中输入要猜的数。

生成随机数的代码如下:

<%

intnum=(int)(Math.random()*100)+1;

session.setAttribute("count",newInteger(0));

session.setAttribute("num",newInteger(num));

%>

(2)制作判断所猜的数和系统生成的数之间关系的页面process.jsp。

关键代码如下:

<%

Stringnum=request.getParameter("number");

if(num==null)

{num="0";}

intgNum=Integer.parseInt(num);

Integeri=(Integer)session.getAttribute("num");

intrNum=i.intValue();

if(gNum==rNum)

{

intcount=((Integer)session.getAttribute("count")).intValue();

count++;

session.setAttribute("count",newInteger(count));

response.sendRedirect("ok.jsp");

}

elseif(gNum>rNum)

{

intcount=((Integer)session.getAttribute("count")).intValue();

count++;

session.setAttribute("count",newInteger(count));

response.sendRedirect("larger.jsp");

}

elseif(gNum

{

intcount=((Integer)session.getAttribute("count")).intValue();

count++;

session.setAttribute("count",newInteger(count));

response.sendRedirect("smaller.jsp");

}

%>

(3)制作提示猜的数小于生成的数的页面smaller.jsp,并要求重新输入。

(4)制作提示猜的数大于生成的数的页面large.jsp,并要求重新输入。

(5)制作提示已经猜中页面ok.jsp。

五、实验结果:

在主页面输入一个1到100之间的数,并和页面随机生成的数比较,如果输入的数小了,则提示你猜的数比系统生成的数小,请再猜一次,如果输入的数大了,则提示你猜的数比系统生成的数大,请再猜一次,直到猜对,提示恭喜你,答对了!

六、实验小结:

(要能回答如下问题)

能说出JSP内置对象的概念、生命周期、作用范围和对象方法的实际应用。

实验五数据库的连接与加载日期:

3月24日

一、实验目的与要求:

掌握数据表的创建及数据查询的方法及JDBC驱动程序的加载。

二、实验内容:

制作数据库文件,实现查询英语成绩及格的学生信息及完成向表中添加记录。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse+SQLServer200+Access

四、实验步骤:

1、查询的应用

(1)利用Access建立数据库表students。

(2)通过ODBC数据源加载驱动程序,获取连接对象。

(3)编写程序代码grade.jsp,该程序关键代码如下。

<%

Connectioncon;

Statementsql;

ResultSetrs;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptione){}

try{

con=DriverManager.getConnection("jdbc:

odbc:

grade");

sql=con.createStatement();//通过无参的createStatement()方法创建语句对象(sql)

rs=sql.executeQuery("select*fromstudentswhereenglish>=60");

out.print("");

out.print("");

out.print(""+"学号");

out.print(""+"姓名");

out.print(""+"数学成绩");

out.print(""+"英语成绩");

out.print(""+"物理成绩");

out.print("");

while(rs.next())

{

out.print("");

out.print(""+rs.getString

(1)+"");

out.print(""+rs.getString

(2)+"");

out.print(""+rs.getInt(3)+"");

out.print(""+rs.getInt(4)+"");

out.print(""+rs.getInt(5)+"");

out.print("");

}

out.print("");

con.close();

}

catch(SQLExceptione1){}

%>

2、数据添加的应用

本程序是向students表中添加记录,该程序由两个页面组成。

(1)制作表单界面insert.jsp将录入的数据提交给newdata.jsp页面。

(2)制作负责将数据添加到表students中的页面newdata.jsp,并显示添加后的记录。

该程序的主要代码如下:

<%//获取提交的学号

Stringnumber=request.getParameter("number");

if(number==null)

{number="";}

byteb[]=number.getBytes("ISO-8859-1");

number=newString(b);

//获取提交的姓名

Stringname=request.getParameter("name");

if(name==null)

{name="";}

bytec[]=name.getBytes("ISO-8859-1");

name=newString(c);

//获取提交的新的数学成绩

Stringm=request.getParameter("math");

if(m==null)

{m="-100";}

//获取提交的新的英语成绩

Stringe=request.getParameter("english");

if(e==null)

{e="-100";}

//获取提交的新的物理成绩

Stringp=request.getParameter("phics");

if(p==null)

{p="-100";}

Connectioncon=null;

Statementsql=null;

ResultSetrs=null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptionevent){}

try{

con=DriverManager.getConnection("jdbc:

odbc:

grade","","");

sql=con.createStatement();

Stringcondition=

"INSERTINTOstudentsVALUES"+"("+"'"+number+"','"+name+"',"+m+","+e+","+p+")";

sql.executeUpdate(condition);//执行添加操作

%>

添加记录后的表

五、实验结果:

1.将students表中所有英语成绩高于60的学生信息显示在页面上。

2.通过页面输入学生的考试成绩,并将输入信息添加到students表中。

六实验小结:

(要能回答如下问题)

1.能说出JDBC驱动程序的加载方法。

2.能熟练操作在JSP页面中如何操作sql语句。

实验六JSP的数据库的综合应用日期:

4月10日

一、实验目的与要求:

熟悉数据库的操作和应用、以及数据源的连接。

二、实验内容:

设计一个网上投票系统,分别实现JSP网页对ACCESS、SQLServer2000的连接。

三、实验器材:

windows操作系统+JDK+Tomcat+MyEclipse+SQLServer200+Access

四、实验步骤:

1)创建两个表,一个是IP表,表结构为(IP),该表用来存放投票人的IP地址。

另一个是candidate表,表结构为(name,count),该表用来存放候选人的名单及候选人的票数。

2)建立一个toupiao.jsp程序,用于展示投票界面,程序文件的主要代码如下。

<%

StringBuffernameList=newStringBuffer();

Connectioncon;

Statementsql;

ResultSetrs;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptione){}

try{

con=DriverManager.getConnection("jdbc:

odbc:

grade","","");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMcandidate");

nameList.append("");

nameList.append("");

nameList.append("");

nameList.append(""+"姓名"+"");

nameList.append(""+"投票选择"+"");

nameList.append("");

while(rs.next()){

nameList.append("");

Stringname=rs.getString

(1);

nameList.append(""+name+"");

Strings="";

nameList.append(""+s+"");

nameList.append("");

}

nameList.append("");

nameList.append("");

nameList.append("

con.close();

out.print(nameList);

}

catch(SQLExceptionel){}

%>

3)建立第二个界面vote.jsp,用于将客户投票的选择保存到candidate表中,实现投票统计,并将客户的IP地址保存到IP表中,该程序主要代码如下。

<%!

inttotal=0;//记录总票数的变量

synchronizedvoidcountTotal()//操作总票数的同步方法

{

total++;

}

%>

<%

Connectioncon=null;

Statementsql=null;

ResultSetrs=null;

booleanvote=true;//决定用户是否有权投票的变量

Stringname="";//得到被选择的候选人名字

name=request.getParameter(

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

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1