定义JavaBean.该JavaBean具有属性lengh和width分别代表矩形的长和宽。编写一个JSP页面,在页面中设置矩形的长和宽,并输出矩形的周长与面积。
时间: 2024-11-13 19:42:23 浏览: 3
编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。
在Java中,JavaBean是一种特殊类型的类,它遵循一定的设计模式和规范,用于方便地存储数据并提供简单的访问机制。为了创建一个表示矩形的JavaBean,我们可以创建一个名为`Rectangle`的Java类,包含`length`和`width`两个私有字段,并提供对应的getter和setter方法。以下是`Rectangle`类的基本结构:
```java
public class Rectangle implements Serializable {
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// Getters and setters (getters返回值,setters改变值)
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
// 计算周长和面积的方法
public double getPerimeter() {
return 2 * (length + width);
}
public double getArea() {
return length * width;
}
}
```
接下来,我们可以在JSP页面上使用EL表达式或`<jsp:setProperty>`标签来设置矩形的长和宽,然后利用JavaBean的方法计算并输出周长和面积。这是一个基本的JSP示例:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Rectangle JSP</title>
</head>
<body>
<%-- 使用EL表达式设置矩形属性 --%>
<form action="calculate.jsp">
Length: <input type="number" name="length" value="${rectangle:length}"><br>
Width: <input type="number" name="width" value="${rectangle:width}"><br>
<input type="submit" value="Calculate">
</form>
<%@ page import="your.package.Rectangle" %>
<%-- 或者使用<jsp:setProperty> --%>
<!-- 如果没有import,则需要这样设置 -->
<!-- <jsp:setProperty name="rectangle" property="*" param="*"/> -->
<% if (request.getParameter("calculate") != null) { %>
<% Rectangle rectangle = new Rectangle(); %> <!-- 创建Rectangle实例 -->
<%@ page session="true" %>
<%
double length = Double.parseDouble(request.getParameter("length"));
double width = Double.parseDouble(request.getParameter("width"));
rectangle.setLength(length);
rectangle.setWidth(width);
double perimeter = rectangle.getPerimeter();
double area = rectangle.getArea();
out.println("Perimeter: " + perimeter);
out.println("Area: " + area);
%>
<% } %>
</body>
</html>
```
阅读全文