当前位置: 首页 > article >正文

实验13 JavaBean(二)

实验13 JavaBean(二)

一、实验目的
1、了解MVC的原理
2、熟悉MVC实现的技术框架,即JSP+Servlet+JavaBean
3、掌握使用MVC框架搭建JSP项目
4、掌握AJAX异步数据请求的技巧

二、实验要求
1、使用MVC模式搭建JSP项目
2、提交实验报告,实验报告中附代码和运行结果以及实验心得

三、实验过程
1、请设计并实现下面的Web应用
有一个名为inputNumber.jsp的页面提供一个表单,用户可以通过表单输入两个数和运算符号提交给Servlet控制器;由名为ComputerBean.java生成的JavaBean负责存储运算数、运算符号和运算结果,由名为handleComputer的servlet控制器负责运算,将结果存储到JavaBean中,并负责请求JSP页面lookResult.jsp显示JavaBean中的数据。
在这里插入图片描述
在这里插入图片描述

inputNumber.jsp代码:

<p>输入运算数、选择运算符</p>
<form action="____(1)_______" method="post"><!—此处产生下拉运算符供用户选择 -->
    <input type="text" name="numberOne" />
    <____(2)________ name="operator">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </_____(2)___________>
    <input type="text" name="numberTwo"  /><br>
<input type="___(3)________" value="计算"/></form>

(1)handleCompute
(2)select
(3)select

ComputerBean.java代码

package Bean;
public class ComputerBean {
	___(4)________ double num1,num2,result;
	___(4)_______ String opt;
//此处省略部分setter和getter方法
	public double optResult(String opt,double num1,double num2){
		if(opt.equals("+")){			result=num1+num2;		}
		if(opt.equals("-")){			result=num1-num2;		}
		if(opt.equals("*")){			result=num1*num2;		}
		if(opt.equals("/")){			result=num1/num2;		}
	__________(5)__________________; 
	}}

(4)private
(5)return result

进一步完成handleCompute和lookResult.jsp代码
handleCompute

package servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import javabean.ComputerBean;

import java.io.IOException;

@WebServlet(name = "handleCompute" )
public class handleCompute extends HttpServlet {
    protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");
        double number1 = Double.parseDouble(request.getParameter("numberOne"));
        double number2 = Double.parseDouble(request.getParameter("numberTwo"));
        String opt = request.getParameter("operator");
        ComputerBean computer = new ComputerBean();

        double result = computer.optResult(opt,number1,number2);
        System.out.println(result);

        HttpSession session = request.getSession();
        session.setAttribute("result",result);

        response.sendRedirect("lookResult.jsp");

    }
}

lookResult.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    结果为${sessionScope.result}
</body>
</html>

http://www.kler.cn/a/532581.html

相关文章:

  • 我们来学人工智能 -- 感悟DeepSeek
  • Nacos 的介绍和使用
  • 【Linux系统】信号:再谈OS与内核区、信号捕捉、重入函数与 volatile
  • Vue.js组件开发-实现图片浮动效果
  • ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识
  • 多线程的创建方式一:继承Thread类
  • ROS-激光雷达-消息包格式-获取激光雷达数据-激光雷达避障
  • RabbitMQ深度探索:前置知识
  • 游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文
  • 【435. 无重叠区间 中等】
  • K8s 分布式存储后端(K8s Distributed Storage Backend)
  • 基础IOIO
  • PHP 调用 DeepSeek API 完整指南
  • 【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)
  • 机器学习day8
  • sql中奇数、偶数、正则
  • 【L2JMobius】ZGC requires Windows version 1803 or later
  • 宝塔面板端口转发其它端口至MySQL的3306
  • 关于大模型 AGI 应知应会_生在AI发展的时代
  • 51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时;while循环;unsigned char 可以表示的数字是0~255)
  • 统计满足条件的4位数(信息学奥赛一本通-1077)
  • 【通俗易懂说模型】线性回归(附深度学习、机器学习发展史)
  • 高斯过程处理大型数据集时返回值为 0 的问题
  • Spring Cloud工程搭建
  • 中继器与集线器
  • 用deepseek制作我的第一个长视频---使用AI解决尝试新领域没有经验拖延的问题!