最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 實戰(zhàn)項目之小說在線閱讀系統(tǒng)的實現(xiàn)流程

 更新時間:2021年11月20日 15:54:25   作者:qq_1334611189  
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)前臺閱讀后臺管理的小說在線閱讀系統(tǒng),大家可以在過程中查缺補漏,提升水平

一、項目簡述

功能包括(管理員和游客角色):

1:用戶及主要操作功能 游客可以瀏覽網(wǎng)站的主頁,但是需要注冊為會員后部分小 說才能對網(wǎng)絡(luò)小說進免費行閱讀或閱讀。用戶可以收藏書 架,留言評論,上次閱讀,閱讀歷史,章節(jié)選擇等等功 能。

2:管理模塊 網(wǎng)絡(luò)小說管理模塊包括不同網(wǎng)絡(luò)小說類別的添加,刪除以 及網(wǎng)絡(luò)小說的上傳,刪除管理??梢园ㄎ鋫b小書,都市 言情,穿越小書等各個類等等功能。

二、項目運行

環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

項目技術(shù): JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax等等。

讀者操作業(yè)務(wù)控制層:

@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 : 當(dāng)前讀者Id
     * @param readerStatus: 讀者當(dāng)前狀態(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 MessageController {
    @Autowired
    private MessageService messageService;
 
    @Autowired
    private BookService bookService;
 
    @RequestMapping("/message/list")
    public String list(Model model,
                       @RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "5") Integer pageSize){
 
        PageInfo<Message> pageInfo=messageService.list(page,pageSize);
 
 
//將數(shù)據(jù)轉(zhuǎn)發(fā)到頁面
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);
 
 
        return "message/message-list";
    }
    @RequestMapping("/message/addMessage")
    public  String addMessage(){
        return  "message/message-add";
    }
 
 
 
//    搜索留言顯示列表
    @RequestMapping("/message/search")
    public String searchList(Model model,@RequestParam(defaultValue = "1") Integer page,
                             @RequestParam(defaultValue = "5") Integer pageSize,
                             String keyword){
        PageInfo<Message> pageInfo=messageService.searchList(page,pageSize,keyword);
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);
 
        return "message/message-list";
    }
//    添加留言
    @RequestMapping(value = "/message/add",method = RequestMethod.POST)
    public String  add(Message message, HttpSession session,Model model){
        /*Reader reader  = (Reader)session.getAttribute("reader");
        message.setReaderId(reader.getReaderId());*/
        message.setReaderId(2);
        ResultData resultData = messageService.add(message);
 
        Book book = bookService.findById(message.getBookId());
        List<Message> messageList = messageService.findByBookId(message.getBookId());
 
        model.addAttribute("book",book);
        model.addAttribute("messageList",messageList);
        return "novel";
    }
 
 
//    留言編輯頁面
    @RequestMapping("/message/editPage")
    public String editPage(Model model,Integer id){
//        從數(shù)據(jù)庫查詢到的數(shù)據(jù)
        Message dbMessage = messageService.findById(id);
 
        model.addAttribute("message",dbMessage);
        return "message/message-edit";
    }
 
//    更新留言信息的方法
    @RequestMapping("/message/edit")
    @ResponseBody
    public ResultData edit(Message message){
 
        return messageService.edit(message);
 
    }
 
 
//    批量刪除
    @RequestMapping("/message/deleteAll")
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name = "ids") String ids){
//        將ids轉(zhuǎn)換成數(shù)組
        String[] idArr=ids.split(",");
        return messageService.mesDelete(idArr);
    }
}

圖書列表控制層:

@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 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(",");
        //將字符串?dāng)?shù)組轉(zhuǎn)為int數(shù)組
        return historyService.batchDelete(idArr);
 
    }
 
}

到此這篇關(guān)于Java 實戰(zhàn)項目之小說在線閱讀系統(tǒng)的實現(xiàn)流程的文章就介紹到這了,更多相關(guān)Java 小說在線閱讀系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java圖像處理工具類

    Java圖像處理工具類

    這里給大家分享了一個java常用的圖像處理工具類,包含縮放圖像、切割圖像、圖像類型轉(zhuǎn)換、彩色轉(zhuǎn)黑白、文字水印、圖片水印等,有需要的小伙伴參考下。
    2015-02-02
  • 如何用java實現(xiàn)分頁查詢

    如何用java實現(xiàn)分頁查詢

    這篇文章主要介紹了如何用java實現(xiàn)分頁查詢,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • IDEA修改idea64.exe.vmoptions文件以及解決coding卡頓問題

    IDEA修改idea64.exe.vmoptions文件以及解決coding卡頓問題

    IDEA修改idea64.exe.vmoptions文件以及解決coding卡頓問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 關(guān)于Java中重定向傳參與取值

    關(guān)于Java中重定向傳參與取值

    這篇文章主要介紹了Java中重定向傳參與取值問題,重定向不僅可以重定向到當(dāng)前應(yīng)用程序中的其他資源,還可以重定向到同一個站點上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 淺談Java循環(huán)中的For和For-each哪個更快

    淺談Java循環(huán)中的For和For-each哪個更快

    本文主要介紹了淺談Java循環(huán)中的For和For-each哪個更快,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java實現(xiàn)堆算法的使用示例

    Java實現(xiàn)堆算法的使用示例

    本文主要介紹了Java實現(xiàn)堆算法的使用示例,Java中提供了一個Heap類,可以用來實現(xiàn)堆的操作,可以實現(xiàn)如插入、刪除、獲取最大最小值等,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Spring如何使用通知?Advice?管理事務(wù)

    Spring如何使用通知?Advice?管理事務(wù)

    Spring 默認(rèn)采用聲明式事務(wù)管理(通過配置的方式) ,也可以實現(xiàn)編程式事務(wù)管理,這篇文章主要介紹了Spring使用通知Advice管理事務(wù),需要的朋友可以參考下
    2023-06-06
  • Spring Boot 中整合 MyBatis-Plus詳細(xì)步驟(最新推薦)

    Spring Boot 中整合 MyBatis-Plus詳細(xì)步驟(最新推薦)

    本文詳細(xì)介紹了如何在SpringBoot項目中整合MyBatis-Plus,包括整合步驟、基本CRUD操作、分頁查詢、批量操作、自定義SQL操作等,通過這些步驟,開發(fā)者可以快速實現(xiàn)數(shù)據(jù)庫操作,提高開發(fā)效率,感興趣的朋友一起看看吧
    2025-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解

    Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解

    在之前的學(xué)習(xí)中,我們主要了解了很多 Java 的 基本語法,但是在之后的 Java學(xué)習(xí)中,了解基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的知識非常重要,數(shù)據(jù)結(jié)構(gòu)的思想可以幫助我們更加清晰明白的了解 Java 的解題思路等等.今天我們就來開始學(xué)習(xí)實現(xiàn)一個Java基礎(chǔ)的單鏈表,需要的朋友可以參考下
    2021-05-05
  • MyBatis-Plus+達夢數(shù)據(jù)庫實現(xiàn)高效數(shù)據(jù)持久化的示例

    MyBatis-Plus+達夢數(shù)據(jù)庫實現(xiàn)高效數(shù)據(jù)持久化的示例

    這篇文章主要介紹了MyBatis-Plus和達夢數(shù)據(jù)庫實現(xiàn)高效數(shù)據(jù)持久化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08

最新評論

福建省| 陆丰市| 酉阳| 怀宁县| 寿光市| 遂溪县| 左云县| 湖北省| 兴和县| 东港市| 丰宁| 鲁甸县| 湘阴县| 临猗县| 康乐县| 阳西县| 穆棱市| 包头市| 阿拉尔市| 霍州市| 茌平县| 格尔木市| 淮南市| 景泰县| 大足县| 屯留县| 桂阳县| 都匀市| 绥化市| 屯昌县| 罗平县| 盐山县| 锦州市| 张家港市| 行唐县| 宁海县| 汶上县| 方城县| 万盛区| 两当县| 镇沅|