• Java项目:SSM企业门户网站


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本项目分为前后台,前台主要用于官网展示,后台主要为管理员管理,

    管理员角色包含以下功能:
    管理员登录,文章分类管理,文章列表管理,友情链接管理,招聘管理,留言管理,滚动图片管理,联系我们,关于我们,网站管理员管理,日志管理等功能。

    用户角色包含以下功能:

    用户首页,关于我们,服务领域发布,新闻动态,诚聘英才,在线留言,联系我们等功能。

    环境需要

    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+bootstrap+jquery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中conf.properties配置文件中的数据库配置改为自己的配置;

    4. 运行项目,输入localhost:8080/ 登录

    运行截图

    前台界面

    管理端页面

    代码相关

    文章管理控制器

    1. @Controller("frontArticleController")
    2. @RequestMapping("/")
    3. public class ArticleAction extends BaseController
      {
    4. private static final String page_toList = "/front/article/articleList";
    5. private static final String page_toEdit = "/front/article/articleInfo";
    6. @Autowired
    7. private ArticleService articleService;
    8. @Override
    9. public Services
      getService() {
    10. return articleService;
    11. }
    12. public ArticleAction(){
    13. super.page_toList = page_toList;
    14. super.page_toEdit = page_toEdit;
    15. }
    16. /**
    17. * 跳转到文章列表
    18. * @param request
    19. * @param article
    20. * @return
    21. * @throws Exception
    22. */
    23. @RequestMapping("article")
    24. public String article(HttpServletRequest request, @ModelAttribute("e") Article article) throws Exception {
    25. this.initPageSelect();
    26. setParamWhenInitQuery(article);
    27. int offset = 0;
    28. if(request.getParameter("pager.offset")!=null){
    29. offset = Integer.parseInt(request.getParameter("pager.offset"));
    30. }
    31. if(offset < 0){
    32. offset=0;
    33. }
    34. article.setOffset(offset);
    35. PageModel page = getService().selectPageList(article);
    36. if(page == null){
    37. page = new PageModel();
    38. }
    39. page.setPageSize(10); //设置单页数据为10
    40. page.setPagerSize((page.getTotal() + page.getPageSize() - 1)
    41. / page.getPageSize());
    42. selectListAfter(page);
    43. page.setPagerUrl("article");
    44. request.setAttribute("pager", page);
    45. return page_toList;
    46. }
    47. /**
    48. * 文章详情
    49. * @param code
    50. * @param model
    51. * @return
    52. * @throws Exception
    53. */
    54. @RequestMapping("article/{code}")
    55. public String selectOne(HttpServletRequest request,@ModelAttribute("code")@PathVariable("code") String code,@ModelAttribute("e") Article article, ModelMap model) throws Exception {
    56. if(isInteger(code)) { //如果是数字 则为id 按id进行文章查询
    57. Article e = articleService.selectById(Integer.parseInt(code));
    58. e.setHit(String.valueOf(Integer.parseInt(e.getHit())+1));
    59. articleService.update(e); //更新浏览量 --优化建议:可使用缓存或者redis暂存 然后再刷入数据库
    60. Article next = articleService.selectNext(Integer.parseInt(code));
    61. if(next==null){
    62. next = new Article();
    63. }
    64. Article previous = articleService.selectPrevious(Integer.parseInt(code));
    65. if(previous==null){
    66. previous = new Article();
    67. }
    68. model.addAttribute("e", e);
    69. model.addAttribute("next", next);
    70. model.addAttribute("previous", previous);
    71. return page_toEdit;
    72. }else{//不是数字,则为分类编码
    73. for(ArticleCategory item: SystemManage.getInstance().getArticleCategory()){ //遍历分类缓存
    74. if(code.equals(item.getCode())){ //当编码相等时
    75. article.setCategoryId(String.valueOf(item.getId())); //把相等编码里的分类id值赋予文章中catagroyId中
    76. break; //跳出循环
    77. }
    78. }
    79. setParamWhenInitQuery(article);
    80. int offset = 0;
    81. if(request.getParameter("pager.offset")!=null){
    82. offset = Integer.parseInt(request.getParameter("pager.offset"));
    83. }
    84. if(offset < 0){
    85. offset=0;
    86. }
    87. article.setOffset(offset);
    88. PageModel page = getService().selectPageList(article);
    89. if(page == null){
    90. page = new PageModel();
    91. }
    92. page.setPageSize(10); //设置单页数据为10
    93. page.setPagerSize((page.getTotal() + page.getPageSize() - 1)
    94. / page.getPageSize());
    95. selectListAfter(page);
    96. page.setPagerUrl(code);
    97. request.setAttribute("pager", page);
    98. request.setAttribute("code", code);
    99. return page_toList;
    100. }
    101. }
    102. /**
    103. *判断是不是数字
    104. * @param code
    105. * @return
    106. */
    107. public static boolean isInteger(String code){
    108. try {
    109. Integer.parseInt(code);
    110. return true;
    111. }catch (NumberFormatException e){
    112. return false;
    113. }
    114. }
    115. }

    如果也想学习本系统,下面领取。关注并回复:069ssm 

  • 相关阅读:
    Javascript Summery3 TOUCH SCREEN COMMON CSS
    黑客动态播报 | 一封假offer,盗取6.25亿美元
    【计网】(二)MAC地址与IP地址
    OpenHarmony 系统能力 SystemCapability 使用指南
    “元创新·智生成” 第15届企业数智化学习大会公布嘉宾阵容
    集合深度学习02—List
    【阿里云】轻松玩转linux服务器
    【Java项目】销售评价系统
    【JVM】类的生命周期
    深入理解Java虚拟机读书笔记--11 Java与线程
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128162288