SSM框架---开发免费小说网站(h5+电脑端)

前言

最近学习ssm框架,借此设计开发了一个小说网站,后端技术框架SpringMVC+thymeleaf+mybatis+mysql+redis,前端ui和部分代码参考了几个知名小说网站。

设计说明

前端页面功能设计

  • 前端页面目录
页面路径描述优先级
index.html主页1
rangk.html排行2
category.html分类2
search.html搜索2
book/bookDetail.html书本详情2
book/bookView.html书本阅读2
user/login.html用户登录1
user/register.html用户注册1
user/index.html用户首页3
user/account.html账户3
user/bookShelf.html书架3
user/history.html用户历史3
user/info.html用户资料3
  • 部分页面展示(电脑)
    1
    1
    1
    1
    1

1

  • 页面展示(H5)

1 1
11
1

后端模块设计

  • 文件目录
路径说明路径说明
com.rightstar.bean实体类com.rightstar.bean.mapper实体类mybatis映射
com.rightstar.controller控制器com.rightstar.filter过滤器
com.rightstar.dao.service.mapperDAO数据服务接口com.rightstar.dao.service.implDAO服务接口实现类
com.rightstar.util工具类
  • 目录截图
    11
  • bean目录及service
    1 1

数据库设计

表名描述表名描述
MyUser用户表Books小说表
UserInfo用户信息表Account账户表
chapter小说目录Recommend小说推荐表
Rank排行榜表Bookshelf书架
History观看历史表
  • 初始化 init.sql文件
DROP DATABASE IF EXISTS shen;
CREATE DATABASE shen;
use shen;
DROP TABLE IF EXISTS myuser;
DROP TABLE IF EXISTS books;
DROP TABLE IF EXISTS userinfo;
DROP TABLE IF EXISTS account;
DROP TABLE IF EXISTS recommend;
DROP TABLE IF EXISTS ranktable;
DROP TABLE IF EXISTS bookshelf;

create table myuser(
     id int primary key auto_increment,
     name varchar(255) UNIQUE  not null,
     password varchar(255) not null,
     note varchar(20),
     UNIQUE INDEX userName(name)
)Engine=InnoDB default charset utf8;

create table userinfo(
     id int primary key,
     name varchar(255) UNIQUE not null,
     userLevel int default 1 not null,
     userExp int default 1 not null,
     signTime varchar(255),
     phone varchar(255),
     email varchar(255),
     qq varchar(255),
     weixin varchar(255),
     foreign key (id) references myuser (id) ON DELETE CASCADE ON UPDATE CASCADE,
     foreign key (name) references myuser (name) ON DELETE CASCADE ON UPDATE CASCADE
     
)Engine=InnoDB default charset utf8;

create table account(
     id int primary key,
     money float not null default 0,
     goldCoin int not null default 0,
     foreign key(id) references myuser(id) ON DELETE CASCADE ON UPDATE CASCADE
     
)Engine=InnoDB default charset utf8;

-- -- 触发器连级创建account userinfo
create trigger after_insert_myuser after insert on myuser for each row
begin
    insert into userinfo(id,name,signTime) values(new.id,new.name, DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'));
    insert into account(id,money,goldcoin) values(new.id,0,0);  
end;


create table books(
     id int primary key,
     bookType varchar(20) not null default '其他',  
     name varchar(255),
     author varchar(50),
     chepterNum int default 0,
     info varchar(255),
     imgURL varchar(255),
     updateTime varchar(255),
     viewNum int default 0,
     downloadNum int default 0,
     fileUrl varchar(255),
     index bookTypeIndex(bookType)
     
)Engine=InnoDB default charset utf8;

create table chapter(
    id int primary key  ,
    chapter LONGTEXT comment '存放书本json章节字符串',
    foreign key(id) references books(id) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;




create table recommend(
     id int not null primary key auto_increment,
     bookID int not null,
     bookType varchar(20) not null default '其他',
     foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
     foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
     
     
)Engine=InnoDB default charset utf8;



create table ranktable(
     id int primary key auto_increment,
     bookID int,
     bookType varchar(20),
     hotNum int not null default 0,
     foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
     foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
     
     
)Engine=InnoDB default charset utf8;

create table bookshelf(
     id int primary key auto_increment,
     userID int,
     bookID int not null,
     bookType varchar(20) not null default '其他',
     historyFlag int not null default 1,
     foreign key(userID) references myuser(id) ON DELETE CASCADE ON UPDATE CASCADE,
     foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
     foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
     
)Engine=InnoDB default charset utf8;



后言

源码开源啦 查看我的下一篇博客(*^▽^*)
神来免费小说网站(开源)IDEA源码+小说压缩文件

  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,需要在项目中添加xxl-sso-client的依赖,可以通过Maven或者手动添加jar包的方式。然后,在Spring配置文件中配置xxl-sso-client的相关信息,如下所示: ``` <!-- 配置xxl-sso-client --> <bean id="xxlSsoClient" class="com.xxl.sso.client.filter.XxlSsoClientFilter"> <property name="serverUrlPrefix" value="${sso.server.url.prefix}" /> <property name="clientId" value="${sso.client.id}" /> <property name="clientSecret" value="${sso.client.secret}" /> <property name="logoutPath" value="${sso.client.logout.path:/logout}" /> <property name="loginPath" value="${sso.client.login.path:/login}" /> <property name="excludes" value="${sso.client.excludes}" /> </bean> <!-- 配置拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.xxl.sso.client.filter.XxlSsoClientInterceptor"> <property name="xxlSsoClient" ref="xxlSsoClient" /> </bean> </mvc:interceptor> </mvc:interceptors> ``` 其中,`${sso.server.url.prefix}`为xxl-sso-server的地址前缀,`${sso.client.id}`和`${sso.client.secret}`为xxl-sso-client的身份识别信息,`${sso.client.logout.path}`和`${sso.client.login.path}`为退出登录和登录的路径,`${sso.client.excludes}`为不需要拦截的路径。 最后,在Controller中添加`@XxlSsoClient`注解,表示该接口需要进行身份认证。 ``` @Controller public class UserController { @XxlSsoClient @RequestMapping("/user/info") @ResponseBody public String userInfo(HttpServletRequest request) { // 获取用户信息 XxlSsoUser xxlUser = (XxlSsoUser) request.getAttribute(XxlSsoConstant.XXL_SSO_USER); return "user info: " + xxlUser.toString(); } } ``` 以上就是集成xxl-sso到SSM框架中的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值