一、实验目的
理解和巩固课堂上所学的JSP与JavaBean知识,提高学生对知识的实际运用与软件编程实现能力。
二、实验内容
计算并显示圆的面积及周长。具体步骤如下:1、编写2个JSP页面index.jsp、showCircle.jsp。2、在页面index.jsp中提供一个表单,用户可以通过表单输入圆的半径,提交给showCircle.jsp。(1) 在该页面中使用javascript,检查输入的圆的半径信息是否为数字,如果不是数字,给出提示,并且不能够跳转。3、用户提交表单后,JSP页面将计算圆面积和周长的任务交给一个bean去完成,创建bean的源文件是Circle.java。在showCircle.jsp页面中显示圆的半径、面积及周长。
三、实验要求
- 文件名字不要使用中文,文件名字首字母小写。2. 第一个文件命名为为index.jsp。3. 所有文件打成一个文件压缩包提交。压缩包文件命名规则:计181-01-姓名。4. 在程序中的title或者注释等地方加入个人名字信息。5.提交程序运行成功结果截图,可以截多张图。
//index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>--xxx-index--</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="Javascript">
function checkvalid()
{
var a=form1.r.value;
if(isNaN(a))
{
alert("请您输入数字");
form1.r.value="";
form1.name.focus();
return;
}
}
</script>
</head>
<body>
<h1>计算圆的周长和面积</h1>
<form name="form1" action="showCircle.jsp" method="post">
圆的半径输入:<input type="text" name="r"/><br>
<input type="submit" value="提交" onClick="checkvalid()"/>
</form>
</body>
</html>
//showCircle.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page import="HHH.*" %>
<html>
<head>
<title>--xxx-showCricle--</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
第一种方法:<br>
<%
Circle hhh=new Circle();
int r=Integer.parseInt(request.getParameter("r"));
hhh.setR(r);
%>
<%out.print("圆的半径是:"+hhh.getR()); %><br>
<%out.print("圆的周长是:"+hhh.getC()); %><br>
<%out.print("圆的面积是:"+hhh.getS()); %><br>
第二种方法:<br>
<jsp:useBean id="circle" class="HHH.Circle" scope="request" />
<jsp:setProperty name="circle" property="*" />
圆的半径是:<jsp:getProperty name="circle" property="r" /><br>
圆的周长是:<jsp:getProperty name="circle" property="c" /><br>
圆的面积是:<jsp:getProperty name="circle" property="s" /><br>
</body>
</html>
//Circle.java(在src下建包HHH,HHH下建Circle.java
package HHH;
public class Circle {
int r=0;//半径
double c=0,s=0;//周长,面积
double PI=3.1415926;
public void setR(int r){
this.r=r;
}
public int getR(){
return r;
}
public double getS(){
//求面积
s=r*r*PI;
return s;
}
public double getC(){
//求周长
c=2*r*PI;
return c;
}
}