1、编写一个JSP程序,计算整数的阶乘,并显示出结果。要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。(要求:通过表单提交一个正整数,然后计算它的阶乘。其中要对提交的是否为整数作判断,是整数则进行阶乘计算,不是整数则要求重新提交。)
1)源码(t1_Factorial.jsp)
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<FONT size=5 color=red>
<html>
<title>一个整数的阶乘计算</title>
<%!
long Factorial(int n){
if(n==0){
return 0;
}
else{
int sum=1;
for(int i=1;i<=n;i++)
{sum=sum*i;}
return sum;
}
}
%>
<%
int num = 0;
String str=request.getParameter("num");
try{
if(str!=null){
num = Integer.parseInt(str);
}else{
out.println("【提示:】请输入数据,谢谢!");
}
} catch(Exception e){
out.println("只能输入整数") ;
}
%>
<body>
<p>请输入一个整数,谢谢!</p>
<form action="#" method="post" name="form">
<input type="text" name="num"><br><br>
<input type="submit" name="submit" value="开始计算">
</form>
<p><%=num%>的阶乘是:<%=Factorial(num)%></p>
</body>
</html>
</font>
2)运行效果
2、在JSP页面中静态包含文件。要求程序包含两个文件,主文件静态包含一个能够计算数据的算术平方根的页面。
2、静态包含页面及计算平方根
1)源码
主页面(t2_index.jsp):
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<title>静态包含页面及计算数的平方根</title>
<body bgcolor=#003366>
<font size="3">
<center>
<p>请输入一个正数,单击按钮求这个数的平方根。</p>
<%@ include file="t2_evolution.jsp"%>
</center>
</font>
</body>
</html>
包含页面(t2_evolution.jsp)
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<FONT size=5 color=red>
<html>
<title>计算一个数的算术平方根</title>
<%
double num = 0;
String str=request.getParameter("num");
try{
if(str!=null){
num = Double.parseDouble(str);
}else{
out.println("【提示:】请输入数据,谢谢!");
}
} catch(Exception e){
out.println("只能输入数字") ;
}
%>
<body>
<p>请输入一个数字,谢谢!</p>
<form action="#" method="post" name="form">
<input type="text" name="num"><br><br>
<input type="submit" name="submit" value="开始计算">
</form>
<p><%=num%>的平方根是:<%=Math.sqrt(num)%></p>
</body>
</html>
</font>
2)运行效果
3、动态包含页面并传递数据。要求程序包含两个文件,主文件加载次文件,并将随机产生的0 ~ 1之间的数据传递给它,并且在页面上显示出来。之后,再把动态包含改为动态重定向,比较两者之间的区别。
3、动态包含页面并传递数据
1)源码
主页面(t3_index.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import="java.util.Random"%>
<%
Random rand = new Random();
int type = rand.nextInt(2);
%>
<jsp:include page="t3_redirect.jsp" flush="true">
<jsp:param name="type" value="<%=type%>" />
</jsp:include>
包含页面(t3_redirect.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
if (request.getParameter("type") != null) {
String str = request.getParameter("type");
int num = Integer.parseInt(str);
%>
<%=num%><br>
<%
} else {}
%>
<p>这是传过来的数据哦</p>
2)运行效果