2023年jsp基础实验报告_第1页
2023年jsp基础实验报告_第2页
2023年jsp基础实验报告_第3页
2023年jsp基础实验报告_第4页
2023年jsp基础实验报告_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成绩

评阅人

评阅日期

计算机科学与技术系

实验报告

课程名称:JSP网络开发逐步进一步

实验名称:___________JSP基础实验_____________

班级.*********

学号:************

婵名・********

2023年12月20日

Javaweb应用编程基础实验报告

实验1:JSP基础实验

一、实验目的:

•熟悉HTML语法,理解和掌握JSP基本语法。

•初步掌握运用指令、脚本元素和动作元素,进行简朴的JSP和HTML混合编程的方

法和技术。

•理解对象概念,掌握application、session等对象的基本使用方法。

二、实验规定:

•理解WebServer,对的使用Apache的Tomeat建立JSPServer。

•编写程序完毕以下实验内容,通过手工和MyEc1ipse两种方式分别完毕JSP文

献的部署。

•上交实验报告电子文档。

三、实验内容:

1、编写一个JSP程序,计算10!,并显示出结果。规定先声明计算阶乘的方法,再调用

该方法,最后在页面上输出结果。(进阶规定:通过表单提交一个正整数,然后计算它的阶乘。)

2、在JSP页面中静态包含文献。规定程序包含两个文献,主文献静态包含一个可以计

算数据的算术平方根的页面。

3、动态包含页面并传递数据。规定程序包含两个文献,主文献加载次文献,并将随机

产生的0~1之间的数据传递给它,并且在页面上显示出来。(进阶规定:把动态包含改为

动态重定向,比较两者之间的区别。)

4、计算三角形的面积。规定由用户输入三角形的三条边,判断这三条边是

否能构成一个三角形,若能构成三角形,则输出三角形的面积。

5、编写一个简朴的网上商店,用application对象存放网上的商品清单和库存量,用s

ession对象存放用户的购买信息(用户名、商品名及购买数量),然后运用这些信息给用户

结账。

四、实验过程中碰到的问题及解决手段:

(1)一方面就是网页的布局设立,由于我对html不是很熟悉,所以在实验中的页面布局不是

很好看。只能说是尽量让界面看起来好看点吧,但是跟专业的比起来就差远了。我会网页美

工方面在下点功夫的,把界面做的好看点。

(2)就是乱码的问题,但是等我明白了javaweb编程时涉及的编码及出现乱码的因素后,

然后解决乱码,感觉还行了。下面我总结一下如何解决在javaweb编程时解决乱码的方法:

<1>、在post提交的表单中,在servlet中,设立请求和回应的编码。设立如下:

request.setCharacterEncoding("gb2312");

response.setContentType("text/html;charset=gb2312");

在jsp页面中,使用

<%@pagepageEncoding="utf—8"contentType="text/html;charset

=gb2312"%>

设立回应对象的编码,同样使用request.setCharacterEncoding("gb2312");

设立请求对象的编码。

<2>,在使用get提交的表单时,使用

Request.getParameter("paramName").getBytesf4ISO—8859—1","GB2

312”);

设立对请求对象中参数的解析编码。

<3>、使用过滤器来同一设立编码。

五、程序源代码:

问题1源代码:源文献:first.jsp

first.jsp

<%@page1anguage="java"import="java.util.pageEncoding=

nutf-8"%>

<!DOCTYPEHTMLPUBLICn-//W3C//DTDHTML4.01Transitiona1//EN',>

<html>

<head>

<tit1e>first</title>

<metahttp-equiv=r,pragmar,content=f,no-cache">

<metahttp-equiv=ncache-contro1"content="no-cache">

o<metahttp-equiv=nexpires"content="0n>

<metahttp-equiv="keywords"content="keywordlfkeyword2f

keyword3">

0cmetahttp-equiv="descriptJon"content="Thisismypage">

</head>

<body>

<divalign=ncenter">

〈MARQUEESCrollAmount=3direction=rightwidth=400hei

ght=40>

<FONTface=楷体_GB2312color=#888888size=6>完毕整数

阶乘运算的小例子</FONT>

</MARQUEE>

</div>

<br>

<br>

<br>

<br>

<%

if(request.getParameter("integervalue”)==null){

%>

<formacti0n="first,jsp"method="post">

<tab1ealign="center1'border="0"bgcolor="#999999”>

<tr>

<td> ;   ; ;请输入要完毕运算的整

数:</td〉

<td><inputtype="ext"name=flintegerVa1ue"size="

40"></td>

</tr>

<tr>

<td> </td>

<td> </td>

<tr>

<tr>

<td>     ;  &nbs

p;Snbsp;   

 ;    ; ; ;&nbs

p; Snbsp; 

<inputtype=ureset"name=r,reset9'value="重填">

</td>

<td> ; ;     

<inputtype="submitnname=r,submit"value="提交r,x/td>

<tr>

</table>

</form>

<%}

else{

intvalue=Integer.parselnt(request.getParameter("int

egerValue'*).trim());

intresult=l;

if(va1ue==0)result=0;

else(

for(inti=1;i<=va1ue;i++){

result=resu1t*i;

)

)

%>

<tablealign="center"border="0"bgcolor="#999999”>

<tr>

<td>&nbsP;    ; ; ;&n

bsp;<%=value%>!=</td>

<td><%=resuit>   ;&nbsP; 

   </td>

</tr>

</table>

<%}%>

</body>

</html>

问题2源代码:源文献:second.jspca1Area.jsp

second.jsp

<%@page1anguage="java"import="java.uti1.★npageEncoding

="utf-8rl%>

<!DOCTYPEHTMLPUBLICn-//W3C//DTDHTML4.01Transitional//ENn>

<html>

<head>

<tit1e>second</title>

<metahttp-eQuiv=rtpragmaf,content="no-cache">

<metahttp-equiv="cache-control"content=vno-cachelf>

o<metahttp-equiv="expires"content="0">

<metahttp—equiv=,rkeywordsvcontent="keywordJ,keywo

rd2fkeyword3">

o<metahttp-equiv=lrdescriptionricontent="Thisismypage">

</head>

<body>

<divalign="center1^

<FONT楷体_GB2312co1ov=U888888size=6>计算三角形面

积的小例子</FONT〉

</div>

<br>

<br>

<br>

<br>

<%

if(request.getParameter(naM)==nulllirequest.getPar

ameter(HbH)==null

IIrequest.getParameter(nc")==null){

%>

<formaction="second.Jspnmethod="post">

<tablealign="center"border="〃"bgcolor="#999999”>

<tr>

<tda1ign="right”〉  边a的长度为(m): &

nbsp; </td>

<td><inputtype="textnname="a"size=,r25"></td>

</tr>

<tr>

<tda1ign="right”>  边b的长度为(m):&nbs

p;  </td>

<td><inputtype="text"name="b"size="25,r></1d>

</tr>

<tr>

<tdalign—right,r>  边c的长度为(m): ;&n

bsP;&nbsP;</td>

<td><inputtype=ntextrrname="c"size="25"〉</td>

</tr>

<tr>

<td> ;</td>

<td> </td>

<tr>

<tr>

<td>  ;  ; ;  ;&

nbsp; ;  ; 

   ;   ;  ;

   

<inputtype="reset"name="reset"value="重填n>

</td>

<td>       ;<inputt

ype="submit“name=nsubmit"va1ue=H提交"></td>

<tr>

</table>

</form>

<%}

e1se{

%>

<%@inc1udefi-le=ncalArea.jsp"%>

<%}%>

</body>

</html>

calArea.jsp

<%@pagelanguage="java〃import=rrJava.utJ1.pageEncoding="u

tf-8n%>

<%@pageimport="java.lang.Mathr,%>

<!DOCTYPEHTMLPUBLICn—//W3C//DTDHTML4.01Transitiona1

//EN”>

<html>

<head>

<metahttp-equiv="pragmancontent=F,no-cacheu>

o<metahttp-equiv="eache-control"content="no-cachen>

<metahttp-equiv="expires"content=,r0,r>

o<metahttp-equiv="keywords“content=eyword1fkeyword2,keyw

ord3n>

o<metahttp-eQuiv="description"content="Thisismypage,r>

</head>

<body>

<%

/*获取三角形的三条边的值*/

inta=Integer.parseInt(request.getParameter(HaH).trim());

intb=Integer.parselnt(request.getParameter(nbH.trim());

intc=Integer.parseint(request.getParameter(ncn).trim());

doublep=(a+b+c)/2;

doublearea=Math.sqrt(p*((p-a)*(p—b)*(p-c)));

%>

〈tablealign=,rcenter"bgco1or="#999999">

<tr>

<tdalign="center”〉边长分别为a=<%=a=>,b=<%=b%>,c=<%=c%>,

的三角形面积为:d>

<td><%=area%> ;(m*m)</td>

</tr>

</table>

</body>

</html>

问题3源代码:源文献:Third.jspshowNumber.jsp

Third.jsp

V%@pagelanguage="java11import=r,java.util-升“pageEncoding="u

tf-8"%>

<%®pageimport=,rjava.util.Random"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+"://H+request.getServ

erName()+":"+request.getserverPort()+path+"/";

%>

<!DOCTYPEHTMLPUBLICn-//W3C//DTDHTML4.01Transitional//ENH>

<html>

<head>

<basehref=,r<%=basePath%>,f>

<title>Third</title>

<metahttp-equiv="pragmar,content="no-cache">

〈metahttp-equiv="cache-contro1"content="no—cache">

<metahttp-equiv="expiresncontent=,r0">

o<metahttp-equiv="女eywords"content="keywordlfk.eyword2,key

word3">

<metahttp-equiv="description"content=,fThisismypagen>

</head>

<body>

<%

Randomnum=newRandom();

Randomvalue=newRandom();

intnum1=num.nextlnt(10)+1;

Stringstr="";

for(inti=0;i<numl;i++){

str=str+value.nextlnt(1000)+“:”;

}

n

request.setAttribute("strArrayzstr);

RequestDisPatcherreqdisp=request.getRequestDisp

atcher(”showNumber.jspH);

reqdisp.include(request,resp0nse);

%>

<%—-<]sp:includepage=nshowNumber.jsp"/>一一%>

</body>

</htm1>

showNumber.jsp

<%@page1anguage=fljava"import=Hjava,util,*〃pageEncod

ing=UUTF-8^>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitiona1

//EN">

<html>

<head>

o<metahttp-equiv="pragma"content="no-cachen>

<metahttp-equiv="cache—contro1"content="no-cache">

<metahttp—equiv="expires"content="0">

<metahttp-equiv="keywords"content="keywordlfkeyword2,

keyword3"〉

o<metahttp—eQuiv="description"content="Thisismypage">

</head>

<body>

<divalign="center”〉

<FONTface=楷体_GB2312#888888size=6〉显示随机数的

例子</FONT>

</div>

<br>

<br>

String[]strArray=request.getAttribute(HstrArray")・t

oString().trim().sp1it(n:n);%>

<tablealign="center1'bgco1or="#999999">

<caption>随机数序歹!strArray.length%></caption>

<%if(strArray.1ength>0){

for(inti=0;i<strArray.length;i++){

%>

<tr>

<tdalign="centerr,> ; ; 随机数V%=

i%>:</td>

<tdalign=n6>en/erF,>  ; <%^strArray

[i]%x/td>

</tr>

<%}

}e1se{%>

<tr>

<tda1ign=,fcenter,r>  &nbsP;当前没有产生随机

数</td>

</tr>

<%}%>

</tab1e>

</body>

</htm1>

运营截图:(随机运营两次结果)

显示随机数的例子

随机数序列10

随机数0:942

随机数1:111

随机数2:479

障机数3:69

障机数上933

随机数5:422

谑机数6:974

随机数7:141

随机数8:710

随机数9:76

显示随机数的例子

随机数序列3

随机数0:382

随机数1:458

随机数2:303

问题4源代码:源文献:fourth.jspcalArea.jsp

<%@pagelanguage=11java"import=,rJav.util.%“pageEncoding="

utf-8n%>

<%

Stringpath=request,getContextPath();

StringbasePath=request.getScheme()+”://"+request.getServ

erName()+":n+request.getServerPort()+path4-n/n;

%>

<!DocTYPEHTMLPUBLICH-//W3c//DTDHTML4.01Transitiona1/

/ENH>

<htm1>

<head>

<basehref=,r<%=basePath%>,r>

<title>MyJSP1f0urth.jspzstartingPage</tit1e>

<metahttp-equi\="pragma〃content=Tlno-cache">

<metahttp-equiv=ucache-control"content="no-cache">

<metahttp-equiv="expiresricontent="0n>

o<metahttp-equiv="keywords"content="keyword1fkeyword2e

yword3">

<metahttp-equiv="descr/ption"content=〃Thisismyp

age"〉

</head>

<body>

<divalign="center">

<FONT£ace=楷体_GB2312colox#888888size=6>计算三角形面积的

小例子[测试是否为三角形]</FONT>

</div>

<br>

<br>

<br>

<br>

<%

if(request.getParameter("an)==null||request.getParam

eter(Hb”)==nu11

lirequest.getParameter(',cn)==nu11){

%>

<formaction=nfourth.jsp1'method="post”>

<tablea1ign="centerriborder="0〃bgco1or=r,#999999n>

<tr>

<tdalign=Mri^ht,r> ; 边a的长度为(m): ;&nbs

p; </td>

<td><inputtype="text"name=r,a"size=v25r,X/td>

</tr>

<tr>

<tdalign="rig力t”〉  边b的长度为(m): ;&nbs

p; </td>

<td><inputtype="text11name="bnsize="25">V/td>

</tr>

<tr>

<tda1ign="right"> ; ;边c的长度为(m): 

  </td>

<td><inputtype="textr,name=f,cr,size="25">V/td>

</tr>

<tr>

<td> </td>

<td> </td>

<tr>

<tr>

<td>     ;  ;

 Snbsp;  ; 

    ; ; ; ; &nb

sp;  

<inputtype="reset"name=reset"va1ue=M重填n><

/td>

<td> ; ;&nbsP; ; ; ; <in

puttype="submit"name=11submitf,value="提交nx/td>

<tr>

</tab1e>

</form>

<%}

else{

inta1=1nteger.parseint(request.getParameter("

an),trim());

intb1=Integer.parseInt(request.getParameter(”b”).

trim());

intcl=Integer.parselnt(request.getParamete

r(nc").trim());

/*判断是否为三角形*/

if(al+b1>cl&&al+cl>bl&&bl+cl>al)[%>

<%@includefi1e=ncalArea.Jsp"%>

<%}e1se{%>

<divalign=ncenterlf>

<F0NTface=楷体_GB2312col0r="red"size=5>

你输入的三角形不能构成三角形V/FONT>

</div>

<%}}%>

</body>

</html>

运营结果:

计算三角形面积的小例子[测试是否为三角形]

计算三角形面积的小例子[测试是否为三角形]

你输入的三角形不能构成三角形

问题5源代码:源文献:login.jspfifth.jspaccount.jsp

login.jsp

<%@page1anguage—11Java"import="java,util.pageEncodin

g="utf-8"contentType="text/html;charset=gb2312"%>

<!DOCTYPEHTMLPUBLIC”—//W3C//DTDHTML4.01Transitional//EN">

<htm1>

<head>

<tit1e>1oginpage</tit1e>

o<metahttp-equiv="pragma"content="no—eache”>

<metahttp-equiN-"cache-control11content="no-cachen>

o<metahttp-equiv="expires"content="0">

0cmetahttp-equiv="keywords"content="keywordlfkeyword2fkeyw

ord3u>

<metahttp-equiv="descriptionncontent=r'Thisismypage">

</head>

<body>

<divalign=,rcenter">

<FONTtace=楷体_GB2312co1or=#888888siz6=6>欢迎来至U图书

选购系统</3。91>

</div>

<br>

<br>

<br>

<formaction=nfifth.jsp"method="post,r>

<tab1ealign="center"border="0"bgcolor="#999999”>

<tbody>

<tr>

<tda1ign="center”>用户名:</td>

<tdxinputtype=utext"name=f,usernsize="26">V/td>

</tr>

<tr>

<tdalign="ce〃ter"〉密码:</td>

<tdxinputtype=r,passwordr,name="password"size

=,f16"></td>

</tr>

<tr>

<tdalign="center"><inputtype="rese£"name=

"reset"va1ue=r,重填rr></td>

<tda1ign=,rcenterwxinputtype="submit"

name="submit"value="登陆"></td>

</tr>

</tbody>

</table>

</form>

</body>

</html>

fifth.jsp

V%@pagelanguage="java"import="java.util.*”pageEncod

ing="utf-8"contentType="text/html;charset=gb2312"%>

<!DOCTYPEHTMLPUBLIC”-//W3C//DTDHTML4.01Transitiona1//

EN”>

<html>

<head>

<title>fifth</title>

o<metahttp-equiv="pragmar,content="no-cache">

©<metahttp-equiv="cache-controlf,content=,rno-cachen>

<metahttp-equiv="expires"content="0,r>

o<metahttp—equiv="keywords"content="keywordl,keyword2,keywo

rd3”>

<metahttp-equiv="description"content="Thisismypag

e,r>

</head>

<body>

<divalign=,rcenter">

<FONT£ace=楷体_GB2312CO1or=#888888size=6>图书歹」表1</9(2^

T>

</div>

<br>

<%

//设立编码

request.setCharacterEncoding(”gb2312");

if(request.getParameter("user*')!=null&&req口est.getPara

meter("password")1=nul1){

<%

//获取用户名

StringuserName=request.getParameter(MuserName");

Stringpassword=request.getParameter(Mpasswordn);

//将该用户名保存到session对象中

session.setAttribute("user”,request.getParameter("usern));

%>

<%

StringuserName=session.getAttribute(Uuser").toString();

%>

<formaction=accOunt.jspmethod="post">

<tab1ea1ign=,rcenter"border=〃0"bgcolor="#999999”

ce1lspacing=1110">

<tr>

<thalign="center"〉图书图片</th>

<thalign="center"〉图书名称〈/th>

<thalign="center">价格</th〉

<tha1ign=ucenter”〉数量</th>

<tha1ign=ftcen£er”>购买V/th>

<tha1ign=ncenter”〉购买数量〈/th〉

</tr>

<tr>

o<tdalign="centerwximgsrc=r,/mages/01.jpg"=”图片加

载失败"align="middle〃width="85"height=〃80"></td>

<tdalign=ncenter”>计算机基础与应用V/td>

o<tdalign="centern>25$</td>

o<tda1ign=,fcenter,r>100</td>

<tda1ign="center^xinputtype="checkbox"name=

heck01"></td>

oVtdalign="centerw><inputtype="text"name=nnu

mOl〃>V/td>

</tr>

<tr>

o<tdalign=ncenter,r><imgsrc=,fimages/02.jpg"a1t=

"图片加载失败"align=rrn?iddlewidth=n85nheight=〃80</td>

<tdalign="centrer”>计算机应用基础教程</td>

o<tdalign="centerr,>50$</td>

<tdalign="center”>100</td>

o<tdalign="center"><inputtype="checkbox"name

=11check02"></td>

<tdalign="centertf><inputtype="text〃name="

numO2n></tdi>

</tr>

<tr>

<tdalign=ncenter"><imgsrc="images/03.jPg"alt=''图

片加载失败"align="midd/e"width="85"height="80"></td>

<tdalign="cente厂”>计算机网络基础〈/td>

<tda1ign="center,r>60$</td>

o<tdalign=ncenterw>100</td>

<tdalign=,rcenterz,xinputtype="checkbox"name="chec

k03"></td>

<tda1ign="center"xinputtype="textrtname=nnum03

,rx/td>

</tr>

<tr>

<tda1ign=11centern><imgsrc="images/04.jpg"alt="图片

加载失败〃align=umiddle»width="85"height="80"></td>

o<tdalign="center”>计算机网络技术</td>

o<tda1ign="center,r>25$</td>

0<tdalign=,rcentern>100</td>

<tdalign=,fcenterwxinputtype=Hcheckboxr,name="

check04"></td>

o<tdalign=°center,rxinputtype="text"name="num04"></

td>

</tr>

<tr>

<tdalign=ncentern><imgsrc="images/05.jpna1t=

”图片加载失败"align=rr7771ddle11width=n85nheight="80"></td>

o<tda1ign="cent:ernet使用技术</td>

o<tdalign="center,f>35$</td>

o<tdalign="centerw>100</td>

o<tda1ign=,rcenterr,xinputtype=,rcheckbox"name=nch

eckO5Ir></td>

<tda1ign=ncenter"><inputtype="text"name=wnum05n

></td>

</tr>

<tr>

oVtdalign="centerr,ximgsrimages/06.jpg"”图片

加载失败"a1ign=flmiddle"width="85"height="8。"></td>

<tdalign="cen电脑入门</td>

<tdalign=ucenter,r>30$</td>

<tdalign="center">100</td>

<tda1ign=ucenterwxinputtype=r,chec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论