【Servlet】根据用户输入的圆半径,输出圆面积

1、创建Servlet类

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class CircleServlet extends HttpServlet{
	public void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException,IOException{
		response.setContentType("text/html; charset=bg2312" );
		PrintWriter out = response.getWriter();
		double  r = Double.parseDouble(request.getParameter("r"));
		out.println(" 面积 = " + Math.PI*r*r);
		out.close();
	}
}


2、改写配置文件web.xml

<servlet>
		<servlet-name>CircleServlet</servlet-name>
		<servlet-class>myDemo.CircleServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>CircleServlet</servlet-name>
		<url-pattern>/calcu</url-pattern>
	</servlet-mapping>

3、编写jsp调用servlet 

<form action="calcu" method ="get"> <%--clacu对应的是servlet的URL,调用CircleServlet --%>
		圆的半径:<input type="text" name="r"><br/>
		<input type="submit" value="计算">
	</form>



首先,在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将处理该请求
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值