jsp实验报告-7878789.doc

上传人:wj 文档编号:347860 上传时间:2023-04-29 格式:DOC 页数:14 大小:58.50KB
下载 相关 举报
jsp实验报告-7878789.doc_第1页
第1页 / 共14页
jsp实验报告-7878789.doc_第2页
第2页 / 共14页
jsp实验报告-7878789.doc_第3页
第3页 / 共14页
jsp实验报告-7878789.doc_第4页
第4页 / 共14页
jsp实验报告-7878789.doc_第5页
第5页 / 共14页
jsp实验报告-7878789.doc_第6页
第6页 / 共14页
jsp实验报告-7878789.doc_第7页
第7页 / 共14页
jsp实验报告-7878789.doc_第8页
第8页 / 共14页
jsp实验报告-7878789.doc_第9页
第9页 / 共14页
jsp实验报告-7878789.doc_第10页
第10页 / 共14页
jsp实验报告-7878789.doc_第11页
第11页 / 共14页
jsp实验报告-7878789.doc_第12页
第12页 / 共14页
jsp实验报告-7878789.doc_第13页
第13页 / 共14页
jsp实验报告-7878789.doc_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

jsp实验报告-7878789.doc

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

jsp实验报告-7878789.doc

武汉工程大学邮电与信息学院

学生实验报告

课程名称:

 动态网页技术

年 级:

 2010级

专 业:

计算机科学与技术

姓名:

学号:

指导教师:

  邹君

实验地点:

605、703机房

2012学年至2013学年度第一学期

实验一

实验Tomcat服务器的安装与配置

一、实验目的

本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面、怎样修改Tomcat服务器的端口号。

二、实验要求

1、将下载的apache-tomcat-,并进行调试。

2、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录中。

三、实验结果

所运行的代码如下;

biao.jsp

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

乘法表

<%

for(intj=1;j<=9;j++)

{

for(inti=1;i<=j;i++)

{

intn=i*j;

out.print(i+"×"+j+"="+n+"");

}

out.print("
");

}

%>

biao.jsp页面

四、实验结果分析

1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。

2、设置虚拟目录。

在conf目录下的server.xml中前加入:

3、Tomcat服务器必须保持启动。

实验二JSP页面的基本结构

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。

二、实验要求

本实验将用户输入的单词按字典顺序排序。

需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。

三、实验内容

1)inputWord.jsp页面有一个表单,用户通过该表单输入若干个单词,并提交给showDictionary.jsp页面。

2)showDictionary.jsp负责排序单词,并将排序的全部单词显示给用户。

四、实验结果

实验所用代码如下:

inputWord.jsp

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

请输入单词(用空格分隔):


showDictionary.jsp

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

<%@pageimport="java.util.*"%>

<%!

TreeSetdictionary=newTreeSet();

publicvoidaddWord(Strings)

{

Stringword[]=s.split("");

for(inti=0;i

{

dictionary.add(word[i]);

}

}

%>

<%

Stringstr=request.getParameter("word");

addWord(str);

Iteratorte=dictionary.iterator();

while(te.hasNext())

{

Stringword=te.next();

out.print(""+word);

}

%>

inputWord.jsp页面

showDictionary.jsp页面

五、实验结果分析

1、jsp页面由html标记、jsp标记、成员变了和方法的声明、java程序片和java表达式组成。

2、jsp页面中的成员变量是被所有用户共享的变量。

Java程序片可以操作成员变了,任何一个用户对jsp页面成员变量操作的结果,都会影响到其他用户。

实验三JSP指令标记

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用include指令标记在JSP页面中静态插入一个文件内容。

二、实验要求

该实验要求使用include指令标记使得每个页面都包含导航条。

在进行试验之前,将名字是leader.txt的文件保存到本实验所使用的web服务目录中。

三、实验内容

leader.txt编写3个JSP页面。

1)frist.jsp使用include指令静态插入leader.txt文本文件。

2)second.jsp使用include指令静态插入leader.txt文件。

3)third.jsp使用include指令静态插入leader.txt。

四、实验结果

所运行代码如下:

leader.txt

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

链接到页面1

链接到页面2

链接到页面3

first.jsp

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

这是页面1

<%@includefile="leader.txt"%>

second.jsp

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

这是页面2

<%@includefile="leader.txt"%>

third.jsp

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

这是页面3

<%@includefile="leader.txt"%>

frist.jsp页面

second.jsp页面

third.jsp页面

五、实验结果分析

1、include指令标记是在jsp页面出现该指令的位置处,静态的插入一个文件。

被插入的文件必须是可访问和可使用的。

Include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖与当前jsp页面,优点是执行速度快。

实验四JSP动作标记

一、实验目的

本实验的目的是让学生掌握怎样在JSP页面中使用include标记动态加载文件,使用forward实现页面的转向。

二、实验要求

编写三个JSP页面:

giveFileName.jsp、readFile.jsp和error.jsp。

三、实验内容

1)giveFileName.jsp页面使用include动作标记动态加载readFtle.jsp页面,并将一个文件的名字ok.txt传递给被加载的readFtle.jsp页面。

2)readFile.jsp页面负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp。

3)error.jsp负责显示错误信息。

四、实验结果

实验所用代码如下:

giveFileName.jsp

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

读取名字是ok.txt的文件:

includepage="readFile.jsp">

paramname="file"value="D:

/ProgramFiles/tomcat/webapps/chapter2/ok.txt"/>

include>

readFile.jsp

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

<%@pageimport="java.io.*"%>

ThisisreadFile.jsp.

<%

Strings=request.getParameter("file");

Filef=newFile(s);

if(f.exists())

{

out.println("
文件"+s+"的内容:

");

FileReaderin=newFileReader(f);

BufferedReaderbIn=newBufferedReader(in);

Stringline=null;

while((line=bIn.readLine())!

=null)

{

out.println("
"+line);

}

}

else

{

%>

forwardpage="error.jsp">

paramname="mess"value="FileNotFound"/>

forward>

<%

}

%>

error.jsp

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

Thisiserror.jsp.

<%

Strings=request.getParameter("mess");

out.println("
本页面得到的信息:

"+s);

%>

giveFileName.jsp页面

error.jsp页面

五、实验结果分析

1、include动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语法上独立与当前jsp页面,include指令标记可以使用param子标记向被加载的jsp文件传递信息。

实验五request对象

一、实验目的

本实验的目的是让学生掌握怎样在JSP中使用内置对象request。

二、实验要求

通过JSP页面和Tag文件实现数字的四则运算,要求编写两个JSP页面inputNumber.jsp和receiveNumber.jsp及一个Tag文件Computer.tag。

receiveNumber.jsp使用内置对象接受inputNumber.jsp提交的数据,然后将计数任务交给Tag文件Computer.tag去完成。

三、实验内容

1)inputNumber.jsp页面提供一个表单,用户可以通过表单输入两个数、选择四则运算符号,并将输入的两个数和所选择的运算符号提交给receiveNumber.jsp页面。

2)receiveNumber.jsp使用内置对象inputNumber.jsp页面提交的数据,然后将计算任务交给Tag文件Computer.tag去完成。

3)要求Computer.tag使用attribute指令得到receiveNumber.jsp页面传递过来的书和运算符号,使用variable指令将运算结果返回给receiveNumber.jsp页面。

四、实验结果

实验所用代码如下:

inputNumber.jsp

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

输入运算数、选择运算符号:


+

-

*

/


Computer.tag

<%@tagpageEncoding="GB2312"%>

<%@attributename="numberA"required="true"%>

<%@attributename="numberB"required="true"%>

<%@attributename="operator"required="true"%>

<%@variablename-given="result"scope="AT_END"%>

<%try

{

doublea=Double.parseDouble(numberA);

doubleb=Double.parseDouble(numberB);

doubler=0;

if(operator.equals("+"))

{

r=a+b;

}

elseif(operator.equals("-"))

{

r=a-b;

}

elseif(operator.equals("*"))

{

r=a*b;

}

elseif(operator.equals("/"))

{

r=a/b;

}

jspContext.setAttribute("result",String.valueOf(r));

}

catch(Exceptione){

jspContext.setAttribute("result","发生异常:

"+e);

}

%>

inputNumber.jsp页面

receiveNumber.jsp页面

五:

实验结果分析

1、内置对象request的作用就是用来接收客户端提交的请求

2、request对象用的比较多的方法是getParameter方法。

request对象的getParameter方法根据指定的参数,获取客户端提交的信息。

其语法规则如下:

<%Stringname=request.getParameter(“txtName”)%>

其中,name是一个字符串变量。

txtName是客户端提交信息中的一个字段名。

3、下面的就是在实验里面request的使用

<%

Stringa=request.getParameter("numberOne");

Stringb=request.getParameter("numberTwo");

Stringoperator=request.getParameter("operator")

实验六responese对象

一、实验目的

本实验的目的是掌握怎样使用response对象动态响应用户的请求。

二、实验要求

编写两个JSP页面inputRadius.jsp和drawCircle.jsp页面,drawCircle.jsp页面使用response对象做出动态响应。

三、实验内容

1)inputRadius.jsp提供表单,用户在表单中输入一个代表圆的半径的数字,提交给drawCircle.jsp页面。

2)drawCircle.jsp页面首先使用request对象获得inputRadius.jsp提交的数字,然后根据数字的大小做出不同的响应。

如果数字小于等于0或者大于100,response对象调用setCountType(Strings)方法将contentType属性的值设置为text/plain,同时输出“半径不合理”;如果数字大于0并且小于等于100,response对象调用setContentType(Strings)方法将contentType属性的值设置为image/jpeg,并绘制一个圆;如果用户在inputRadius.jsp页面输入了非数字,response对象调用sendRedirect(URLurl)方法将用户重定向到inputRadius.jsp。

四、实验结果

实验所用代码如下:

inputRadius.jsp

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

输入圆的半径:

drawCircle.jsp

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

<%@pageimport="java.awt.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport=""%>

<%@pageimport=""%>

<%@pageimport=""%>

<%

StringR=request.getParameter("radius");

out.print(R);

try

{

doublenumber=Double.parseDouble(R);

if(number<=0||number>100)

{

response.setContentType("text/plain;charset=GB2312");

out.println(number+"作为圆的半径不合理");

}

elseif(number>0&&number<=100)

{

response.setContentType("image/jpeg");

intwidth=100,height=100;

BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

Graphicsg=image.getGraphics();

g.setColor(Color.white);

g.fillRect(0,0,width,height);

Graphics2Dg_2d=(Graphics2D)g;

Ellipse2Dcircle=newEllipse2D.Double(0,0,number,number);

g_2d.setColor(Color.blue);

g_2d.fill(circle);

g.dispose();

OutputStreamoutClient=response.getOutputStream();

JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(outClient);

encoder.encode(image);

}

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

当前位置:首页 > 自然科学 > 物理

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

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