Java實戰(zhàn)之實現(xiàn)在線小說閱讀系統(tǒng)
環(huán)境配置
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
項目技術(shù)
Layui+Springboot+ SpringMVC + HTML + FTP+ JavaScript + JQuery + Ajax + maven等等。
效果圖
讀者用戶控制器
@Controller public class ReaderController { @Autowired private ReaderService readerService; @RequestMapping("/duzhe") public String duzhe(){ return "loginreader"; } @RequestMapping("/book/getByType?bookType=1") public String xiangqing(){ return "front/personal"; } /** * 登陸操作 * @return */ @RequestMapping("/loginreader") @ResponseBody public ResultData login1(Reader reader,HttpServletRequest request){ // 登陸操作 ResultData resultData = readerService.login1(reader); // 判斷登陸成功,將用戶數(shù)據(jù)保存到 session中 // 如何獲取session對象? if(resultData.getCode() == 200){ HttpSession session = request.getSession(); session.setAttribute("reader",resultData.getData()); } return resultData; } @RequestMapping("/loginOut") @ResponseBody public String loginOut(HttpServletRequest request){ // 只需要去將保存到session的數(shù)據(jù)干掉即可 request.getSession().setAttribute("reader",null); // 重定向和轉(zhuǎn)發(fā)的區(qū)別? // 重定向: 1. 客戶端行為 2. 兩次請求 3. 不能攜帶前一次請求的數(shù)據(jù) // 轉(zhuǎn)發(fā): 1. 服務(wù)器端行為 2. 一次請求 3. 能夠攜帶前一次請求的數(shù)據(jù) return "redirect:/loginPage"; } // @RequestMapping("/login") // @ResponseBody// 該方法返回的是json字符串 // public ResultData login(Admin admin,HttpServletRequest request){ // // 登陸操作 // ResultData resultData = adminService.login(admin); // // 判斷登陸成功,將用戶數(shù)據(jù)保存到 session中 // // 如何獲取session對象? // if(resultData.getCode() == 200){ // HttpSession session = request.getSession(); // session.setAttribute("admin",resultData.getData()); // } // // return resultData; // } // //讀者列表 @RequestMapping("/reader/list") public String list(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize){ PageInfo<Reader> pageInfo = readerService.list(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "reader/reader-list"; } //搜索讀者顯示列表 @RequestMapping("/reader/search") public String searchList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize, String keyword){ PageInfo<Reader> pageInfo = readerService.searchList(page, pageSize, keyword); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "reader/reader-list"; } //讀者刪除列表 @RequestMapping("/reader/deleteList") public String deleteList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize){ PageInfo<Reader> pageInfo = readerService.DeleteList(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "reader/reader-del"; } //添加讀者 @RequestMapping("/reader/addPage") public String addPage(){ return "front/register"; } // 添加讀者的方法 @RequestMapping("/reader/add") @ResponseBody public ResultData add(Reader reader){ return readerService.add(reader); } /** * 編輯讀者狀態(tài)信息 * @param readerId : 當前讀者Id * @param readerStatus: 讀者當前狀態(tài) * @return */ @RequestMapping("/reader/editStatus") @ResponseBody public ResultData editStatus(Integer readerId, Integer readerStatus){ return readerService.updateStatus(readerId, readerStatus); } /** * 編輯讀者 * @param * @param * @return */ @RequestMapping("/reader/editPage") public String editPage(Model model, Integer readerId){ Reader dbreadder = readerService.findById(readerId); model.addAttribute("reader",dbreadder); return "reader/reader-edit"; } /** * 更新讀者基本信息的方法 * @param reader * @return */ @RequestMapping("/reader/edit") @ResponseBody public ResultData edit(Reader reader){ return readerService.edit(reader); } /** * 批量刪除 * @param ids * @return */ @RequestMapping("/reader/deleteAll") @ResponseBody public ResultData deleteAll(@RequestParam(name = "ids") String ids){ // 將ids轉(zhuǎn)換成數(shù)組 String[] idArr=ids.split(","); return readerService.batchDelete(idArr); }; /** * 批量恢復(fù) * @param ids * @return */ @RequestMapping("/reader/huifuAll") @ResponseBody public ResultData huifuDelete(@RequestParam(name = "ids") String ids){ // 將ids轉(zhuǎn)換成數(shù)組 String[] idArr=ids.split(","); return readerService.huifuDelete(idArr); }; @RequestMapping("/reader/delete") @ResponseBody public ResultData deleteReader(Integer readerId, Integer readerStatus){ return readerService.deletereader(readerId,readerStatus); } @RequestMapping("/reader/toCenter") public String toCenter(HttpSession session, Model model){ // Reader reader = (Reader)session.getAttribute("reader"); // if(reader==null){ // return "login"; // } Reader reader = readerService.findById(1 ); model.addAttribute("reader",reader); return "front/center"; } }
圖書管理控制層
@Controller public class BookController { @Autowired private BookService bookService; // @Autowired // private BookService bookService; //小說列表 @RequestMapping("/book/list") public String list(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize) { PageInfo<Book> pageInfo=bookService.list(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "book/book-list"; } //小說添加 @RequestMapping("/book/addPage") public String addPage() { return "book/book-add"; } // // // 添加小說 @RequestMapping("/book/add") @ResponseBody public ResultData add(Book book) { return bookService.add(book); } // 編輯小說狀態(tài) @RequestMapping("/book/editCondition") @ResponseBody public ResultData editCondition(Integer bookId, Integer condition){ return bookService.updateStatus(bookId,condition); } // 編輯頁面 @RequestMapping("/book/editPage") public String editPage(Model model, Integer bookId){ Book dbBook = bookService.findById(bookId); model.addAttribute("book",dbBook); return "book/book-edit"; } //更新基本信息 @RequestMapping("/book/edit") @ResponseBody public ResultData edit(Book book){ return bookService.edit(book); } // 批量刪除 @RequestMapping("/book/deleteAll") @ResponseBody public ResultData deleteAll(@RequestParam(name="ids") String ids){ //將ids轉(zhuǎn)為數(shù)組 String[] idArr = ids.split(","); //將字符串數(shù)組轉(zhuǎn)為int數(shù)組 return bookService.batchDelete(idArr); } // search @RequestMapping("/book/search") public String searchList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize, String keyword) { PageInfo<Book> pageInfo=bookService.searchList(page,pageSize,keyword); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "book/book-list"; } @RequestMapping("/book/search1") public String searchList1(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize, String keyword1) { PageInfo<Book> pageInfo=bookService.searchList1(page,pageSize,keyword1); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "book/book-list"; } @RequestMapping(value = "/book/getByType",method = RequestMethod.GET) public String getByType(Integer bookType, Model model, HttpSession session){ List<Book> bookList = bookService.findByType(bookType); List<Book> randList = bookService.findRandList(); //將字符串數(shù)組轉(zhuǎn)為int數(shù)組 session.setAttribute("bookList",bookList); session.setAttribute("randList",randList); return "/front/personal"; } @RequestMapping(value = "/book/getByName",method = RequestMethod.POST) public String getByName(String likeName, Model model, HttpSession session) throws UnsupportedEncodingException { // String likeName1 = new String(likeName.getBytes("ISO-8859-1"),"utf-8"); List<Book> bookList = bookService.findByLikeName(likeName); List<Book> randList = bookService.findRandList(); //將字符串數(shù)組轉(zhuǎn)為int數(shù)組 session.setAttribute("bookList",bookList); session.setAttribute("randList",randList); return "/front/personal"; } }
圖書訂單管理控制層
@Controller public class BookOrderController { @Autowired private BookOrderService bookOrderService; @Autowired private BookService bookService; @RequestMapping("/bookorder/bookorderlist") public String bookorderlist(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize) { PageInfo<BookOrder> pageInfo = bookOrderService.list(page, pageSize); //將數(shù)據(jù)轉(zhuǎn)發(fā)到頁面 model.addAttribute("list", pageInfo.getList()); model.addAttribute("pageInfo", pageInfo); return "bookorder/bookorder-list"; } @RequestMapping("/bookorder/orderSearch") public String searchList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize, String keyword) { PageInfo<BookOrder> pageInfo = bookOrderService.searchList(page,pageSize,keyword); //將數(shù)據(jù)轉(zhuǎn)發(fā)到頁面 model.addAttribute("list", pageInfo.getList()); model.addAttribute("pageInfo", pageInfo); return "bookorder/bookorder-list"; } @RequestMapping("/bookorder/bookorderadd") public String bookorderadd() { return "bookorder/bookorder-add"; } @RequestMapping(value = "/bookorder/add",method = RequestMethod.POST) @ResponseBody public ResultData add(BookOrder bookOrder, HttpSession session) { Reader reader = (Reader)session.getAttribute("reader"); if(reader==null){ return new ResultData(2001,"用戶未登陸",null); } int readerId = reader.getReaderId(); bookOrder.setUserId(1); bookOrder.setDiscountId(1); bookOrder.setOrderDate(new Timestamp(System.currentTimeMillis())); bookOrder.setOrderStatus(1); bookOrder.setPayStatus(1); ResultData resultData = bookOrderService.add(bookOrder); return resultData; } @RequestMapping("/bookorder/editStatus") @ResponseBody public ResultData editStatus(Integer id, Integer status) { return bookOrderService.updateStatus(id,status); } @RequestMapping("/bookorder/deleteAll") @ResponseBody public ResultData deleteAll(@RequestParam(name = "ids") String ids){ // 將ids轉(zhuǎn)換成數(shù)組 String[] idArr = ids.split(","); return bookOrderService.batchDelete(idArr); } @RequestMapping("/bookorder/delete") @ResponseBody public ResultData delete(Integer orderid,Integer orderStatus){ return bookOrderService.delete(orderid,orderStatus); } @RequestMapping("/bookOrder/toOrder") public String delete(Integer bookId,Model model){ Book book = bookService.findById(bookId); model.addAttribute("book",book); return "front/order"; } @RequestMapping("/bookOrder/toOrderCenter") public String toOrderCenter(HttpSession session,Model model){ /*Reader reader = (Reader)session.getAttribute("reader"); if(reader==null){ return new ResultData(2001,"用戶未登陸",null); } int readerId = reader.getReaderId();*/ int readerId = 1; List<BookOrder> bookOrderList = bookOrderService.getAll(readerId); model.addAttribute("bookOrderList",bookOrderList); return "front/orderCenter"; } }
角色管理控制層
@Controller public class AuthorController { @Autowired private AuthorService authorService; @RequestMapping("/zuozhe") public String duzhe(){ return "loginauthor"; } @RequestMapping("/zuoping") public String zuoping(){ return "index11"; } /** * 登陸操作 * @return */ @RequestMapping("/loginauthor") @ResponseBody public ResultData login2(Author author){ ResultData resultData=authorService.login2(author); return resultData; } //作者列表 @RequestMapping("/author/list") public String list(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize){ PageInfo<Author> pageInfo = authorService.list(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "author/author-list"; } //搜索作者顯示列表 @RequestMapping("/author/search") public String searchList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize, String keyword){ PageInfo<Author> pageInfo = authorService.searchList(page, pageSize, keyword); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "author/author-list"; } //作者刪除列表 @RequestMapping("/author/deleteList") public String deleteList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "5") Integer pageSize){ PageInfo<Author> pageInfo = authorService.DeleteList(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "author/author-del"; } //添加作者 @RequestMapping("/author/addPage") public String addPage(){ return "author/author-add"; } // 添加作者的方法 @RequestMapping("/author/add") @ResponseBody public ResultData add(Author author){ return authorService.add(author); } /** * 編輯作者狀態(tài)信息 * @param authorId : 當前作者Id * @param authorStatus: 作者當前狀態(tài) * @return */ @RequestMapping("/author/editStatus") @ResponseBody public ResultData editStatus(Integer authorId, Integer authorStatus){ return authorService.updateStatus(authorId, authorStatus); } /** * 編輯作者 * @param * @param * @return */ @RequestMapping("/author/editPage") public String editPage(Model model, Integer authorId){ Author dbreadder = authorService.findById(authorId); model.addAttribute("author",dbreadder); return "author/author-edit"; } /** * 更新作者基本信息的方法 * @param author * @return */ @RequestMapping("/author/edit") @ResponseBody public ResultData edit(Author author){ return authorService.edit(author); } /** * 批量刪除 * @param ids * @return */ @RequestMapping("/author/deleteAll") @ResponseBody public ResultData deleteAll(@RequestParam(name = "ids") String ids){ // 將ids轉(zhuǎn)換成數(shù)組 String[] idArr=ids.split(","); return authorService.batchDelete(idArr); }; /** * 批量恢復(fù) * @param ids * @return */ @RequestMapping("/author/huifuAll") @ResponseBody public ResultData huifuDelete(@RequestParam(name = "ids") String ids){ // 將ids轉(zhuǎn)換成數(shù)組 String[] idArr=ids.split(","); return authorService.huifuDelete(idArr); }; @RequestMapping("/author/delete") @ResponseBody public ResultData deleteAuthor(Integer authorId, Integer authorStatus){ return authorService.deleteauthor(authorId,authorStatus); } }
歷史控制層
@Controller public class HistoryController { @Autowired private HistoryService historyService; //列表 @RequestMapping("/history/list") public String list(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize) { PageInfo<History> pageInfo=historyService.list(page,pageSize); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "history/history-list"; } //添加 @RequestMapping("/history/addPage") public String addPage(){ return "history/history-add"; } // 添加 @RequestMapping("/history/add") @ResponseBody public ResultData add(History history){ return historyService.add(history); } // search @RequestMapping("/history/search") public String searchList(Model model, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "3") Integer pageSize, String keyword) { PageInfo<History> pageInfo=historyService.searchList(page,pageSize,keyword); model.addAttribute("list",pageInfo.getList()); model.addAttribute("pageInfo",pageInfo); return "history/history-list"; } // 批量刪除 @RequestMapping("/history/deleteAll") @ResponseBody public ResultData deleteAll(@RequestParam(name="ids") String ids){ //將ids轉(zhuǎn)為數(shù)組 String[] idArr = ids.split(","); //將字符串數(shù)組轉(zhuǎn)為int數(shù)組 return historyService.batchDelete(idArr); } }
以上就是Java實戰(zhàn)之實現(xiàn)在線小說閱讀系統(tǒng)的詳細內(nèi)容,更多關(guān)于Java的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java通用BouncyCastle實現(xiàn)的DES3加密的方法
這篇文章主要介紹了Java通用BouncyCastle實現(xiàn)的DES3加密的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作,具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12使用ScheduledThreadPoolExecutor踩過最痛的坑
這篇文章主要介紹了使用ScheduledThreadPoolExecutor踩過最痛的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08java線程之使用Runnable接口創(chuàng)建線程的方法
本篇文章介紹了,java中使用Runnable接口創(chuàng)建線程的方法。需要的朋友參考下2013-05-05Spring?Data?JPA關(guān)系映射@OneToOne實例解析
這篇文章主要為大家介紹了Spring?Data?JPA關(guān)系映射@OneToOne實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08java ArrayList.remove()的三種錯誤用法以及六種正確用法詳解
這篇文章主要介紹了java ArrayList.remove()的三種錯誤用法以及六種正確用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01解決SpringBoot的@DeleteMapping注解的方法不被調(diào)用問題
這篇文章主要介紹了解決SpringBoot的@DeleteMapping注解的方法不被調(diào)用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01java使用POI讀取properties文件并寫到Excel的方法
這篇文章主要介紹了java使用POI讀取properties文件并寫到Excel的方法,涉及java操作properties文件及Excel文件的相關(guān)技巧,需要的朋友可以參考下2015-06-06詳解Spring Data Jpa當屬性為Null也更新的完美解決方案
這篇文章主要介紹了詳解Spring Data Jpa當屬性為Null也更新的完美解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02