基于javaweb+mysql的ssm+maven在线小说阅读系统(读者+作者+管理员)(java+ssm+jsp+mysql+maven)

基于javaweb+mysql的ssm+maven在线小说阅读系统(读者+作者+管理员)(java+ssm+jsp+mysql+maven)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SSM+Maven在线小说阅读系统(读者+作者+管理员)(java+ssm+jsp+mysql+maven)

一、项目简述

功能包括: 1:用户及主要操作功能 游客可以浏览网站的主页,登陆注册,小说湿度,下单购 买,订单查询,个人信息查询,留言评论。 2:作者模块 作者登录注册,小说发表,小说维护等等。 3:作者模块 管理员登录,读者管理,小说管理,评论管理,充值订单 管理,订阅订单管理,折扣活动管理等等

二、项目运行

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

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。


        return resultData;
    }
    @RequestMapping("/rloginPage")
    public String rloginPage(){
        return "front/register";
    }

    /**
     * 退出登陆的方法
     * @return
     */
    @RequestMapping("/logout")
    public String logout(HttpServletRequest request){
        // 只需要去将保存到session的数据干掉即可
        request.getSession().setAttribute("admin",null);

        // 重定向和转发的区别?
        // 重定向: 1. 客户端行为 2. 两次请求 3. 不能携带前一次请求的数据
        // 转发: 1. 服务器端行为 2. 一次请求 3. 能够携带前一次请求的数据
        return "redirect:/loginPage";
    }
}

@Controller
public class MessageController {
    @Autowired
    private MessageService messageService;

    @Autowired
    private BookService bookService;

    @RequestMapping("/message/list")
        return "novel";
    }

//    留言编辑页面
    @RequestMapping("/message/editPage")
    public String editPage(Model model,Integer id){
//        从数据库查询到的数据
        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转换成数组
        String[] idArr=ids.split(",");
        return messageService.mesDelete(idArr);
    }
}

@Controller
public class DiscountController {
    @Autowired
    private DiscountService discountService;


    /**
     * 员工编辑页面
     * @return
     */
    @RequestMapping("/admin/editPage")
    public String editPage(Model model,Integer id){
        // 从数据库查询到的数据
        Admin dbAdmin = adminService.findById(id);

        model.addAttribute("admin",dbAdmin);
        return "admin/admin-edit";
    }

    /**
     * 更新员工基本信息的方法
     * @param admin
     * @return
     */
    @RequestMapping("/admin/edit")
    @ResponseBody
    public ResultData edit(Admin admin){
        return adminService.edit(admin);
    }

    /**
     * 批量删除
     * @return
     */
    @RequestMapping("/admin/deleteAll")
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name = "ids") String ids){
        // 将ids转换成数组
        String[] idArr = ids.split(",");

        return adminService.batchDelete(idArr);
    }

    @RequestMapping("/admin/upload")
    @ResponseBody
    public ResultData upload(MultipartFile file){

        return adminService.upload(file);
    }

    /**
     * excel数据的导出
     */
    @RequestMapping("/admin/export")
    public void export(HttpServletResponse response) throws IOException {

        // 查询到所有的数据
    public ResultData deleteAll(@RequestParam(name="ids") String ids){
        //将ids转为数组
        String[] idArr = ids.split(",");
        //将字符串数组转为int数组
        return historyService.batchDelete(idArr);

    }

}

@Controller
public class CollectController {
    @Autowired
    private CollectService collectService;
    @RequestMapping("reader/collect")
    public String list(Model model,
                       @RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "5") Integer pageSize){
        PageInfo<Collect> pageInfo=collectService.list(page,pageSize);
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);
        return "reader/collect-list";
    }

    //搜索读者显示列表
    @RequestMapping("/reader/collectsearch")
    public String searchList(Model model,
                             @RequestParam(defaultValue = "1") Integer page,
                             @RequestParam(defaultValue = "5") Integer pageSize,
                             String keyword){

        PageInfo<Collect> pageInfo = collectService.searchList(page, pageSize, keyword);
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);

        model.addAttribute("chapter",dbChapter);

        return "chapter/chapter-edit";
    }

    //更新基本信息
    @RequestMapping("/chapter/edit")
    @ResponseBody
    public ResultData edit(Chapter chapter){
        System.out.println("qqqqqqqqqqqq"+chapter.toString());
        return  chapterService.edit(chapter);
    }

    //    search
    @RequestMapping("/chapter/search")
    public String searchList(Model model,
                             @RequestParam(defaultValue = "1") Integer page,
                             @RequestParam(defaultValue = "3") Integer pageSize,
                             String keyword) {
        PageInfo<Chapter> pageInfo=chapterService.searchList(page,pageSize,keyword);

        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);
        return  "chapter/chapter-list";
    }
    //      批量删除
    @RequestMapping("/chapter/deleteAll")
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name="ids") String ids){
        //将ids转为数组
        String[] idArr = ids.split(",");
        //将字符串数组转为int数组
        return chapterService.batchDelete(idArr);

    }

    @RequestMapping("/chapter/findByBookId")
    @ResponseBody
    public List<Chapter> findByBookId(Integer bookId){
        List<Chapter> chapterList = chapterService.findByBookId(bookId);
        int a = 0;
        return chapterList;
    }

    @RequestMapping("/chapter/upload")
    @ResponseBody
    public ResultData upload(MultipartFile file){
        int a=10;
        return chapterService.upload(file);
    }

}

        if (ids.length == 0) {
            return new ResultData(8001, "批量删除数据异常");
        }
        if (bookMapper.batchUpdateStatus(ids)) {
            return new ResultData(200, "批量删除数据成功");
        }
        return new ResultData(8002, "批量删除数据失败");
    }

    //search
    @Override
    public PageInfo<Book> searchList(Integer page, Integer pageSize, String keyword) {
        PageHelper.startPage(page, pageSize);
        List<Book> list = bookMapper.findByName("%" + keyword + "%");
        return new PageInfo<>(list);
    }

    @Override
    public PageInfo<Book> searchList1(Integer page, Integer pageSize, String keyword1) {
        PageHelper.startPage(page, pageSize);
        List<Book> list = bookMapper.findByAuthor("%" + keyword1 + "%");
        return new PageInfo<>(list);
    }

    /**
     * 通过类型查询
     *
     * @param bookType
     * @return
     */
    @Override
    public List<Book> findByType(Integer bookType) {
        List<Book> list = bookMapper.findByType(bookType);
        return list;
    }

    /**
     * 通过类型查询
     *
     * @param
     * @return
     */
    @Override
    public List<Book> findRandList() {
        List<Book> list = bookMapper.findList(new HashMap<>());
        List<Book> bookList = new ArrayList<Book>();
        for (int i = 0; i < Math.min(6, bookList.size() + 1); i++) {
            int rand = (int) ((Math.random()) * bookList.size());
            bookList.add(list.get(rand));
        }
        return bookList;
    }

@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);

//将数据转发到页面
        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) {
        // 将ids转换成数组
        String[] idArr = ids.split(",");

        return adminService.batchDelete(idArr);
    }

    @RequestMapping("/admin/upload")
    @ResponseBody
    public ResultData upload(MultipartFile file){

        return adminService.upload(file);
    }

    /**
     * excel数据的导出
     */
    @RequestMapping("/admin/export")
    public void export(HttpServletResponse response) throws IOException {

        // 查询到所有的数据
        List<Admin> list = adminService.list();

        Workbook workbook = ExcelUtil.exportExcel(list);
        // 告诉浏览器 需要下载文件
        response.setHeader("Content-Disposition","attachment;fileName="+System.currentTimeMillis()+".xlsx");

        //获取输出流
        ServletOutputStream outputStream = response.getOutputStream();
        // 输出表格数据
        workbook.write(outputStream);
        // 关闭资源
        outputStream.close();
        workbook.close();

    }

}

    /**
     * 登陆操作
     * @return
     */
    @RequestMapping("/login")
    @ResponseBody// 该方法返回的是json字符串
    public ResultData login(Admin admin,HttpServletRequest request){
        request.getSession().setAttribute("currentLoginAuthorId", null);
        // 登陆操作
        ResultData resultData = adminService.login(admin);
        // 判断登陆成功,将用户数据保存到 session中
        // 如何获取session对象?
        if(resultData.getCode() == 200){
            HttpSession session = request.getSession();
            session.setAttribute("admin",resultData.getData());
        }

        return resultData;
    }
    @RequestMapping("/rloginPage")
    public String rloginPage(){
        return "front/register";
    }

    /**
     * 退出登陆的方法
     * @return
     */
    @RequestMapping("/logout")
    public String logout(HttpServletRequest request){
        // 只需要去将保存到session的数据干掉即可
        request.getSession().setAttribute("admin",null);

        // 重定向和转发的区别?
        // 重定向: 1. 客户端行为 2. 两次请求 3. 不能携带前一次请求的数据
        // 转发: 1. 服务器端行为 2. 一次请求 3. 能够携带前一次请求的数据
        return "redirect:/loginPage";
    }
}

    }

    /**
     * 批量删除
     * @return
     */
    @RequestMapping("/admin/deleteAll")
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name = "ids") String ids){
        // 将ids转换成数组
        String[] idArr = ids.split(",");

        return adminService.batchDelete(idArr);
    }

    @RequestMapping("/admin/upload")
    @ResponseBody
    public ResultData upload(MultipartFile file){

        return adminService.upload(file);
    }

    /**
     * excel数据的导出
     */
    @RequestMapping("/admin/export")
    public void export(HttpServletResponse response) throws IOException {

        // 查询到所有的数据
        List<Admin> list = adminService.list();

        Workbook workbook = ExcelUtil.exportExcel(list);
        // 告诉浏览器 需要下载文件
        response.setHeader("Content-Disposition","attachment;fileName="+System.currentTimeMillis()+".xlsx");

        //获取输出流
        ServletOutputStream outputStream = response.getOutputStream();
        // 输出表格数据
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name="ids") String ids){
        //将ids转为数组
        String[] idArr = ids.split(",");
        //将字符串数组转为int数组
        return historyService.batchDelete(idArr);

    }

}

@Controller
public class CollectController {
    @Autowired
    private CollectService collectService;
    @RequestMapping("reader/collect")
    public String list(Model model,
                       @RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "5") Integer pageSize){
        PageInfo<Collect> pageInfo=collectService.list(page,pageSize);
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);
        return "reader/collect-list";
    }

    //搜索读者显示列表
    @RequestMapping("/reader/collectsearch")
    public String searchList(Model model,
                             @RequestParam(defaultValue = "1") Integer page,
        model.addAttribute("messageList",messageList);
        return "novel";
    }

//    留言编辑页面
    @RequestMapping("/message/editPage")
    public String editPage(Model model,Integer id){
//        从数据库查询到的数据
        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转换成数组
        String[] idArr=ids.split(",");
        return messageService.mesDelete(idArr);
    }
}

@Controller
public class DiscountController {
    @Autowired
    /**
     * 编辑读者状态信息
     * @param readerId : 当前读者Id
     * @param readerStatus: 读者当前状态
     * @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转换成数组
        String[] idArr=ids.split(",");
        return readerService.batchDelete(idArr);
    };

    /**

    @RequestMapping("/rechargeorder/add")
    @ResponseBody
    public ResultData add(RechargeOrder rechargeOrder) {

        return rechargeOrderService.add(rechargeOrder);
    }

    @RequestMapping("/rechargeorder/editStatus")
    @ResponseBody
    public ResultData editStatus(Integer id, Integer status) {
        return rechargeOrderService.updateStatus(id,status);

    }
    @RequestMapping("/rechargeorder/deleteAll")
    @ResponseBody
    public ResultData deleteAll(@RequestParam(name = "ids") String ids){
        // 将ids转换成数组
        String[] idArr = ids.split(",");

        return rechargeOrderService.batchDelete(idArr);
    }

    @RequestMapping("/rechargeorder/delete")
    @ResponseBody
    public  ResultData delete(Integer rechargeId,Integer rechargeStatus){
        return  rechargeOrderService.delete(rechargeId,rechargeStatus);
    }

}

@Controller
public class HistoryController {
    @Autowired

@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";
    }


@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);

//将数据转发到页面
        model.addAttribute("list",pageInfo.getList());
        model.addAttribute("pageInfo",pageInfo);

        return "message/message-list";
    }
    @RequestMapping("/message/addMessage")
    public  String addMessage(){
        return  "message/message-add";
    }

    }

    //搜索读者显示列表
    @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);
    }

    /**
     * 编辑读者状态信息
     * @param readerId : 当前读者Id
     * @param readerStatus: 读者当前状态
     * @return
     */
    @RequestMapping("/reader/editStatus")
    @ResponseBody
    public ResultData editStatus(Integer readerId, Integer readerStatus){
        return readerService.updateStatus(readerId, readerStatus);
    }

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值