IDEA+Java+SSM+Mysql+Bootstrap+Maven实现网上书城系统
目錄
一、系統介紹
1.開發環境
2.技術選型
3.系統功能
4.數據庫文件
二、系統展示
1.首頁展示
2.系統注冊
3.系統登錄
4.登錄首頁
5.書籍查看
6.書籍明細
7.購物車明細
三、部分代碼
LoginController
MainController
RegisterController
pom.xml
四、其他
1.更多系統
Java+JSP系統系列實現
Java+Servlet系統系列實現
Java+SSM系統系列實現
Java+SSH系統系列實現
Java+Springboot系統系列實現
2.源碼下載
3.備注
4.支持博主
一、系統介紹
1.開發環境
開發工具:IDEA2018
JDK版本:jdk1.8
Mysql版本:8.0.13
2.技術選型
Java+Spring+SpringMVC+Mybatis+Bootstrap+Mysql+Maven
3.系統功能
用戶
1.注冊
2.登錄
3.瀏覽書籍
4.購買書籍
4.數據庫文件
/*Navicat Premium Data TransferSource Server : MySQLSource Server Type : MySQLSource Server Version : 80013Source Host : 127.0.0.1:3306Source Schema : ssm_maven_bookstoreTarget Server Type : MySQLTarget Server Version : 80013File Encoding : 65001Date: 02/12/2021 21:32:11 */SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table structure for book -- ---------------------------- DROP TABLE IF EXISTS `book`; CREATE TABLE `book` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`author` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`press` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`pubdate` date NOT NULL,`price` double(3, 1) NOT NULL,`page` int(3) NOT NULL,`img` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`feature` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`booktype` int(5) NOT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of book -- ---------------------------- INSERT INTO `book` VALUES (1, '圖解Java多線程設計模式', '侯振龍', '圖靈出版社', '2017-08-22', 89.0, 360, 'java01.jpg', '編寫了300個示例程序來實現設計模式,掌握這些設計模式可以避免程序發生死鎖、節省資源、提高性能等,讓多線程程序更高效。java.util.concurrent包、synchronized關鍵字、Swing框架、Java內存模型等內容也均有涉及,不僅能夠了解Java多線程的相關知識,還可加深對Java語言的理解。', 1); INSERT INTO `book` VALUES (2, 'Java編程思維', 'Allen B. Downey', '人民出版社', '2016-12-15', 59.0, 220, 'java02.jpg', '本書是一本實用的計算機入門教程,目前已被眾多大學和高中選作教材。書中不僅介紹Java編程,還闡明如何養成計算機科學家才具備的思維方式,讓讀者學會怎樣將編程作為實現目的的手段。', 1); INSERT INTO `book` VALUES (3, 'Java技術手冊(第6版)', 'Benjamin J Evans', '人民出版社', '2015-11-23', 79.0, 180, 'java03.jpg', '本書旨在幫助有經驗的Java程序員充分使用Java 7和Java 8的功能,但也可供Java開發新手學習。書中提供了大量示例,演示了如何充分利用現代API和開發過程中的最佳實踐。這一版進行了全面更新。第一部分快速準確地介紹了Java編程語言和Java平臺。第二部分討論了核心概念和API,展示了如何在Java環境中解決實際的編程任務。', 1); INSERT INTO `book` VALUES (4, 'Java虛擬機基礎教程', 'Vincent van der Leun', '圖靈出版社', '2018-03-29', 69.0, 295, 'java04.jpg', 'Java虛擬機(JVM)是開發和部署軟件的成熟的現代平臺,最初只有Java一門語言運行于其中。隨著Java的日益復雜以及JVM性能的增強,出現了新一代可在JVM中運行的編程語言。', 1); INSERT INTO `book` VALUES (5, '明解Java', '柴田望洋', '新華出版色', '2018-01-19', 99.0, 483, 'java05.jpg', '從基礎知識到面向對象編程完全掌握!\r\n從Java的基礎知識講起,循序漸進,直到面向對象編程的內容。書中結合猜數字游戲、猜拳游戲、心算訓練等有趣的游戲程序進行講解,讓學習過程完全不枯燥。', 1); INSERT INTO `book` VALUES (6, 'Java機器學習', 'Bo?tjan Kalu?a', '人民出版社', '2017-09-01', 49.0, 320, 'java06.jpg', '- 快速了解用Java創建并實現機器學習\r\n- 涵蓋Mahout、Weka、Spark等常見庫的功能和用法\r\n- 介紹各種常見任務的機器學習應用,如基于數據庫的預測預報、購物籃分析、圖像識別、行為識別、文本分析等\r\n- 在線支持網站提供書中所有示例代碼以及其他入門資料:http://machine-learning-in-java.com', 1); INSERT INTO `book` VALUES (7, '碼農·進擊的Java(第16期)', '圖靈社區出品', '圖靈出版社', '2015-01-21', 29.0, 183, 'java07.jpg', 'IEEE Spectrum評出的2014年十大語言,Java依然穩坐第一。雖然每個程序員幾乎都對Java有著無盡的怨言,但是事實證明,作為一個工具Java仍然是最“好用”的。', 1); INSERT INTO `book` VALUES (8, 'Spring Boot實戰', 'Craig Walls', '清華大學出版社', '2016-09-05', 59.0, 224, 'java08.jpg', 'Craig Walls的著作正是Spring的完美縮影。Spring經過了幾年的發展,技術日臻成熟,讓編程者學習負擔持續減輕,不再需要掌握那么多知識就可以寫出有趣的程序。本書堪稱Spring Boot的完美指南,面面俱到地介紹了Spring Boot特性。Spring最新的發展也都被Craig精進了此書中。浩瀚書海又迎來了一本好書,出自一位大師級作者,關于一門偉大的技術。隆重推薦給你!', 1); INSERT INTO `book` VALUES (15, '程序員的算法趣題', '增井敏克', '人民出版社', '2017-07-25', 55.0, 312, 'algorithm01.jpg', '本書通過謎題式算法解謎,可有效訓練數學思維、算法思維,\r\n如同鍛煉大腦的趣味體操,程序員、推理解謎愛好者都會沉浸\r\n其中,找到樂趣。', 3); INSERT INTO `book` VALUES (16, '算法新解', '劉新宇', '圖靈出版社', '2016-12-20', 99.0, 592, 'algorithm02.jpg', '《算法新解》七年磨一劍,作者筆耕不輟,幾年來常在TopLanguage郵件列表中放出讓大家校對,在程序書泛濫的這個時代尤顯難能可貴。書中包含大量插圖和公式,又結合C++、Haskell、Python、Scheme等多種編程語言實現,命令式、函數式兼顧,準確細致地描述了大量基本算法和習題。', 3); INSERT INTO `book` VALUES (17, '流暢的Python', 'Luciano Ramalho', '人民出版社', '2017-05-08', 99.9, 600, 'python01.jpg', '本書由奮戰在Python開發一線近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的Python代碼。?', 2); INSERT INTO `book` VALUES (18, 'Python機器學習經典實例', 'Prateek Joshi', '新華出版社', '2017-08-17', 59.0, 244, 'python02.jpg', '用最火的Python語言、通過各種各樣的機器學習算法來解決實際問題!\r\n書中介紹的主要問題如下。\r\n- 探索分類分析算法并將其應用于收入等級評估問題\r\n- 使用預測建模并將其應用到實際問題中\r\n- 了解如何使用無監督學習來執行市場細分\r\n- 探索數據可視化技術以多種方式與數據進行交互\r\n-了解如何構建推薦引擎\r\n', 2); INSERT INTO `book` VALUES (19, 'Python數據科學手冊', 'Jake VanderPlas', '青年出版社', '2018-01-30', 99.9, 448, 'python03.jpg', 'Python語言擁有大量可用于存儲、操作和洞察數據的程序庫,已然成為深受數據科學研究人員推崇的工具。本書以IPython、NumPy、Pandas、Matplotlib和Scikit-Learn這5個能完成數據科學大部分工作的基礎工具為主,從實戰角度出發,講授如何清洗和可視化數據、如何用數據建立各種統計學或機器學習模型等常見數據科學任務,旨在讓各領域與數據處理相關的工作人員具備發現問題、解決問題的能力。\r\n', 2); INSERT INTO `book` VALUES (20, 'Python數據科學入門', 'Dmitry Zinoviev', '圖靈出版社', '2017-11-08', 49.0, 145, 'python04.jpg', '- 不同類型文本數據的獲取、清洗、組織和可視化\r\n- 如何用NumPy和Pandas模塊處理數值數據\r\n- 探索用MySQL和MongoDB配置、填充、查詢數據\r\n- 網絡創建、度量和分析\r\n- 概率與統計以及機器學習的相關基本概念\r\n', 2); INSERT INTO `book` VALUES (21, 'Python性能分析與優化', 'Fernando Doglio', '人民出版社', '2016-06-16', 45.0, 192, 'python05.jpg', '本書從基本的概念開始,循序漸進地介紹高級的優化主題。首先介紹了Python的主流性能分析器,以及用于幫助理解性能分析結果的可視化工具。然后介紹了通用的性能優化方法和專門針對Python的性能優化方法,帶你瀏覽該語言的主要結構,讓你只需做一點改變,即可迅速改善代碼的性能。最后介紹了一些專門用于數據處理的程序庫,教你如何正確地使用它們以獲得最佳性能。\r\n', 2); INSERT INTO `book` VALUES (22, '征服C指針', '前橋和彌', '清華大學出版社', '2013-02-26', 49.0, 264, 'c01.jpg', 'C程序員必讀經典\r\n原版暢銷11年\r\n“毒舌程序員”為你揭開指針的真實面紗\r\n', 4); INSERT INTO `book` VALUES (23, '明解C語言:中級篇', '柴田望洋', '中國人民大學出版社', '2017-09-14', 89.0, 334, 'c02.jpg', '暢銷書《明解C語言》第2彈,C語言進階不二之選!\r\n111段代碼+152幅圖表,圖文并茂,講解清晰易懂。\r\n10個有趣的游戲程序,讓你在快樂編程中學會實用技巧。\r\n雙色印刷,版式賞心悅目。\r\n本書是日本超受歡迎的C語言教程,榮獲日本工學教育協會著作獎,原版系列累計暢銷超100萬冊!\r\n', 4); INSERT INTO `book` VALUES (24, 'C語言詳解(第6版)', 'Jeri R.Hanly', '人民教育出版社', '2010-03-15', 79.0, 558, 'c03.jpg', '本書是C語言的經典教材。它不僅深入淺出地講述了實際開發中最需要的C語言基礎知識,還充分介紹了動態數據結構和多進程等高級內容,而且同時闡述了程序設計思想。\r\n', 4); INSERT INTO `book` VALUES (25, 'Linux shell腳本編程入門', '金泰龍', '人民教育出版社', '2014-09-18', 89.0, 496, 'linux01.jpg', '* 本書涵蓋了Linux學習中必知的shell(Bourne shell、Bash shell)指令和Linux全局系統要素。\r\n* 本書包括了Linux服務器和嵌入式Linux中必須掌握的基礎知識。\r\n* 本書通過對Linux服務器運行的核心——shell腳本編程的講解和舉例,幫助讀者提高技術水平,成為善于思考的管理員、程序員。\r\n', 6); INSERT INTO `book` VALUES (26, 'Linux/Unix設計思想', 'Mike Gancarz', '中國人民大學出版社', '2012-03-30', 39.0, 192, 'linux02.jpg', '剖析Linux/Unix制勝之道\r\n全新闡釋開源哲學\r\nJon ”maddog” Hall作序推薦', 6); INSERT INTO `book` VALUES (27, 'Linux命令速查手冊', 'Scott Granneman?', '清華大學出版社', '2009-09-29', 29.0, 336, 'linux03.jpg', '要想真正精通Linux,并成為一名高手,必須掌握Linux命令。本書涵蓋了Linux 命令的基礎知識、文件管理命令、資料查詢命令、系統管理命令、網絡配置命令和網絡服務命令等內容,并用翔實的例子演示了每個命令的使用方法。本書篇幅短小,內容簡潔實用,易于查詢,書中提供的代碼和命令語法可以快速用于Linux操作系統和開發環境。\r\n', 6); INSERT INTO `book` VALUES (28, 'JavaScript修煉之道', 'Christophe Porteneuv', '北京大學出版社 ', '2011-11-07', 29.0, 132, 'js04.jpg', 'JavaScript已無處不在。在當今紛繁復雜的網絡世界中,它是不可或缺的組成部分。然而,即便對有經驗的開發人員而言,JavaScript的體系都像難以穿越的生態環境系統。為此,本書以有別于一般教程的任務驅動方式來組織,圍繞35個必會的關鍵JavaScript任務進行論述,并針對常見任務提出了一些新的開發方法,再加上本書獨特的左頁原理右頁代碼的編排方式,使你在閱讀過程中快速地獲得提升。\r\n\r\n', 5); INSERT INTO `book` VALUES (29, 'JavaScript程序設計', 'Ray Toal', '中國人民大學出版社', '2016-04-11', 89.0, 380, 'js02.jpg', 'JavaScript是Web開發和網頁設計的必備技術之一,也是一門優秀的教學語言,非常適合初涉計算機科學領域的學生學習。本書是專門為計算機編程入門課程設計的,它以一種現代化的方式向學生們介紹了計算機科學與編程,并提供了真實案例研究和大量練習。', 5); INSERT INTO `book` VALUES (30, 'JavaScript設計模式與開發實踐', '曾探', '清華大學出版社', '2015-05-15', 59.0, 312, 'js03.jpg', '騰訊前端Alloy Team團隊出品,資深前端工程師曾探力作\r\n全面涵蓋專門針對JavaScript的16個設計模式\r\n深入剖析面向對象設計原則、面向對象編程技巧及代碼重構\r\n', 5); INSERT INTO `book` VALUES (31, '同構JavaScript應用開發', 'Jason Strimpe', '清華大學出版社', '2017-10-19', 49.0, 159, 'js01.jpg', '本書的主要目的是為同構JavaScript的實現提供基礎知識,并幫助讀者理解業界現有的同構JavaScript解決方案,在實際判斷同構JavaScript是否為可行的解決方案時能夠作出最明智的選擇,避免你“重復造輪子”。具體內容:第一部分描繪不同種類的同構JavaScript的輪廓,第二部分介紹關鍵概念,第三部分提供業界同行的解決方案案例。\r\n', 5); INSERT INTO `book` VALUES (32, '前方的路?[預售]', '阮一峰', '人民教育出版社', '2017-05-15', 49.0, 360, 'zhishu01.jpg', '深刻的好奇心,善于考據的思維方式,對一切美好事物及感情充滿向往……作者廣泛涉獵,善于思考,勤于總結,并且樂于分享:將自己從一本書、一部電影或者一段經歷中所得的感受和思考,都發表在了2003年開通的博客上。十余年累積的1500余篇博文,書寫了各種龐雜的知識,理性且不乏人文關懷。\r\n\r\n', 7); INSERT INTO `book` VALUES (33, '未來世界的幸存者?[預售]', '阮一峰?', '人民教育出版社', '2017-06-15', 39.0, 168, 'zhishu02.jpg', '機器人、自動化、人工智能正變得比人類更強大\r\n技術變革導致人類社會重構\r\n在可預見的未來,技術終將淘汰人類\r\n世界正劇烈變化,我們該何去何從\r\n', 7); INSERT INTO `book` VALUES (34, '簡約至上:交互式設計四策略[預售]', '賈爾斯?科爾伯恩', '人民教育出版社', '2017-06-26', 59.0, 232, 'zhishu03.jpg', '追求簡單易用是人類的本性,簡單易用始終是贏得用戶的關鍵,并決定了產品壽命。本書作者賈爾斯?科爾伯恩依托20多年交互式設計的探索與實踐,提出了合理刪除、分層組織、適時隱藏和巧妙轉移這4個達成簡約至上的策略,講述了為什么應該站在主流用戶一邊,以及如何從他們的真實需求和期望出發,簡化設計,提升易用性,創造出卓爾不群、歷久彌新的用戶體驗。\r\n', 7);-- ---------------------------- -- Table structure for cart -- ---------------------------- DROP TABLE IF EXISTS `cart`; CREATE TABLE `cart` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`count` int(5) NOT NULL,`price` double(3, 1) NOT NULL,`date` date NOT NULL,`orderman` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of cart -- ---------------------------- INSERT INTO `cart` VALUES (24, 'Python數據科學手冊', 1, 99.9, '2021-12-02', '1'); INSERT INTO `cart` VALUES (26, 'Python數據科學手冊', 1, 99.9, '2021-12-02', '1'); INSERT INTO `cart` VALUES (27, '程序員的算法趣題', 1, 55.0, '2021-12-02', 'user');-- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`password` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES (1, 'admin', 'admin'); INSERT INTO `user` VALUES (2, '1', '1'); INSERT INTO `user` VALUES (3, 'user', 'user');SET FOREIGN_KEY_CHECKS = 1;二、系統展示
1.首頁展示
2.系統注冊
3.系統登錄
4.登錄首頁
5.書籍查看
6.書籍明細
7.購物車明細
三、部分代碼
LoginController
package com.bookstore.controller;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView;import com.bookstore.domain.User; import com.bookstore.service.LoginService;@Controller public class LoginController {//授權服務層@Autowiredprivate LoginService loginService;//跳轉到登錄頁面@RequestMapping("tologin")public ModelAndView tologin() {ModelAndView mv = new ModelAndView("login");return mv;}//登錄操作@RequestMapping(value = "login", method = RequestMethod.POST)public ModelAndView login(String username, String password, HttpSession session) {ModelAndView mv;User user = loginService.login(username, password);//執行登錄操作,并將登錄對象返回if (user != null) {//判斷對象是否存在//不存在就跳往主頁面,并設置對象的會話mv = new ModelAndView("redirect:main");session.setAttribute("user", user);} else {//存在:就跳到登錄頁面重新登陸mv = new ModelAndView("redirect:tologin");}return mv;} }
MainController
package com.bookstore.controller;import java.util.List;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;import com.bookstore.domain.Book;
import com.bookstore.domain.Cart;
import com.bookstore.service.BookService;
import com.bookstore.service.CartService;@Controller
public class MainController {//授權服務層@Autowiredprivate BookService bookService;@Autowiredprivate CartService cartService;//跳往主頁面@RequestMapping("main")public ModelAndView main() {List<Book> bookList = bookService.getAllNewBooks();//查詢最新的書籍(取前12本)ModelAndView mv = new ModelAndView("main");mv.addObject("bookList", bookList);//將數據傳遞到前臺頁面return mv;}//查詢得到所有的書籍@RequestMapping("allbook")public ModelAndView allbook() {List<Book> bookList = bookService.getAllBooks();//調用服務層方法得到所有書籍用List結果集存起來ModelAndView mv = new ModelAndView("main");mv.addObject("bookList", bookList);//將List集合返回給前端頁面,進行呈現return mv;}//退出登錄@RequestMapping("cancel")public ModelAndView cancel(HttpSession session) {session.removeAttribute("user");//銷毀用戶登錄的會話ModelAndView mv = new ModelAndView("redirect:main");//重定向到主頁面return mv;}//按類型查詢書籍(type傳遞過來的分類參數)@RequestMapping("typebook")public ModelAndView typebook(int type) {List<Book> bookList = bookService.getBooksByBooktype(type);//調用服務層方法按分類參數查詢不同種類的書籍(例如Java,type=1)ModelAndView mv = new ModelAndView("main");mv.addObject("bookList", bookList);//將數據傳遞到前臺頁面return mv;}//跳轉到書籍頁面,根據書籍的id來判斷是選中的那本書進行跳轉,并查詢對應的書籍數據進行顯示數據@RequestMapping("tobook")public ModelAndView tobook(int id) {Book book = bookService.getBookById(id);//調用服務層方法,通過書籍id查詢出選中書的屬性ModelAndView mv = new ModelAndView("book");mv.addObject("book", book);//將數據傳遞到前臺頁面return mv;}//選好書籍數量,添加到購物車@RequestMapping(value = "incart", method = RequestMethod.POST)public ModelAndView incart(Cart cart, HttpSession session) {ModelAndView mv = null;if (session.getAttribute("user") == null) {//通過判斷會話中是否有用戶來進行不同的操作//用戶不是登錄狀態跳轉到登錄界面,進行登錄操作mv = new ModelAndView("redirect:tologin");} else {//用戶是登錄狀態,直接調用服務層方法把購物記錄添加到數據庫int n = cartService.incart(cart, session);//并通過返回值n來判斷添加時候成功,成功就跳轉到購物車頁面if (n != 0) {mv = new ModelAndView("redirect:tocart");//從定向跳轉到購物車}}return mv;}//跳轉到購物車頁面@RequestMapping("tocart")public ModelAndView tocart(HttpSession session) {ModelAndView mv;if (session.getAttribute("user") != null) {//判斷用戶是否登錄mv = new ModelAndView("cart");//登錄狀態下,跳轉到購物車頁面List<Cart> cartList = cartService.getAllOrders(session);//查詢出來的購物車記錄保存到List集合里面mv.addObject("cartList", cartList);//將數據傳遞到前臺頁面} else {mv = new ModelAndView("redirect:tologin");//不是登錄狀態下,跳轉到登錄頁面}return mv;}//通過購物記錄id刪除這條記錄@RequestMapping(value = "cancelcart", method = RequestMethod.GET)public ModelAndView cancelcart(int id) {//得到選中記錄的idModelAndView mv = null;int n = cartService.deleteCartById(id);//調用服務層進行刪除操作,并返回nif (n != 0) {//n不為0,說明刪除成功mv = new ModelAndView("redirect:tocart");//重定向到購物車頁面,進行刷新顯示}return mv;}
}
RegisterController
package com.bookstore.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;import com.bookstore.domain.User;
import com.bookstore.service.RegisterService;@Controller
public class RegisterController {//授權服務層@Autowiredprivate RegisterService registerService;//跳轉到注冊頁面@RequestMapping("toregister")public ModelAndView toregister() {ModelAndView mv = new ModelAndView("register");//跳轉到注冊頁面,沒有數據讀取,就單純的跳轉return mv;}//進行注冊操作@RequestMapping(value = "register", method = RequestMethod.POST)public ModelAndView register(User user) {//獲取頁面post提交的參數,如果頁面提交的參數和實體類User定義的參數一樣,可以直接寫User對象接受ModelAndView mv;int m = registerService.getUserByNameAndPwd(user);//通過user對象的用戶名和密碼,調用服務層方法去查詢這個用戶時候已經存在if (m == 0) {//返回的m等于0,表示用戶不存在int n = registerService.register(user);//調用服務層方法,進行添加用戶到數據庫if (n != 0) {//n不等0,表示添加成功,成功了就行跳轉到登錄頁面mv = new ModelAndView("redirect:tologin");} else {//n等于0,表示添加失敗,重新跳轉到注冊頁面,進行重新注冊mv = new ModelAndView("toregister");}} else {//m不等于0,表示用戶存在,直接重定向到登錄頁面,進行登錄操作mv = new ModelAndView("redirect:tologin");}return mv;}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com</groupId><artifactId>bookstore</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>bookstore Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><java-version>1.8</java-version><org.springframework-version>3.1.1.RELEASE</org.springframework-version><org.aspectj-version>1.6.10</org.aspectj-version><org.slf4j-version>1.6.6</org.slf4j-version></properties><dependencies><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework-version}</version><exclusions><!-- Exclude Commons Logging in favor of SLF4j --><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${org.springframework-version}</version></dependency><!-- Spring AOP dependency --><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2</version></dependency><!-- AspectJ --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>${org.aspectj-version}</version></dependency><!-- Logging --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${org.slf4j-version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${org.slf4j-version}</version><scope>runtime</scope></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${org.slf4j-version}</version><scope>runtime</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.15</version><exclusions><exclusion><groupId>javax.mail</groupId><artifactId>mail</artifactId></exclusion><exclusion><groupId>javax.jms</groupId><artifactId>jms</artifactId></exclusion><exclusion><groupId>com.sun.jdmk</groupId><artifactId>jmxtools</artifactId></exclusion><exclusion><groupId>com.sun.jmx</groupId><artifactId>jmxri</artifactId></exclusion></exclusions><scope>runtime</scope></dependency><!-- @Inject --><dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><version>1</version></dependency><!-- Servlet --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- mybatis and Mysql --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.1</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version></dependency><!-- druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.7.2</version></dependency><!-- Test --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.7</version><scope>test</scope></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.9.9</version></dependency></dependencies><build><finalName>BookStore</finalName><!-- 如果不添加此節點mybatis的mapper.xml文件都會被漏掉。 --><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build></project>四、其他
1.更多系統
Java+JSP系統系列實現
Java+JSP實現學生圖書管理系統
Java+JSP實現學生信息管理系統
Java+JSP實現用戶信息管理系統
Java+Servlet系統系列實現
Java+Servlet+JSP實現航空訂票系統
Java+Servlet+JSP實現新聞發布系統
Java+Servlet+JSP學生宿舍管理系統
Java+Servlet+JSP實現圖書管理系統
Java+Servlet+JSP實現停車場管理系統
Java+Servlet+JSP實現房屋租賃管理系統
Java+Servlet+JSP實現學生信息管理系統
Java+Servlet+JSP實現學生選課管理系統
Java+Servlet+JSP實現寵物診所管理系統
Java+Servlet+JSP實現學生成績管理系統-1
Java+Servlet+JSP實現學生成績管理系統-2
Java+SSM系統系列實現
J???ava+SSM+JSP實現網上考試系統
Java+SSM+JSP實現寵物商城系統
Java+SSM+Layui實現學生成績管理系統
Java+SSM+Bootstrap實現學生信息管理系統
Java+SSH系統系列實現
Java+SSH+JSP實現在線考試系統
Java+SSH+JSP實現醫院在線掛號系統
Java+Springboot系統系列實現
Java+Springboot+H-ui+Maven實現營銷管理系統
Java+Springboot+Bootstrap+Maven實現網上商城系統
Java+Springboot+Bootstrap+Maven實現景區旅游管理系統
1.更多JavaWeb系統請關注專欄。
https://blog.csdn.net/helongqiang/category_10020130.htmlhttps://blog.csdn.net/helongqiang/category_10020130.html
2.更多JavaSwing系統請關注專欄。
https://blog.csdn.net/helongqiang/category_6229101.htmlhttps://blog.csdn.net/helongqiang/category_6229101.html
2.源碼下載
Java+SSM+Maven+Mysql+Bootstrap實現網上書城系統
3.備注
如有侵權請聯系我刪除。
4.支持博主
如果您覺得此文對您有幫助,請點贊加關注加收藏。祝您生活愉快!想要獲取其他資源可關注左側微信公眾號獲取!
總結
以上是生活随笔為你收集整理的IDEA+Java+SSM+Mysql+Bootstrap+Maven实现网上书城系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公开数据集
- 下一篇: 基于java的网上书店系统设计(含源文件