基于Springboot的在线网络小说阅读网站的设计与实现

摘  要

现在是互联网快速发展的时代,网络是一种新媒体的类型,被称为“第四媒体”,随着越来越多的人进入互联网时代,网络阅读一种由文本的变化所带来的新的阅读方式,借助计算机、网络技术来获取多媒体合成信息和知识的阅读行为,对人们来说是一个新的阅读体验,改变了阅读的媒介(以前是纸质的),是时代的进步。

基于Springboot的在线网络小说阅读网站主要实现了在线写作、在线阅读、评价小说、更新章节、查询小说、将小说加入书架、阅读记录、购买平台VIP来阅读收费小说等功能。在本网站中一个人可以创作多本小说、用户作为其他人的读者也作为自己作品作者,可以通过查询功能根据小说名与作者名来查询自己想要观看的小说,在购买一个月、三个月等不同月份的平台VIP后可以看其他作者写的收费小说,在支付成功后会显示截至到期的期限。

本系统使用纯面向对象的Java语言,Springboot作为后端框架,MySQL数据库等技术进行开发,使用JSP+CSS+JS对网站前端界面进行设计,更采用了JQuery这款轻量级的JS框架。用Navicat for MySQL管理MySQL数据库。

关键词 Springboot;阅读;Java语言;MySQL数据库

演示视频(去blibli观看):

springboot mybatis在线小说网站java小说网站毕业设计

 YML配置:

server:
  port: 8080
  servlet:
    context-path: /novel
    multipart:
      max-file-size: 10MB  #单个文件
      max-request-size: 100MB #总文件大小

spring:
     datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/db_novel?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8
        username: root
        password: root
     jpa:
       show-sql: true
     mvc:
       view:
         prefix: /WEB-INF/views/
         suffix: .jsp


mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.novel.entity
   #devtools插件
devtools:
    restart:
      enabled: true #是否支持热部署
#mybaatis分页插件pagehelper设置
pagehelper:
  pagehelperDialect: mysql
  reasonable: true
  support-methods-arguments: true

  # 打印sql
logging:
    level:
       com.novel.dao: DEBUG

支付宝沙箱支付:


    /**
     * 用户充值支付
     */
    @RequestMapping("userPay")
    public void pay(Integer month,HttpServletResponse rep, Model model,HttpSession session){
        User user = (User) session.getAttribute("user");
        session.setAttribute("month",month);
        //接入支付宝沙箱支付
//获得初始化的AlipayClient
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        //设置请求参数
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        alipayRequest.setReturnUrl(AlipayConfig.return_url);
        //alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
        try{
        //商户订单号,商户网站订单系统中唯一订单号,必填
        String out_trade_no = UUID.randomUUID().toString();
        //付款金额,必填
        int total = month*10;
        String total_amount =String.valueOf(total);
        //订单名称,必填
        String subject   ="用户"+user.getUsername()+"订单";
        //商品描述,可空
        String body = "";

        alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
                + "\"total_amount\":\""+ total_amount +"\","
                + "\"subject\":\""+ subject +"\","
                + "\"body\":\""+ body +"\","
                + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");

        //请求
        String result = alipayClient.pageExecute(alipayRequest).getBody();

        rep.setContentType("text/html;charset=" + AlipayConfig.charset);
        //直接将完整的表单html输出到页面
        rep.getWriter().write(result);
        rep.getWriter().flush();
        rep.getWriter().close();
        }catch (Exception e){
           e.printStackTrace();
        }
     }

    /**
     * 支付成功以后回调
     * @return
     */
    @RequestMapping("payreturn")
     public String payreturn(HttpSession session,Model model){
        User user = (User) session.getAttribute("user");
        int month = (int) session.getAttribute("month");
        Order order = orderService.selectOneOrder(user.getUserid());
        int num=0;
        if(order!=null){
            int i = new Date().compareTo(order.getEndtime());
            if(i<0 || DateUtil.getStringDate(new Date()).equals(DateUtil.getStringDate(order.getEndtime()))){
                //更新
                order.setEndtime(DateUtil.subMonth(order.getEndtime(),month));
                order.setMonth(order.getMonth()+month);
                order.setTotalmoney(order.getTotalmoney()+(month*10));
                orderService.updateByPrimaryKey(order);
            }else{
                num++;
            }
        }else{
            num++;
        }

        if(num>0){
            order = new Order();
            order.setUserid(user.getUserid());
            order.setUsername(user.getUsername());
            order.setCreatetime(new Date());
            order.setStarttime(new Date());
            order.setEndtime(DateUtil.subMonth(new Date(),month));
            order.setMonth(month);
            order.setTotalmoney(month*10);
            orderService.insert(order);
        }
        session.setAttribute("uservip",1);
        return "redirect:/order/toPayPage";
     }

}

基于SpringBoot在线原创阅读网的设计实现可以包括以下几个步骤: 1. 确定需求:首先,需要明确在线原创阅读网的功能和特点,例如用户注册登录、小说分类浏览、小说搜索、章节阅读、评论和评分等功能。 2. 数据库设计:根据需求,设计数据库模型,包括用户表、小说表、章节表、评论表等。可以使用MySQL或其他关系型数据库进行存储。 3. 后端开发:使用SpringBoot框架进行后端开发。可以使用Spring MVC处理请求和响应,使用Spring Data JPA进行数据库操作,使用Spring Security进行用户认证和授权。 4. 前端开发:使用HTML、CSS和JavaScript等前端技术进行页面设计和开发。可以使用Bootstrap等前端框架提供样式和布局,使用AJAX进行异步请求和数据交互。 5. 实现功能:根据需求,逐步实现各个功能模块,例如用户注册登录、小说分类浏览、小说搜索、章节阅读、评论和评分等。可以使用RESTful API进行接口设计和开发。 6. 测试和优化:进行单元测试和集成测试,确保系统的稳定性和功能完整性。根据测试结果进行优化和调整,提高系统的性能和用户体验。 7. 部署和上线:将系统部署到服务器上,并进行配置和优化。可以使用Nginx作为反向代理服务器,使用Docker进行容器化部署,使用域名和SSL证书进行访问和安全保护。 8. 运维和维护:定期监控系统运行状态,及时处理异常和故障。根据用户反馈和需求变化,进行功能更新和版本迭代。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值