使用JSP计算长方形的周长和面积(MVC)

1、编写一个长方形类,属性有长和宽;方法有计算并返回周长,计算并返回面积。

2、编写一个Servlet,接收长和宽,创建一个长方形对象,给这个对象的长和宽赋值。调用该对象的两个计算方法,并将计算结果保存在session中,最后跳转到显示页面。

3、编写表单页面,显示一个表单,用于输入长方形的长和宽,数据提交给Servlet。

4、编写显示页面,从session中取出周长和面积,并显示

V层  视图层,界面 jsp

C层  控制层  传数据和跳转 servlet

M层 模型层 处理数据 JavaBean 

servlet:接受数据保存结果跳转

JavaBean:计算

JavaBean功能函数截图:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="js.do" method="post">
长<input type="text" name="n1"><br>
    宽<input type="text" name="n2"><br>
   <input type="submit" value="计算"> 
   </form>
</body>
</html>

  src包下创建CFX.java

package aa;

public class CFX {
    //根据分析,长方形有二个属性(长、宽),二个方法(计算周长,计算面积)
	private int chang ;
	private int kuan ;
	
	public int jsZhou() {
		return (chang+kuan )*2;
	}
	
	public int jsMian() {
		return chang * kuan ;
	}
	
	//在source(源码)中生成getter setter 
	public int getChang() {
		return chang;
	}
	public void setChang(int chang) {
		this.chang = chang;
	}
	public int getKuan() {
		return kuan;
	}
	public void setKuan(int kuan) {
		this.kuan = kuan;
	}
	
	
}

servlet处理代码

Myservlet.java

package aa;

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 Myservlet extends HttpServlet {

	@Override//重写
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//1.接受表单传过来的长和宽
		String s1 = req.getParameter("n1");
		String s2 = req.getParameter("n2");
		//2.字符串转数字
		int w1 = Integer.parseInt(s1);
		int w2 = Integer.parseInt(s2);
		//3.因为我自己不能处理数据,所以将长和宽交给M层去处理
		 CFX c1 = new CFX();
		 c1.setChang(w1);
		 c1.setKuan(w2);
		//4.从M层获取处理结果
		 int zhou = c1.jsZhou();
		 int mian = c1.jsMian();
		//5.因为C层不能显示结果,所以保存结果
		 req.getSession().setAttribute("qqq",zhou);
		 req.getSession().setAttribute("hhh",mian);	 
		//6.跳转显示页面结果
		 resp.sendRedirect("c.jsp");
	}
       
}

Servlet地址配置代码

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>JSPDemo1</display-name>
   <servlet>
   <servlet-name>mm</servlet-name>
   <servlet-class>aa.Myservlet</servlet-class>
   </servlet>
   <servlet-mapping>
   <servlet-name>mm</servlet-name>
   <url-pattern>/js.do</url-pattern>//配置地址
   </servlet-mapping>
</web-app>

  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,我会尽力回答您的问题。首先,让我们来了解一下 MVC 模式。 MVC(Model-View-Controller)是一种软件设计模式,它将应用程序分成三个部分:模型、视图和控制器。模型(Model)表示应用程序的数据和业务逻辑,视图(View)表示用户界面,控制器(Controller)负责将用户输入转换为对模型和视图的操作。 现在,让我们来实现计算圆的面积周长的功能,并使用 MVC 模式来设计它。 1. 创建一个名为 Circle 的 JavaBean ,它有两个属性:半径和圆的面积周长。Circle 的代码如下所示: ``` public class Circle { private double radius; private double area; private double perimeter; // 无参构造函数 public Circle() {} // 有参构造函数 public Circle(double radius) { this.radius = radius; this.area = Math.PI * radius * radius; this.perimeter = 2 * Math.PI * radius; } // getter 和 setter 方法 public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; this.area = Math.PI * radius * radius; this.perimeter = 2 * Math.PI * radius; } public double getArea() { return area; } public double getPerimeter() { return perimeter; } } ``` 2. 创建一个名为 CircleController 的 Servlet ,它负责处理用户输入和调用 Circle 计算圆的面积周长。CircleController 的代码如下所示: ``` @WebServlet("/circle") public class CircleController extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取用户输入的半径 String radiusString = request.getParameter("radius"); double radius = Double.parseDouble(radiusString); // 创建 Circle 对象并计算面积周长 Circle circle = new Circle(radius); // 将结果存储到请求属性中 request.setAttribute("circle", circle); // 转发到结果页面 RequestDispatcher dispatcher = request.getRequestDispatcher("/circle.jsp"); dispatcher.forward(request, response); } } ``` 3. 创建一个名为 circle.jspJSP 页面,它负责显示圆的面积周长。circle.jsp 的代码如下所示: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Circle Result</title> </head> <body> <h1>Circle Result</h1> <p>Radius: ${circle.radius}</p> <p>Area: ${circle.area}</p> <p>Perimeter: ${circle.perimeter}</p> </body> </html> ``` 4. 最后,创建一个名为 index.jspJSP 页面,它包含一个表单,用户可以输入圆的半径,并提交给 CircleController 来计算圆的面积周长。index.jsp 的代码如下所示: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Circle Calculator</title> </head> <body> <h1>Circle Calculator</h1> <form action="circle" method="get"> <p>Enter radius:</p> <input type="text" name="radius"> <br><br> <input type="submit" value="Calculate"> </form> </body> </html> ``` 以上就是使用 MVC 模式实现计算面积周长的示例代码。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值