源码获取:俺的博客首页 "资源" 里下载!

项目介绍

用户角色包含以下功能:
用户登录,查看商品详情,按分类查看,查看我的书架,上传二手书等功能。
PS:这个没有管理员角色。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;

技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+CSS+JavaScript+jquery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ssm_sebook_market 登录

图书管理控制层:

@Controller
public class BookController {@Autowiredprivate BookService bookService;@Autowiredprivate LendService lendService;private Date getDate(String pubstr) {try {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");return df.parse(pubstr);} catch (ParseException e) {e.printStackTrace();return new Date();}}@RequestMapping("/queryBook.html")public ModelAndView queryBookDo(String searchWord) {if (bookService.matchBook(searchWord)) {ArrayList<Book> books = bookService.queryBook(searchWord);ModelAndView modelAndView = new ModelAndView("admin_books");modelAndView.addObject("books", books);return modelAndView;} else {return new ModelAndView("admin_books", "error", "没有匹配的图书");}}@RequestMapping("/reader_querybook_do.html")public ModelAndView readerQueryBookDo(String searchWord) {if (bookService.matchBook(searchWord)) {ArrayList<Book> books = bookService.queryBook(searchWord);ModelAndView modelAndView = new ModelAndView("reader_books");modelAndView.addObject("books", books);return modelAndView;} else {return new ModelAndView("reader_books", "error", "没有匹配的图书");}}@RequestMapping("/admin_books.html")public ModelAndView adminBooks() {ArrayList<Book> books = bookService.getAllBooks();ModelAndView modelAndView = new ModelAndView("admin_books");modelAndView.addObject("books", books);return modelAndView;}@RequestMapping("/book_add.html")public ModelAndView addBook() {return new ModelAndView("admin_book_add");}@RequestMapping("/book_add_do.html")public String addBookDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) {book.setPubdate(getDate(pubstr));if (bookService.addBook(book)) {redirectAttributes.addFlashAttribute("succ", "图书添加成功!");} else {redirectAttributes.addFlashAttribute("succ", "图书添加失败!");}return "redirect:/admin_books.html";}@RequestMapping("/updatebook.html")public ModelAndView bookEdit(HttpServletRequest request) {long bookId = Long.parseLong(request.getParameter("bookId"));Book book = bookService.getBook(bookId);ModelAndView modelAndView = new ModelAndView("admin_book_edit");modelAndView.addObject("detail", book);return modelAndView;}@RequestMapping("/book_edit_do.html")public String bookEditDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) {book.setPubdate(getDate(pubstr));if (bookService.editBook(book)) {redirectAttributes.addFlashAttribute("succ", "图书修改成功!");} else {redirectAttributes.addFlashAttribute("error", "图书修改失败!");}return "redirect:/admin_books.html";}@RequestMapping("/admin_book_detail.html")public ModelAndView adminBookDetail(HttpServletRequest request) {long bookId = Long.parseLong(request.getParameter("bookId"));Book book = bookService.getBook(bookId);ModelAndView modelAndView = new ModelAndView("admin_book_detail");modelAndView.addObject("detail", book);return modelAndView;}@RequestMapping("/reader_book_detail.html")public ModelAndView readerBookDetail(HttpServletRequest request) {long bookId = Long.parseLong(request.getParameter("bookId"));Book book = bookService.getBook(bookId);ModelAndView modelAndView = new ModelAndView("reader_book_detail");modelAndView.addObject("detail", book);return modelAndView;}@RequestMapping("/admin_header.html")public ModelAndView admin_header() {return new ModelAndView("admin_header");}@RequestMapping("/reader_header.html")public ModelAndView reader_header() {return new ModelAndView("reader_header");}@RequestMapping("/reader_books.html")public ModelAndView readerBooks(HttpServletRequest request) {ArrayList<Book> books = bookService.getAllBooks();ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");ArrayList<Lend> myAllLendList = lendService.myLendList(readerCard.getReaderId());ArrayList<Long> myLendList = new ArrayList<>();for (Lend lend : myAllLendList) {// 是否已归还if (lend.getBackDate() == null) {myLendList.add(lend.getBookId());}}ModelAndView modelAndView = new ModelAndView("reader_books");modelAndView.addObject("books", books);modelAndView.addObject("myLendList", myLendList);return modelAndView;}
}

登录管理控制层:

@Controller
public class LoginController {private LoginService loginService;@Autowiredpublic void setLoginService(LoginService loginService) {this.loginService = loginService;}@RequestMapping(value = {"/", "/login.html"})public String toLogin(HttpServletRequest request) {request.getSession().invalidate();return "index";}@RequestMapping("/logout.html")public String logout(HttpServletRequest request) {request.getSession().invalidate();return "redirect:/login.html";}@RequestMapping("/admin_main.html")public ModelAndView toAdminMain(HttpServletResponse response) {return new ModelAndView("admin_main");}@RequestMapping("/reader_main.html")public ModelAndView toReaderMain(HttpServletResponse response) {return new ModelAndView("reader_main");}@RequestMapping("/admin_repasswd.html")public ModelAndView reAdminPasswd() {return new ModelAndView("admin_repasswd");}@RequestMapping("/admin_repasswd_do")public String reAdminPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {Admin admin = (Admin) request.getSession().getAttribute("admin");long id = admin.getAdminId();String password = loginService.getAdminPassword(id);if (password.equals(oldPasswd)) {if (loginService.adminRePassword(id, newPasswd)) {redirectAttributes.addFlashAttribute("succ", "密码修改成功!");return "redirect:/admin_repasswd.html";} else {redirectAttributes.addFlashAttribute("error", "密码修改失败!");return "redirect:/admin_repasswd.html";}} else {redirectAttributes.addFlashAttribute("error", "旧密码错误!");return "redirect:/admin_repasswd.html";}}@RequestMapping("/reader_repasswd.html")public ModelAndView reReaderPasswd() {return new ModelAndView("reader_repasswd");}@RequestMapping("/reader_repasswd_do")public String reReaderPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {ReaderCard reader = (ReaderCard) request.getSession().getAttribute("readercard");long id = reader.getReaderId();String password = loginService.getReaderPassword(id);if (password.equals(oldPasswd)) {if (loginService.readerRePassword(id, newPasswd)) {redirectAttributes.addFlashAttribute("succ", "密码修改成功!");return "redirect:/reader_repasswd.html";} else {redirectAttributes.addFlashAttribute("error", "密码修改失败!");return "redirect:/reader_repasswd.html";}} else {redirectAttributes.addFlashAttribute("error", "旧密码错误!");return "redirect:/reader_repasswd.html";}}//配置404页面@RequestMapping("*")public String notFind() {return "404";}}

配置管理控制层:

@Configuration
@EnableWebMvc
@ComponentScan("com.library.controller")
public class WebConfig extends WebMvcConfigurerAdapter {@Beanpublic ViewResolver viewResolver() {InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setSuffix(".jsp");return resolver;}@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/img/**").addResourceLocations("/static/img/");registry.addResourceHandler("/js/**").addResourceLocations("/static/js/");registry.addResourceHandler("/css/**").addResourceLocations("/static/css/");}
}

源码获取:俺的博客首页 "资源" 里下载!

Java项目:二手图书商城平台(java+SSM+JSP+JS+jquery+Mysql)相关推荐

  1. 基于javaweb的二手图书商城平台(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的二手图书商城平台(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  2. 基于javaweb的高校运动会管理系统(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的高校运动会管理系统(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

  3. 基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  4. Java项目:网上图书商城系统(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)

    源码获取:博客首页 "资源" 里下载! 这个项目涉及到Shiro整合JWT.秒杀功能所具备的基本要求(限流.乐观锁.接口隐藏.JMeter高并发测试等等).消息中间件RabbitM ...

  5. Java项目:高校运动会管理系统(java+SSM+JSP+JS+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 该高校运动会信息管理系统是以B/S架构为设计基础并基于SSM框架开发的系统.系统采用了Java语言和MySQL数据库来实现. ...

  6. 基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql)

    基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  7. 基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql)

    基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  8. 基于javaweb的社区居民户籍管理系统(java+ssm+jsp+js+html+mysql)

    基于javaweb的社区居民户籍管理系统(java+ssm+jsp+js+html+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  9. 基于javaweb的业务代办帮跑腿管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

    基于javaweb的业务代办帮跑腿管理系统(java+ssm+jsp+bootstrap+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclip ...

最新文章

  1. OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了
  2. 作业03:格式化输出
  3. css不换行属性_CSS强制不换行的whitespace:nowrap的坑,你会填么?
  4. rmi远程代码执行漏洞_【漏洞通告】Apache Solr远程代码执行漏洞
  5. 某office前台任意文件上传漏洞分析
  6. oracle数据库优化--基本概念
  7. CF364B. Free Market
  8. 花了一晚上时间,终于把Python的基本用法归纳好了!
  9. spyder中绘图无法显示负号_Python绘图--时序图
  10. 【API进阶之路】研发需求突增3倍,测试团队集体闹离职
  11. 11Linux_vmtools
  12. select下拉框默认不能选择第一个选项的问题
  13. 天涯明月刀手游服务器维护到几点,天涯明月刀手游11月11日服务器维护更新公告...
  14. matlab受力分析,基于Matlab的多支座蒸压釜的受力分析和强度计算
  15. Networking Named Content 全文翻译(转)
  16. EdgeBox_EHub_tx1_tx2_E100 系统网络调试链接说明
  17. 高通+android笔记本电脑,高通推出骁龙850移动平台,专门用于打造Windows ACPC笔记本产品...
  18. 张勇用最严厉的内部信,敲打阿里云,也在提振阿里士气
  19. 鹅厂前员工稍微谈谈腾讯
  20. 计算机考研复试C语言常见面试题

热门文章

  1. 3D模型展示 | 黏土捏成的世界杯吉祥物,居然和实物这么像
  2. AISAS模型拆解营销,抓住用户决策的每一步
  3. 读书笔记2014第16本:《视觉繁美:信息可视化方法与案例解析》
  4. 组合导航-星网宇达M2 配置
  5. solidcam2020 sp3(CAM加工软件) 附安装教程
  6. 疫情反复下,5个营销动作让日化线下门店销量平稳微增
  7. android简单歌词,《Android_MP3播放器(初学简单版_歌名、歌手、歌词同步显示)》.doc...
  8. 曾哥传 第六话 泰拳的挑衅
  9. vue3 + wow + animate
  10. 担心手机电池寿命,专家给出正确充电方式