基于javaweb的在线电子书小说阅读系统(java+layui+springboot+mysql+html+ftp)

基于javaweb的在线电子书小说阅读系统(java+layui+springboot+mysql+html+ftp)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

20220519002239

20220519002240

20220519002242

20220519002243

20220519002244

基于javaweb+SpringBoot的在线电子书在线小说阅读系统(java+Layui+Springboot+Maven+mysql+HTML+FTP)

一、项目介绍 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

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

// 判断登陆成功,将用户数据保存到 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的数据干掉即可

request.getSession().setAttribute(“reader”,null);

// 重定向和转发的区别?

// 重定向: 1. 客户端行为 2. 两次请求 3. 不能携带前一次请求的数据

// 转发: 1. 服务器端行为 2. 一次请求 3. 能够携带前一次请求的数据

return “redirect:/loginPage”;

// @RequestMapping(“/login”)

// @ResponseBody// 该方法返回的是json字符串

// public ResultData login(Admin admin,HttpServletRequest request){

// // 登陆操作

// ResultData resultData = adminService.login(admin);

// // 判断登陆成功,将用户数据保存到 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 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 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 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);

/**

  • 编辑读者

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

};

/**

  • 批量恢复

  • @param ids

  • @return

*/

@RequestMapping(“/reader/huifuAll”)

@ResponseBody

public ResultData huifuDelete(@RequestParam(name = “ids”) String ids){

// 将ids转换成数组

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

// 编辑小说状态

@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转为数组

String[] idArr = ids.split(“,”);

//将字符串数组转为int数组

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 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 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 bookList = bookService.findByType(bookType);

List randList = bookService.findRandList();

//将字符串数组转为int数组

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 bookList = bookService.findByLikeName(likeName);

List randList = bookService.findRandList();

//将字符串数组转为int数组

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 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) {

PageInfo pageInfo = bookOrderService.searchList(page,pageSize,keyword);

//将数据转发到页面

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转换成数组

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

/**

  • 编辑作者状态信息

  • @param authorId : 当前作者Id

  • @param authorStatus: 作者当前状态

  • @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转换成数组

String[] idArr=ids.split(“,”);

return authorService.batchDelete(idArr);

};

/**

  • 批量恢复

  • @param ids

  • @return

*/

@RequestMapping(“/author/huifuAll”)

@ResponseBody

public ResultData huifuDelete(@RequestParam(name = “ids”) String ids){

// 将ids转换成数组

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 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 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转为数组

String[] idArr = ids.split(“,”);

//将字符串数组转为int数组

return historyService.batchDelete(idArr);


  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理:管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理:管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值