GDPU JavaWeb mvc模式

搭建一個mvc框架的小實例。

簡易計算器

有一個名為inputNumber.jsp的頁面提供一個表單,用戶可以通過表單輸入兩個數和運算符號提交給Servlet控制器;由名為ComputerBean.java生成的JavaBean負責存儲運算數、運算符號和運算結果,由名為handleComputer的servlet控制器負責運算,將結果存儲到JavaBean中,并負責請求JSP頁面lookResult.jsp顯示JavaBean中的數據。

inputNumber.jsp?

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<p>輸入運算數、選擇運算符</p>
<form action="handleComputer" method="post"><input type="text" name="numberOne" /><select name="operator"><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option></select><input type="text" name="numberTwo" /><br><input type="submit" value="計算"/>
</form>
</body>
</html>

ComputerBean

package Beans;public class ComputerBean {private double num1, num2, result;private String opt;// 省略部分setter和getter方法public double getNum1() {return num1;}public void setNum1(double num1) {this.num1 = num1;}public double getNum2() {return num2;}public void setNum2(double num2) {this.num2 = num2;}public double getResult() {return result;}public void setResult(double result) {this.result = result;}public String getOpt() {return opt;}public void setOpt(String opt) {this.opt = opt;}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;}return result;}
}

handleComputer

import Beans.ComputerBean;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/handleComputer")
public class handleComputer extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {double num1 = Double.parseDouble(request.getParameter("numberOne"));double num2 = Double.parseDouble(request.getParameter("numberTwo"));String operator = request.getParameter("operator");ComputerBean computerBean = new ComputerBean();computerBean.setNum1(num1);computerBean.setNum2(num2);computerBean.setOpt(operator);double result = computerBean.optResult(operator, num1, num2);computerBean.setResult(result);request.setAttribute("computerBean", computerBean);RequestDispatcher dispatcher = request.getRequestDispatcher("lookResult.jsp");dispatcher.forward(request, response);}
}

lookResult.jsp

<%@ page import="Beans.ComputerBean" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%--EL表達式--%>
<p>${computerBean.num1}${computerBean.opt}${computerBean.num2}=${computerBean.result}</p>
<%--JSP--%>
<%
//    ComputerBean computerBean = (ComputerBean) request.getAttribute("computerBean");
%>
<%--<%= computerBean.getNum1() %><%= computerBean.getOpt() %><%= computerBean.getNum2() %> = <%= computerBean.getResult() %>--%>
</body>
</html>

實驗心得

喜歡你的你看不上,你喜歡的看不上你,他/她的優秀你看得見,你也不能一直做后面的影子了。?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16042.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16042.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16042.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#中獲取FTP服務器文件

1、從ftp下載pdf的方法 public static void DownloadPdfFileFromFtp(string ftpUrl,string user,string password string localPath) { // 創建FtpWebRequest對象 FtpWebRequest request (FtpWebRequest)WebRequest.Create(ftpUrl); request.Method WebRequestMethods.Ftp…

簡單好用的文本識別方法--付費的好用,免費的更有性價比-記筆記

文章目錄 先說付費的進入真題&#xff0c;免費的來喏&#xff01;PixPin微信 先說付費的 直達網址!!! 進入真題&#xff0c;免費的來喏&#xff01; PixPin 商店里就有 使用示例&#xff1a; 可以看到&#xff1a;貼在桌面上的圖片可以復制圖片中的文字&#xff0c;真的很…

深入了解ASPICE標準:提升汽車軟件開發與質量管理的利器

隨著汽車行業的快速發展和技術創新&#xff0c;汽車軟件的開發和質量管理的重視程度不斷提升。ASPICE&#xff08;Automotive Software Process Improvement and Capability Determination&#xff09;標準作為一種專門針對汽車軟件開發過程的改進和能力評定的框架&#xff0c;…

Springboot+Vue+ElementUI開發前后端分離的員工管理系統01--系統介紹

項目介紹 springboot_vue_emp是一個基于SpringbootVueElementUI實現的前后端分離的員工管理系統 功能涵蓋&#xff1a; 系統管理&#xff1a;用戶管理、角色管理、菜單管理、字典管理、部門管理出勤管理&#xff1a;請假管理、考勤統計、工資發放、工資統計、離職申請、個人資…

8.Redis之hash類型

1.hash類型的基本介紹 哈希表[之前學過的所有數據結構中,最最重要的] 1.日常開發中,出場頻率非常高. 2.面試中,非常重要的考點, Redis 自身已經是鍵值對結構了Redis 自身的鍵值對就是通過 哈希 的方式來組織的 把 key 這一層組織完成之后, 到了 value 這一層~~ value 的其中…

最重要的時間表示,柯橋外貿俄語小班課

в第四格 1、與表示“鐘點”的數詞詞組連用 例&#xff1a; в шесть часов утра 在早上六點 в пять тридцать 在五點半 2、與表示“星期”的名詞連用 例&#xff1a; в пятницу 在周五 в следующий понедельник …

包和依賴管理:Python的pip和conda使用指南

包和依賴管理&#xff1a;Python的pip和conda使用指南 對于Python新手來說&#xff0c;包和依賴管理可能是一個令人困惑的概念。但不用擔心&#xff0c;本文將用淺顯易懂的語言&#xff0c;詳細介紹如何使用Python的兩個主要包管理工具&#xff1a;pip和conda。我們還會探討在安…

為 AWS 子賬戶添加安全組修改權限

文章目錄 步驟 1&#xff1a;創建 IAM 策略步驟 2&#xff1a;附加策略到子賬戶步驟 3&#xff1a;驗證權限 本文檔將操作如何為 AWS 子賬戶&#xff08;IAM 用戶或角色&#xff09;添加修改安全組的權限&#xff0c;包括 AuthorizeSecurityGroupIngress 和 RevokeSecurityGr…

解決uniApp 中不能直接使用 Axios 的問題

最近在使用 uniapp 進行小程序開發的時候&#xff0c;發現 uniapp 不能直接使用 axios&#xff0c;需要自己進行封裝一個 http 庫使用&#xff0c;于是有了這個項目。 項目地址&#xff1a;https://www.npmjs.com/package/uni-app-wxnetwork-tool 該包的功能介紹&#xff1a; u…

String類為什么設計成不可變的?

目錄 緩存 安全性 線程安全 hashCode緩存 性能 其實這個問題我們可以通過緩存、安全性、線程安全和性能幾個維度去解析。 緩存 字符串是Java最常用的數據結構&#xff0c;我們都知道字符串大量創建是非常耗費資源的&#xff0c;所以Java中就將String設計為帶有緩存的功能…

軟考 系統架構設計師之考試感悟2

接前一篇文章&#xff1a;軟考 系統架構設計師之考試感悟 今天是2024年5月25號&#xff0c;是個人第二次參加軟考系統架構師考試的正日子。和上次一樣&#xff0c;考了一天&#xff0c;身心俱疲。天是陰的&#xff0c;心是沉的&#xff0c;感覺比上一次更加沉重。仍然有諸多感悟…

express框架下后端獲取req.body報錯undefined

express框架下后端獲取req.body報錯undefined_express服務器post中data為undefine-CSDN博客 /*** 特殊說明&#xff1a;Express是一個單線程服務器器程序【必須存在指定的順序調用,否則無法達到預期的效果】*//*** 第一步&#xff1a;創建一個Express實例對象,并且在匹配路由之…

【python】python tkinter 計算器GUI版本(模仿windows計算器 源碼)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;公眾號&#x1f448;&#xff1a;測試開發自動化【獲取源碼商業合作】 &#x1f449;榮__譽&#x1f448;&#xff1a;阿里云博客專家博主、5…

17.分類問題

機器學習分類問題詳解與實戰 介紹 在機器學習中&#xff0c;分類問題是一類常見的監督學習任務&#xff0c;其目標是根據輸入特征將數據樣本劃分為預先定義的類別之一。分類問題廣泛應用于各個領域&#xff0c;如圖像識別、自然語言處理、金融風險評估等。本文將詳細介紹機器…

Spring Cloud 項目中使用 Swagger

Spring Cloud 項目中使用 Swagger 關于方案的選擇 在 Spring Cloud 項目中使用 Swagger 有以下 4 種方式&#xff1a; 方式一 &#xff1a;在網關處引入 Swagger &#xff0c;去聚合各個微服務的 Swagger。未來是訪問網關的 Swagger 原生界面。 方式二 &#xff1a;在網關處引…

RedHat9 | DNS剖析-配置輔助DNS服務器

一、實驗環境 1、輔助域名DNS服務器 DNS通過劃分為若干個區域進行管理&#xff0c;每一個區域由1臺或多臺DNS服務器負責解析&#xff0c;如果僅僅采用1臺DNS服務器&#xff0c;在DNS服務器出現故障后&#xff0c;用戶將無法完成解析。 輔助DNS服務器的優點 容災備份&#x…

區間預測 | Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測

區間預測 | Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測 目錄 區間預測 | Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 1.Matlab實現DNN-KDE深度神經網絡結合…

MySQL數據處理增刪改

數據處理增刪改DML 由于約束&#xff0c;以下操作都有可能執行失敗&#xff08;后面講約束&#xff09; 插入數據 INSERT 基礎添加&#xff1a;VALUES 值的順序必須和表中字段順序相同 INSERT INTO class VALUES(1,王小,10); 向指定字段添加&#xff1a; 值的順序和指定…

rocketmq初識

package com.ldj.rocketmq.producer;import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.message.Message;import java.nio.charset.StandardCharsets;/*** User: ldj* Date: 2024/3/26* Time: 2:26* Description: 單向消息生產…

MT7628原廠Uboot修改交互串口

工作中&#xff0c;遇到用戶用Skylab的SKW92A模組&#xff0c;在參考設計時&#xff0c;將UART接口預留錯的情況&#xff0c;對于這種情況&#xff0c;需要將原廠SDK默認的交互串口UART0&#xff0c;改為UART1。在開發過程中&#xff0c;經常需要在Uboot階段升級固件&#xff0…