用JSP计算圆的周长与面积

标题用JSP计算圆的周长与面积

作者:GGG166

首先定义一个Java的Circle类放在beans包中用来计算圆的周长与面积,代码如下:

/*
   作者:GGG166
 */
package beans;

public class Circle {
    double radius;//半径
    public  Circle(){
        radius=1;
    }
    public double getRadius(){
        return radius;
    }
    public void setRadius(double newRadius){
        radius=newRadius;
   }
    public double circleArea(){//面积
        return Math.PI*radius*radius;
    }
    public double circleLength(){//周长
        return Math.PI*radius*2;
    }
}

再在JSP页面中输入半径来计算圆的周长与半径,代码如下:

<%-- 
    作者:GGG166
--%>
<%@page contentType="text/html;charset=gb2312" %>
<html>
    <body bgcolor="cyan">
        <jsp:useBean id="ggg" class="beans.Circle" scope="page"/>
        <%--    用useBean调用Circle类     --%>
        <form action="" method="post" name="form">
            <input type="text" name="radius" value="">
            <input type="submit" name="submit" value="提交">
        </form>
        <%
            request.setCharacterEncoding("gb2312");
            String str=request.getParameter("radius");
            if(str==null){
                str="";
            }
            try{
                double newRadius=Double.parseDouble(str);
                ggg.setRadius(newRadius);
        %>
               <p>
               <b>圆的周长是:<%=ggg.circleLength()%></b><br>
               <b>圆的面积是:<%=ggg.circleArea()%></b>
               </p> 
        <%
            }catch(NumberFormatException ee){
                out.println("重新请输入半径");
            }
        %>      
    </body>
</html>

运行结果:
在这里插入图片描述
在这里插入图片描述

首先,在JSP页面上创建一个表单,让用户输入的半径: ```jsp <form action="circle" method="post"> <label for="radius">请输入的半径:</label> <input type="number" name="radius" id="radius"> <input type="submit" value="计算"> </form> ``` 在用户点击“计算”按钮提交表单后,将会向名为“circle”的servlet发送POST请求。在servlet中,我们将获取用户输入的半径,并计算周长面积。然后,我们将这些值设置为请求属性,以便在JSP页面上显示。 以下是servlet代码: ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CircleServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取用户输入的半径 double radius = Double.parseDouble(request.getParameter("radius")); // 计算周长面积 double circumference = 2 * Math.PI * radius; double area = Math.PI * radius * radius; // 将计算结果设置为请求属性 request.setAttribute("circumference", circumference); request.setAttribute("area", area); // 将请求转发到JSP页面 request.getRequestDispatcher("circle.jsp").forward(request, response); } } ``` 在servlet中,我们首先获取用户输入的半径。然后,我们使用Math库中的常量和函数计算周长面积。最后,我们将这些值设置为请求属性,并将请求转发到名为“circle.jsp”的JSP页面。 在JSP页面上,我们可以使用EL表达式来显示计算结果: ```jsp <h2>周长面积</h2> <p>半径:${param.radius}</p> <p>周长:${requestScope.circumference}</p> <p>面积:${requestScope.area}</p> ``` 在JSP页面中,我们首先显示用户输入的半径。然后,我们使用EL表达式来显示servlet设置的请求属性。请注意,我们在属性名称前面添加“requestScope”前缀,以指定属性作用域。 最后,我们需要在web.xml文件中将servlet映射到URL: ```xml <servlet> <servlet-name>CircleServlet</servlet-name> <servlet-class>CircleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CircleServlet</servlet-name> <url-pattern>/circle</url-pattern> </servlet-mapping> ``` 在web.xml文件中,我们首先定义了一个名为“CircleServlet”的servlet。然后,我们将servlet映射到URL“/circle”。这意味着,当用户发送POST请求到“/circle”时,servlet将处理该请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值