使用Spring Boot編寫的小項目

加法計算器
前端代碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
<form action="return/sum" method="post"><h1>計算器</h1>數字1:<input name="a" type="text"><br>數字2:<input name="b" type="text"><br><input type="submit" value=" 點擊相加 ">
</form>
</body></html>

后端代碼

    @RequestMapping("/sum")public String sum(Integer a , Integer b){Integer sum = a + b;return  "<h1>計算結果為: "+ sum +" </h1>";}

運?測試
在這里插入圖片描述
在這里插入圖片描述
我們先定義接口
(1) 請求路徑:return/sum
(2) 請求方式:get/post
(3) 接口描述"計算兩個整數相加

登錄案例
分析需求
用戶輸入賬號和密碼 后端進行校驗是正確
(1)如果不正確前端進行用戶告知
(2)如果正確跳轉首頁顯示用戶信息

提前準備
將前端文件導入
在這里插入圖片描述
創建后端代碼
在這里插入圖片描述

定義接口
(1)登錄接口
/user/login/username = ? & password = ?
接口返回:校驗成功/失敗
true密碼成功
false密碼錯誤
(2)獲取用戶的登錄信息
/user/getUserInfo
接口返回:當前登錄用戶的名稱

編寫后端代碼

package com.example.demo.demos.web.controller;import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;@RequestMapping("/user")
@RestController
public class UserController {@RequestMapping("/login")public Boolean login(String username, String password, HttpSession session){//校驗參數合法性//如果username和password的值是null或者長度為0就會返回一個falseif(!StringUtils.hasLength(username) || !StringUtils.hasLength(password)){return false;}//對用戶名和密碼進行校驗若對就設置session否則就返回falseif("admin".equals(username) && "admin".equals(password)){//設置Sessionsession.setAttribute("username","admin");return true;}return false;}@RequestMapping("/getUserIofo")public String getUserInfo(HttpServletRequest request){//我們要顯示用戶就需要從session拿到username//要拿到session就需要從request中拿到HttpSession session = request.getSession();String username = null;if (session != null){username = (String) session.getAttribute("username");}return username;}
}

演示:
在這里插入圖片描述
在這里插入圖片描述
留言板
輸入留言信息 點擊提交
頁面展示留言信息

接口定義
獲取全部留言用List可以用JSON來描述List
請求:
GET/message/getList
使用JSON格式響應

準備工作
導入前端代碼

在這里插入圖片描述

使用lombok工具

lombok是一個java工具庫通過添加注解方式簡化java開發
使用
lombok通過?些注解的?式,可以幫助我們消除?冗?代碼,使代碼看起來簡潔?些?如之前的Person對象就可以改為
例如一個person類
在這里插入圖片描述

package com.example.demo.demos.web;import lombok.Data;@Data
public class Person2 {public String name;public Integer age;public Integer id;
}

這里加個注解@Data就等于上面的代碼

@Data=@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor

針對上面lombok也提供更精細粒度的注解可以單獨對類的屬性使用

里面有很多方法當我們要在這個類增加一個屬性的時候tostring方法又要重新寫相當麻煩
然后我們使用lombok中的注解就可以解決這個問題

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

上述引?lombok依賴,需要去找lombok的坐標
然后我們也可以使用EditStarter引入依賴重啟Idea
在這里插入圖片描述
在pom.xml?件中,單擊右鍵,選擇Generate進?EditStarters的編輯界?,添加對應依賴即可.

在這里插入圖片描述
在這里插入圖片描述
留言版服務器代碼實現

package com.example.demo.demos.web.controller;import com.example.demo.demos.web.MessageInfo;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.List;@RequestMapping("/message")
@RestController
public class MessageController {private List<MessageInfo> messageInfos = new ArrayList<>();@RequestMapping("/getList")public List<MessageInfo> getList(){return messageInfos;}@RequestMapping("/publish")public boolean publish(MessageInfo messageInfo){System.out.println(messageInfo);if(StringUtils.hasLength(messageInfo.getFrom())&&StringUtils.hasLength(messageInfo.getFrom())&&StringUtils.hasLength(messageInfo.getMessage())){messageInfos.add(messageInfo);return true;}return false;}}

示例
在這里插入圖片描述

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

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

相關文章

若依跳轉(新增)頁面,在菜單中不顯示的頁面

在router.js文件中 跳轉方式 this.$router.push(/monitor/b/b)

有限元之有限元法的實現

目錄 一、單元剛度矩陣及單元荷載 二、總剛度矩陣及總荷載的合成 三、邊界條件處理 四、算例實現 4.1 C代碼 4.2 計算結果 五、結論 前三節我們介紹了有限元的基本概念、變分理論及有限元空間的構造&#xff0c;本節我們探討如何實現有限元法。我們繼續以二維橢圓型方程…

以太坊現貨ETF獲批:引發ETH價格暴漲,市場熱議達到高潮

2024年5月24日&#xff0c;北京時間&#xff0c;以太坊現貨ETF正式獲得美國證券交易委員會&#xff08;SEC&#xff09;的批準&#xff0c;成為繼比特幣之后&#xff0c;美國主權政府承認的又一加密貨幣基金產品。這一意外的利好消息引發了加密貨幣市場的狂歡&#xff0c;以太坊…

JavaWeb開發 2.Web開發 Web前端開發 ①介紹

內心一旦平靜&#xff0c;外界便鴉雀無聲 —— 24.5.27 一、初識Web前端 網頁有哪些部分組成? 文字、圖片、音頻、視頻、超鏈接 ...網頁&#xff0c;背后的本質是什么? 前端代碼前端的代碼是如何轉換成用戶眼中的網頁的? 通過瀏覽器轉化(解析和渲染)成用戶看…

dx11硬件解碼傳遞給opencl并行處理

directx11 解碼 使用ffmpeg進行directx11 解碼 將解碼后的NV12格式數據從D3D11 Texture中通過OpenCL處理需要經過幾個步驟&#xff1a;首先&#xff0c;確保D3D11 Texture正確設置并與OpenCL上下文關聯&#xff1b;然后&#xff0c;將NV12數據分兩個步驟處理&#xff08;Y平面…

調試面對面翻譯小程序

調試面對面翻譯小程序 文章目錄 調試面對面翻譯小程序預覽1.拉取項目2.在微信開發者工具打開使用 微信版本要求微信同聲傳譯插件支持功能 此demo用于學習 預覽 1.拉取項目 git clone https://github.com/Tencent/Face2FaceTranslator或者&#xff08;加速鏡像&#xff09; git …

Warning: Each child in a list should have a unique “key“ prop.

問題描述&#xff1a; 使用ProTable的時候&#xff0c;報錯如下 原因分析&#xff1a; 根據報錯內容可以分析出&#xff0c;表格數據缺少唯一key&#xff0c; <PaginationTablecolumns{columns}pagination{{pageSize: 10,current: 1,showSizeChanger: true,showQuickJum…

kafka 可以脫離 zookeeper 單獨使用嗎?為什么?

Kafka是一個分布式的流式處理平臺&#xff0c;它依賴于Zookeeper來管理集群元數據、選舉Leader以及故障恢復。在Kafka集群中&#xff0c;Zookeeper負責保存和維護分布式系統的信息。 雖然理論上可以將Kafka與Zookeeper分開&#xff0c;但實際上&#xff0c;Kafka在設計時就與Z…

JavaScript中的相等操作符(== vs ===)選擇指南

在使用JavaScript進行比較時,我們經常會遇到相等操作符 == 和嚴格相等操作符 ===。本文將深入探討這兩者之間的區別,并說明在何種情況下應使用 === 而不是 ==。 相等操作符(==) 相等操作符 == 會在進行比較之前對其兩個操作數進行必要的類型轉換。這意味著即使兩個操作數…

網絡安全行為可控定義以及表現內容簡述

在數字化快速發展的今天&#xff0c;網絡安全已成為國家和企業不可或缺的防線。據統計&#xff0c;網絡攻擊事件頻發&#xff0c;給全球經濟帶來了巨大損失。因此&#xff0c;確保網絡安全行為可控顯得尤為重要。今天我們來聊聊網絡安全行為可控定義以及表現內容。 網絡安全行為…

摸魚大數據——Hive表操作——分區表

1、介紹 特點: 分區表會在HDFS上產生目錄。查詢數據的時候使用分區字段篩選數據&#xff0c;可以避免全表掃描&#xff0c;從而提升查詢效率 注意: 如果是分區表&#xff0c;在查詢數據的時候&#xff0c;如果沒有使用分區字段&#xff0c;它回去進行全表掃描&#xff0c;會降低…

說一下 ACID 是什么?

ACID 是數據庫事務的四個特性的首字母縮寫&#xff0c;包括原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔離性&#xff08;Isolation&#xff09;和持久性&#xff08;Durability&#xff09;。 原子性&#xff08;Atomicity&…

什么是NAND Flash ECC?

在存儲芯片行業&#xff0c;數據完整性和可靠性是至關重要的。為了確保數據的準確性和防止數據丟失&#xff0c;ECC&#xff08;錯誤校正碼&#xff09;在NAND Flash存儲中扮演了關鍵角色。MK米客方德將為您解答NAND Flash ECC的基本概念、工作原理及其在實際應用中的重要性。 …

重繪和重排

重繪&#xff08;Repaint&#xff09;和重排&#xff08;Reflow&#xff09;是與網頁渲染和布局密切相關的兩個概念。以下是關于這兩個概念的詳細解釋&#xff1a; 重繪&#xff08;Repaint&#xff09; 定義&#xff1a; 當一個元素的外觀發生改變&#xff0c;但沒有改變布…

C#【進階】俄羅斯方塊

俄羅斯方塊 文章目錄 Test1_場景切換相關BeginScene.csBegionOrEndScene.csEndScene.csGame.csGameScene.csISceneUpdate.cs Test2_繪制對象基類和枚舉信息DrawObject.csIDraw.csPosition.cs Test3_地圖相關Map.cs Test4_坐標信息類BlockInfo.cs Test5_板磚工人類BlockWorker.…

數據庫中字符串相加需要換行

數據庫中字符串相加需要換行&#xff0c;這個需求在現在項目中很常見&#xff0c;特別是備注內容的追加&#xff0c;因此把Oracle/SQLServer/MySQL這幾種數據庫的使用進行簡單的總結一下 1、本文內容 Oracle中實現字符串相加需要換行SQLServer中實現字符串相加需要換行MySQL中…

VMware的網絡不通?這一篇給你一定的參考.虛擬機網絡配置

如果你的虛擬機莫名其妙ping不通網絡了&#xff0c;可以參考一下我的配置。這不是一篇教程&#xff0c;你可以核對一下自己的bug。 虛擬網絡配置器中&#xff1a; 使用管理員權限更改設置&#xff0c;會跳出來vmnet0 橋接、僅主機和NAT都必須要有 vment0&#xff1a; vmnet1:…

【樂吾樂3D可視化組態編輯器】相機與視角

系統默認的相機為環繞旋轉相機&#xff0c;它可以環繞一個中心點做上下左右的旋轉&#xff0c;來從不同角度觀察場景。當然&#xff0c;您也可以把一些特定角度的信息保存下來&#xff0c;在系統中我們把這個信息稱作視角。通過交互中的切換視角動作&#xff0c;您就可以實現把…

英語新概念2-回譯法-lesson1 和 lesson17

Lesson 1 私人談話A private conversation 翻譯&#xff1a; Last Sunday I went to the theater. My seat was good and the play was interesting, but I can not enjoy it. A young man and a young woman sat behind me and they were talking loudly. I felt angry becau…

2024年電子、電氣與信息科學國際會議(EEIS 2024)

2024年電子、電氣與信息科學國際會議&#xff08;EEIS 2024&#xff09; 2024 International Conference on Electronics, Electrical and Information Science 【重要信息】 大會地點&#xff1a;昆明 大會官網&#xff1a;http://www.iceeis.com 投稿郵箱&#xff1a;iceeis…