首页 >> 大全

实验二 JSP应用开发基础---掌握JSP基本语法

2023-12-27 大全 26 作者:考证青年

实验二 JSP应用开发基础

掌握JSP基本语法

脚本元素()

(1)隐藏注释( )

(2)声明()

(3)脚本段()

(4)表达式()

指令元素()

(1)

(2)

动作元素()

(1)jsp:

(2)jsp:

(3)jsp:param

(4)jsp:

(5)jsp:

(6)jsp:

掌握JSP常用的9种内置对象中的、、out、、

对象的基本使用方法。

2实验内容:(代码只粘贴核心代码,每个程序不超过1页,运行结果请截图)

1、编写一个JSP程序,计算1!+2!+3!+4!+5!,并显示出结果。要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。

进阶要求,通过表单提交一个正整数,然后计算它的阶乘和。例如:输入3,就计算1!+2!+3!。

基础语法实体__语法应用指南

代码:

<%@ page contentType="text/html; charset=GBK"%>
<!DOCTYPE html>
<html>
<head>
<title>求阶乘和!</title>
</head>
<body bgcolor=grey>
<h3>请输入1100之间的整数:</h3>
<form action="index.jsp" method="get" name="form">
<input type="text" name="number">
<input type="submit" name="submit" value="提交">
</form>
<%!int sss(int i)
{if(i==1){return 1;}return i*sss(i-1);
}int ss(int i)
{if(i==1){return 1;}return sss(i)+ss(i-1);
}
int s(int i)
{return i;
}
%>
<%
String str=request.getParameter("number");
if(str !=null){try{int num;num= Integer.parseInt(str);
%>
<h2><p>你输入n的数值:<cite><%=s(num)%></cite></p></h2>
<h1><p>阶乘之和的结果:<cite><%=ss(num)%></cite></p></h1>
<%	}catch(NumberFormatException e){e.printStackTrace();}
}
%>
</body>
</html>

运行结果:

2、在JSP页面中静态包含文件。要求程序包含两个文件,主文件静态包含一个能够计算1到1000内的完数的页面。(如果一个正整数刚好等于它的真因子之和,这样的正整数为完数, 例如,6=1+2+3,因此6就是一个完数。)

代码:

1.html文件

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>这个是静态的!</title>
</head>
<body bgcolor=salmon>
<a href="1.jsp"%></a>
<br><cite>请输入11000之间的整数:</cite><br><br>
<form action="1.jsp" method="get" name="form"><input type="text" name="number"><input type="submit" name="submit" value="提交">
</form>
</body>
</html>

1.jsp文件

<%@ page contentType="text/html; charset=GBK"%>
<!DOCTYPE html>
<html>
<head><title>求完数!!!</title>
</head>
<body bgcolor=peru>
<p>请输入11000之间的整数:
<form action="1.jsp" method="get" name="form"><input type="text" name="number"><input type="submit" name="submit" value="提交">
</form>
<%!int sss(int i)
{int s=0;for(int j=1;j<i;j++)if(i%j==0)s=s+j;if(s==i)return 1;if(s!=i)return 0;return 2;
}int s(int i){if(i>0&&i<1000)return 1;elsereturn 0;}
%>
<%String str=request.getParameter("number");if(str !=null){try{int num;int ww;ww=0;num= Integer.parseInt(str);if(s(num)==1){			%>
<h3>你输入的数:<cite><%out.println(num);%></cite>[1,1000]的范围里面!</h3>
<%			}
else{			%>
<h2>你输入的数:<%out.println(num);%>不在[1,1000]的范围里面!</h2>
<%			}
%>
<p> </p>
<%if(sss(num)==1){
%>
<h1>很幸运!!!这个数是完数!</h1>
<%
}
else{
%>
<h1>十分抱歉,这个数不是完数!</h1>
<%}
}
catch(NumberFormatException e){e.printStackTrace();out.println("12345");
}
}
%>
</body>
</html>

运行结果:

3、动态包含页面并传递数据。要求程序包含两个文件,主文件加载次文件,并将随机产生的50~100之间的数据传递给它,并且在页面上显示两个信息:该数据和这个数据的平方根。

进阶要求,把动态包含改为动态重定向,比较两者之间的区别。

代码:

3-1.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<html>
<head><title>随机数以及平方根</title>
</head>
<body >
<%@ page import="java.util.Random"%>
<%Random rand = new Random();double type = rand.nextInt(50)+50;
%>
<p>
<h3>主页面生成的随机数是:<%out.println(type);
%></h3><jsp:include page="3-2.jsp" flush="true"><jsp:param name="type" value="<%=type%>"/>
</jsp:include>
<%double num;String str=request.getParameter("type");if(str !=null)try{
%>
<%}catch(NumberFormatException e){e.printStackTrace();}
%>
<p>
</body>
</html>

3-2.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>here</title>
</head>
<p><%
double num;num=0;
String s=request.getParameter("type");
num=Double.parseDouble(s);
if(s !=null)try{%>
<p>
<h2>传过来的随机数是:<%out.println(""+s+"");%></h2>
<%}catch(NumberFormatException e){e.printStackTrace();}
%>
<body>
<h1><p><%=num%>的平方根是:<%=Math.sqrt(num) %><br>上面这个是被调用的界面</p></h1>
</body>
</html>

运行结果:

4、本题包括4个JSP程序,one.jsp、two.jsp、three.jsp、error.jsp。

one.jsp具体要求如下:

要求one.jsp页面有一个表单,用户使用该表单可以输入一个1至100之间的整数,并提交给下一个页面;如果输入的整数在50至100之间(不包括50)就转向three.jsp,如果在1至50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。要求标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面

two.jsp、three.jsp和error.jsp的具体要求如下:

要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。error页面能显示有关抛出的错误信息。(程序中使用的图片,可自行准备)。

代码:

One.jsp

<%@ page contentType="text/html; charset=GBK"%>
<!DOCTYPE html>
<html>
<head><title>4个网页</title>
</head>
<body>
<p>请输入1100之间的整数:
<form action="one.jsp" method="get" name="form"><input type="text" name="number"><input type="submit" name="submit" value="提交">
</form>
<%String str=request.getParameter("number");if(str !=null){try{int num;num = Integer.parseInt(str);if(num>=1&&num<=50){
%>
<jsp:forward page="two.jsp"><jsp:param name="str" value="<%=num %>"/>
</jsp:forward>
<%}
else if(num>50&&num<=100)
{
%><jsp:forward page="three.jsp"><jsp:param name="str" value="<%=num %>"/>
</jsp:forward>
<% }
else if(num>100||num<=0)
{
%><jsp:forward page="error.jsp"><jsp:param name="str" value="<%=num %>"/>
</jsp:forward>
<% }
}
catch(Exception e)
{
%><jsp:forward page="error.jsp"><jsp:param name="mess" value="<%=e.toString()%>"/>
</jsp:forward>
<% 	}
}
%>
</body>
</html>

Two…jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title>
</head>
<body >
<%String s=request.getParameter("number");
%>
<h1>传递过来的数值:<cite><%out.println(s);%></cite></h1>
<h3>图片大小就是:<cite><%out.println(s);%></cite></h3>
<div><img src="./images/裴秀智1.jpg" width="<%=s%>" height="<%=s%>"></div></body>
</html>

Three.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title>
</head>
<body >
<%String s=request.getParameter("number");
%>
<h1>传递过来的数值:<cite><%out.println(s);%></cite></h1>
<h3>图片大小就是:<cite><%out.println(s);%></cite></h3><img src="./images/gir3.jpg" width="<%=s%>" height="<%=s%>"></body>
</html>

Error.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body bgcolor=red>
<%
String s=request.getParameter("number");
%>
<h3>您的输入:   <cite><%out.println(s);%></cite></h3>
<br>
<h1>该输入不符合要求!请输入1~1000之间的数值</h1>
<br><img src="C:\Users\HWP\Desktop\2\err.jpg" width="<%=s%>" height="<%=s%>"</img></body>
</html>

运行结果:

3小结

通过该次实验,有助于我(有几项填几项,不要空白),在编写程序中遇到的主要问题及解决方法是什么?

1、img的src地址要用相对地址,不要用绝对地址,不然会显示不出来图片

2、在idea下编辑代码ctrl s保存后,在浏览器ctrl r可以实时刷新

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了