实验14 MVC

二、实验项目内容(实验题目)

编写代码,掌握MVC的用法。【参考课本 例1 】

三、源代码以及执行结果截图:

example7_1.jsp:

<%@ page contentType="text/html" %>

<%@ page pageEncoding = "utf-8" %>

<jsp:useBean id="digitBean" class ="save.data.Example7_1_Bean" scope="request"/>

<style>

   #tom{

      font-family:宋体;font-size:26;color:blue

   }

</style>

<HTML><body bgcolor=#ffccff>

<form action="computer" id =tom method=post>

<table>

<tr><td id =tom> 输入两个数:</td>

<td id =tom>

<input type=text name="numberOne"

       value=<%= digitBean.getNumberOne() %> id =tom size=6/></td>

<td><input type=text name="numberTwo"

       value=<%=digitBean.getNumberTwo()%> id =tom size=6/></td>

</tr>

<tr><td id =tom>选择运算符号:</td>

<td id =tom>

<select id =tom name="operator">

    <option value="+">+()

    <option value="-">-()

    <option value="*">*()

    <option value="/">/()

</select>

</td>

<td><input type="submit" id =tom value="提交" name="sub"/></td>

</tr>

</table></form>

<p id=tom>

运算结果:

<jsp:getProperty name="digitBean" property="numberOne"/>

<jsp:getProperty name="digitBean" property="operator"/>

<jsp:getProperty name="digitBean" property="numberTwo"/> =

<jsp:getProperty name="digitBean" property="result"/>

</p></body></HTML>

Example7_1_Servlet.Java:

package handle.data;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import save.data.*;

public class Example7_1_Servlet extends HttpServlet{

   public void init(ServletConfig config) throws ServletException{

       super.init(config);

   }

   public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

       Example7_1_Bean digitBean = null;

       digitBean = new Example7_1_Bean(); 

     

       request.setAttribute("digitBean",digitBean);

       String str1 = request.getParameter("numberOne");

       String str2 = request.getParameter("numberTwo");

       if(str1==null||str2==null)

         return;

       if(str1.length()==0||str2.length()==0)

         return;

       double numberOne = Double.parseDouble(str1);

       double numberTwo = Double.parseDouble(str2);

       String operator = request.getParameter("operator");

       double result=0;

       if(operator.equals("+"))

           result = numberOne+numberTwo;

       else if(operator.equals("-"))

           result = numberOne-numberTwo;

       else if(operator.equals("*"))

           result = numberOne*numberTwo;

       else if(operator.equals("/"))

           result = numberOne/numberTwo;

       digitBean.setNumberOne(numberOne);

       digitBean.setNumberTwo(numberTwo); 

       digitBean.setOperator(operator);  

       digitBean.setResult(result);

    

       RequestDispatcher dispatcher= request.getRequestDispatcher("example7_1.jsp");

       dispatcher.forward(request,response);

   }

   public  void  doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{

       doPost(request,response);

   }

}

Example7_1_Bean:

package save.data;

public class Example7_1_Bean {

   double numberOne,numberTwo,result;

   String operator="+";

   public void setNumberOne(double n){

      numberOne=n;

   }

   public double getNumberOne(){

      return numberOne;

   }

   public void setNumberTwo(double n){

      numberTwo=n;

   }

   public double getNumberTwo(){

      return numberTwo;

   }

   public void setOperator(String s){

      operator=s.trim();;

   }

   public String getOperator(){

      return operator;

   }

   public void setResult(double r){

      result=r;

   }

   public double getResult(){

      return result;

   }

}

Web.xml:

<?xml version="1.0" encoding="utf-8"?>

<web-app>

    <!--  以下是web.xml文件新添加的内容 -->

    <servlet>

        <servlet-name>computer</servlet-name>

        <servlet-class>handle.data.Example7_1_Servlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>computer</servlet-name>

        <url-pattern>/computer</url-pattern>

    </servlet-mapping>

    <servlet>

        <servlet-name>handleExpress</servlet-name>

        <servlet-class>handle.data.ExpressWish_Servlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>handleExpress</servlet-name>

        <url-pattern>/handleExpress</url-pattern>

    </servlet-mapping>

    <servlet>

        <servlet-name>shopping</servlet-name>

        <servlet-class>handle.data.Example7_2_Servlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>shopping</servlet-name>

        <url-pattern>/shopping</url-pattern>

    </servlet-mapping>

</web-app>

结果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/659910.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C/C++】动态内存管理(C:malloc,realloc,calloc,free || C++:new,delete)

&#x1f525;个人主页&#xff1a; Forcible Bug Maker &#x1f525;专栏&#xff1a; C | | C语言 目录 前言C/C内存分布C语言中的动态内存管理&#xff1a;malloc/realloc/realloc/freemallocrealloccallocfree C中的动态内存管理&#xff1a;new/deletenew和delete操作内…

2-4 任务:等差数列求和

本次实战的目标是计算1到100的累加和。我们将使用Java编程语言&#xff0c;通过三种不同的循环结构&#xff08;for循环、while循环和do-while循环&#xff09;来实现这个任务。在每个循环结构中&#xff0c;我们将逐步累加数字&#xff0c;并在最后输出结果。 首先&#xff0…

从零开始构建大语言模型(MEAP)

原文&#xff1a;annas-archive.org/md5/c19a4ef8ab1664a3c5a59d52651430e2 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 一、理解大型语言模型 本章包括 大型语言模型&#xff08;LLM&#xff09;背后的基本概念的高层次解释 探索 ChatGPT 类 LLM 源自的 Transfo…

电源远端电压补偿

看、。。 全开源DIY&#xff5c;手搓1台Mini数控电源&#xff08;1&#xff09;_哔哩哔哩_bilibili 特此记录 anlog 2024年4月30日 其他一些原理图 功率部分 电源防反接以及缓启动 输出电路&#xff08;注意R1,R2,R3用于恒流控制&#xff09; 全桥自动升降压电路 自动升降…

初识Linux -- Linux的背景和发展史介绍

点赞关注不迷路&#xff01;&#xff0c;本节涉及初识Linux&#xff0c;主要为背景介绍和xshell登录主机。 1.Linux背景 1.1 发展史 Linux从哪里来&#xff1f;它是怎么发展的&#xff1f;在这里简要介绍Linux的发展史。 要说Linux&#xff0c;还得从UNIX说起。 1.2 UNIX发…

怎么在JMeter中的实现关联

我们一直用的phpwind这个系统做为演示系统, 如果没有配置好的同学, 请快速配置之后接着往下看哦. phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理器来完成. 在需要查…

叶工好容7-Ingress的由来

目录 前言 第一章&#xff1a;Service 第二章&#xff1a;ServiceLB 第三章&#xff1a;ServiceLBNginx 第四章&#xff1a;ServiceIngress 总结 前言 吃透一个技术&#xff0c;不仅要掌握详细的用法能够熟练的操作&#xff0c;更需要掌握技术出现的前因后果。不会平白无…

php反序列化以及相关例题

目录 一、什么是序列化和反序列化&#xff1f; 二、相关函数 serialize()函数&#xff1a; unserialize()函数&#xff1a;反序列化 三、PHP序列化格式 四、序列化与反序列化的作用 五、各种数据类型序列化后的效果 六、魔术方法 七、反序列化的一些绕过 八…

Ubuntu C++ man手册安装及使用

Ubuntu下C++ man手册安装 C++在线文档: http://www.cplusplus.com/reference/ 第一种办法:使用cppman $ sudo apt install cppman 使用方法 第二种办法: 打开网页:GCC mirror sites- GNU Project 点击下图中的突显行链接: Russia, Novosibirsk:

stm32单片机开发一、中断之外部中断实验

stm32单片机的外部中断和定时器中断、ADC中断等都由stm32的内核中的NVIC模块控制&#xff0c;stm32的中断有很多中&#xff0c;比如供电不足中断&#xff0c;当供电不足时&#xff0c;会产生的一种中断&#xff0c;这么多中断如果都接在CPU上&#xff0c;或者说CPU去处理&#…

灵魂面甲Soulmask联机需要加速吗 灵魂面甲加速器推荐

对那些怀抱田园梦想又兼备冒险之心的伙伴们&#xff0c;这里有个好消息&#xff1a;即将到来的五一假期&#xff0c;一款极富趣味的多人合作生存PVE游戏《灵魂面甲》&#xff0c;将于5月1日在Steam平台正式启动其测试篇章。这款游戏适应单人冒险或组建服务器团队作战&#xff0…

Redis 源码学习记录:字符串

redisObject Redis 中的数据对象 server/redisObject.h 是 Redis 对内部存储的数据定义的抽象类型其定义如下&#xff1a; typedef struct redisObject {unsigned type:4; // 数据类型&#xff0c;字符串&#xff0c;哈希表&#xff0c;列表等等unsigned encoding:4; …