Java项目:27 基于SSM+JSP实现的大学校园兼职平台

作者主页:舒克日记

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

文中获取源码

项目介绍

系统介绍

基于SSM+JSP实现的大学校园兼职平台分为前台与管理员两块

管理端分为8大模块,分别是用户管理、兼职管理、帖子管理、聊天管理、广告管理、信箱管理、收藏管理、系统管理等模块

前台有兼职查看、论坛交流、平台公告等主要菜单项

用户登陆后可查看兼职详情、与发布者交流、选择喜欢的兼职

点击查看演示视频

环境要求

1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7.x,8.X,9.x版本均可

4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;

5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目

6.数据库:MySql5.7/8.0等版本均可;

技术栈

运行环境:jdk8 + tomcat9 + mysql5.7 + windows10

服务端技术:Spring + SpringMvc + Mybatis + jsp + Jquery + Layui

使用说明

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

2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;

运行指导

idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源码地址:http://codegym.top

运行截图

前端界面

微信截图_20240223190322

微信截图_20240223190349

微信截图_20240223190356

微信截图_20240223190403

微信截图_20240223190408

微信截图_20240223190414

微信截图_20240223190422

微信截图_20240223190438

后台界面

微信截图_20240223190524

微信截图_20240223190529

微信截图_20240223190535

微信截图_20240223190544

微信截图_20240223190557

微信截图_20240223190603

代码

PcIndexController

package com.work.controller.pc;import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.work.common.utils.BaseUtil;
import com.work.common.utils.JsonUtil;
import com.work.common.utils.Page;
import com.work.pojo.Adver;
import com.work.pojo.Banner;
import com.work.pojo.Chat;
import com.work.pojo.Forum;
import com.work.pojo.ForumReply;
import com.work.pojo.Notice;
import com.work.pojo.QueryVo;
import com.work.pojo.SystemUpset;
import com.work.pojo.User;
import com.work.pojo.Work;
import com.work.service.AdverService;
import com.work.service.BannerService;
import com.work.service.ChatService;
import com.work.service.ForumReplyService;
import com.work.service.ForumService;
import com.work.service.NoticeService;
import com.work.service.SystemUpsetService;
import com.work.service.UserService;
import com.work.service.WorkService;@Controller
@RequestMapping("/pc/index")
public class PcIndexController extends BaseUtil{@Autowiredprivate AdverService adverService;@Autowiredprivate NoticeService noticeService;@Autowiredprivate WorkService workService;@Autowiredprivate UserService userService;@Autowiredprivate ForumService forumService;@Autowiredprivate ChatService chatService;@Autowiredprivate BannerService bannerService;@Autowiredprivate SystemUpsetService systemUpsetService;@Autowiredprivate ForumReplyService forumReplyService;//公共头部@RequestMapping(value="/goHeader.action")public ModelAndView goHeader(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}mv.setViewName("pc/header");return mv;}//公共尾部@RequestMapping(value="/goFooter.action")public ModelAndView goFooter(ModelAndView mv,SystemUpset systemUpset){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}mv.setViewName("pc/footer");return mv;}//去首页面@RequestMapping(value="/goIndex.action")public ModelAndView goLogin(HttpServletRequest request,ModelAndView mv, Work work, QueryVo vo){//判断滚动条String isScroll = "f";//获取兼职Page<Work> page=new Page<Work>();if(work.getWorkCategory() != null && !work.getWorkCategory().equals("")){isScroll = "t";
//			try {
//				work.setWorkCategory(new String(work.getWorkCategory().getBytes("ISO8859-1"),"UTF-8"));
//			} catch (UnsupportedEncodingException e) {
//				e.printStackTrace();
//			}}System.out.println(work.getWorkCategory());work.setIsEffect(1);work.setIsAuditing(1);if(vo.getSize()!=8){ vo.setSize(8);}if(vo.getPage()==null){vo.setPage(1);}//每页数page.setSize(vo.getSize());if (vo != null){//判断当前页if(vo.getPage() != null) {page.setPage(vo.getPage());vo.setStartRow((vo.getPage() -1)*vo.getSize());}page.setTotal(workService.getWorkListCount(work));page.setRows(workService.getWorkList(work, (vo.getPage()-1) * vo.getSize(), vo.getSize()));}mv.addObject("page", page);//系统配置SystemUpset systemUpset = new SystemUpset();List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}//轮播图Banner banner = new Banner();banner.setIsEffect(1);List<Banner> banners = bannerService.getBannerList(banner, null, null);mv.addObject("banners", banners);User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);if(vo.getPage() != 1){isScroll = "t";}mv.addObject("isScroll", isScroll);mv.setViewName("pc/index");return mv;}//首页获取分类兼职@RequestMapping("/getWorkByWorkCate")public void getWorkByWorkCate(HttpServletResponse response,Work work){work.setIsEffect(1);work.setIsAuditing(1);Integer count = workService.getWorkListCount(work);List<Work> works = workService.getWorkList(work, 0, 8);SimpleDateFormat cTime = new SimpleDateFormat("yyyy-MM-dd");if(works.size() > 0){for(int i = 0; i<works.size(); i++){works.get(i).setCreateTimes(cTime.format(works.get(i).getCreateTime()));}}output(response,JsonUtil.buildJsonByTotalCount(works, count));}//查看兼职@RequestMapping(value="/goFindWork.action")public ModelAndView goFindWork(ModelAndView mv,Work work){SystemUpset systemUpset = new SystemUpset();List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}work = workService.getWorkById(work.getId());mv.addObject("work", work);mv.setViewName("pc/find_work");return mv;}//查看用户资料@RequestMapping(value="/goFindUser.action")public ModelAndView goFindUser(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset,User user){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}user = userService.getUserById(user.getUserId());mv.addObject("user", user);User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);mv.setViewName("pc/user_info");return mv;}//去聊天页面@RequestMapping(value="/goChat.action")public ModelAndView goChat(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset,User user){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}user = userService.getUserById(user.getUserId());int userId = user.getUserId();mv.addObject("user", user);//Session信息User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);if(pcUser == null){mv.setViewName("pc/login");}else if(pcUser.getUserId() == userId){mv.addObject("updatePage", "y");mv.setViewName("pc/index");}else{//更新isLookChat chat = new Chat();chat.setUserIdFa(user.getUserId());chat.setUserIdJie(pcUser.getUserId());chat.setIsLook(1);chatService.updateChat(chat);mv.setViewName("pc/chat");}return mv;}//去论坛页面@RequestMapping(value="/goForum.action")public ModelAndView goForum(HttpServletRequest request,ModelAndView mv, QueryVo vo){User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);//获取广告Adver adver = new Adver();List<Adver> advers = adverService.getAdverList(adver, null, null);mv.addObject("advers", advers);//获取帖子Page<Forum> page=new Page<Forum>();Forum forum = new Forum();forum.setIsEffect(1);if(vo.getSize()!=10){ vo.setSize(10);}if(vo.getPage()==null){vo.setPage(1);}//每页数page.setSize(vo.getSize());if (vo != null){//判断当前页if(vo.getPage() != null) {page.setPage(vo.getPage());vo.setStartRow((vo.getPage() -1)*vo.getSize());}page.setTotal(forumService.getForumListCount(forum));page.setRows(forumService.getForumList(forum, (vo.getPage()-1) * vo.getSize(), vo.getSize()));}//获取评论ForumReply forumReply = new ForumReply();for(int i=0; i<page.getRows().size(); i++){forumReply.setForumId(page.getRows().get(i).getForumId());page.getRows().get(i).setForumReplys(forumReplyService.getForumReplyList(forumReply, null, null));}mv.addObject("page", page);mv.setViewName("pc/forum");return mv;}//去信箱页面@RequestMapping(value="/goMailbox.action")public ModelAndView goMailbox(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);if(pcUser == null){mv.setViewName("pc/login");}else{mv.setViewName("pc/mailbox");}return mv;}//去发布兼职@RequestMapping(value="/goPublishWork.action")public ModelAndView goPublishWork(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);if(systemUpsets.size() > 0){mv.addObject("systemUpset", systemUpsets.get(0));}User pcUser = (User) request.getSession().getAttribute("pcUser");mv.addObject("pcUser", pcUser);if(pcUser == null){mv.setViewName("pc/login");}else{mv.setViewName("pc/publish_work");}return mv;}//去公告页面@RequestMapping(value="/goNotice.action")public ModelAndView goNotice(HttpServletRequest request, ModelAndView mv, QueryVo vo){//获取个公告Page<Notice> page=new Page<Notice>();Notice notice = new Notice();if(vo.getSize()!=12){ vo.setSize(12);}if(vo.getPage()==null){vo.setPage(1);}//每页数page.setSize(vo.getSize());if (vo != null){//判断当前页if(vo.getPage() != null) {page.setPage(vo.getPage());vo.setStartRow((vo.getPage() -1)*vo.getSize());}page.setTotal(noticeService.getNoticeListCount(notice));page.setRows(noticeService.getNoticeList(notice, (vo.getPage()-1) * vo.getSize(), vo.getSize()));}mv.addObject("page", page);mv.setViewName("pc/notice");return mv;}//获取公告@RequestMapping(value="/getNotice.action")public void getNotice(Notice notice,HttpServletRequest request,HttpServletResponse response){notice = noticeService.getNoticeById(notice.getId());SimpleDateFormat cTime = new SimpleDateFormat("yyyy-MM-dd");notice.setCreateTimes(cTime.format(notice.getCreateTime()));output(response,JsonUtil.objectToJson(notice));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/262320.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「递归算法」:求根节点到叶节点数字之和

一、题目 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数…

如何构建企业专属GPT

大语言模型&#xff08;LLM&#xff09;具有令人印象深刻的自然语言理解和生成能力&#xff0c; 2022年11月底OpenAI发布了ChatGPT&#xff0c;一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据&#xff0c;企业私域信息并未被LLM所训练&#x…

家用电器全球扩张:如何借助海外网红营销实现助力品牌成长?

随着全球化的深入发展&#xff0c;家用电器市场已不再局限于国内市场&#xff0c;众多品牌纷纷将目光投向海外&#xff0c;寻求更广阔的发展空间。在这个过程中&#xff0c;如何有效地进行海外推广成为品牌面临的一大挑战。近年来&#xff0c;海外网红营销逐渐崭露头角&#xf…

【Spring】IoC容器 控制反转 与 DI依赖注入 配置类实现版本 第四期

文章目录 基于 配置类 方式管理 Bean一、 配置类和扫描注解二、Bean定义组件三、高级特性&#xff1a;Bean注解细节四、高级特性&#xff1a;Import扩展五、基于注解配置类方式整合三层架构组件总结 基于 配置类 方式管理 Bean Spring 完全注解配置&#xff08;Fully Annotatio…

AndroidStudio 2024-2-21 Win10/11最新安装配置(Kotlin快速构建配置,gradle镜像源)

AndroidStudio 2024 Win10/11最新安装配置 教程目的&#xff1a; (从安装到卸载) &#xff0c;针对Kotlin开发配置&#xff0c;gradle-8.2-src/bin下载慢&#xff0c;以及Kotlin构建慢的解决 好久没玩AS了,下载发现装个AS很麻烦,就觉得有必要出个教程了(就是记录一下:嘻嘻) 因…

MariaDB落幕和思考

听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发&#xff0c;他早前曾以10亿美元的价格&#xff0c;将自己创建的公司MySQL AB卖给了SUN&#xff0c;此后&#xff0c;随着SUN被甲骨文收购&#xff0c;MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心…

vue封装el-table表格组件

先上效果图&#xff1a; 本文包含了具名插槽、作用域插槽、jsx语法三种&#xff1a; Render.vue&#xff08;很重要&#xff0c;必须有&#xff09;: <script> export default {name: "FreeRender",functional: true,props: {scope:Object,render: Functio…

我把springboot项目从Java 8 升级 到了Java 17 的过程总结,愿为君提前踩坑!

项目从jdk8升级到jdk17&#xff0c;我不是为了追求java 17的新特性&#xff08;准确来说也还没有去了解有什么新特性&#xff09;&#xff0c;也不是为了准确与时俱进&#xff0c;永远走在java行列的最前端&#xff0c;纯粹因为项目需要&#xff0c;因为我们都知道&#xff0c;…

【医学大模型 补全主诉】BioGPT + LSTM 自动补全医院紧急部门主诉

BioGPT LSTM 自动补全医院紧急部门主诉 问题&#xff1a;针对在紧急部门中自动补全主诉的问题子问题1: 提高主诉记录的准确性子问题2: 加快主诉记录的速度子问题3: 统一医疗术语的使用子问题4: 减少打字错误和误解子问题5: 提高非特定主诉的处理能力 解法数据预处理神经网络方…

微服务篇之限流

一、为什么要限流 1. 并发的确大&#xff08;突发流量&#xff09;。 2. 防止用户恶意刷接口。 二、限流的实现方式 1. Tomcat限流 可以设置最大连接数&#xff0c;但是每一个微服务都有一个tomcat&#xff0c;实现起来非常麻烦。 2. Nginx限流 &#xff08;1&#xff09;控…

十大基础排序算法

排序算法分类 排序&#xff1a;将一组对象按照某种逻辑顺序重新排列的过程。 按照待排序数据的规模分为&#xff1a; 内部排序&#xff1a;数据量不大&#xff0c;全部存在内存中&#xff1b;外部排序&#xff1a;数据量很大&#xff0c;无法一次性全部存在内存中&#xff0c;…

利用Ubuntu22.04启动U盘对电脑磁盘进行格式化

概要&#xff1a; 本篇演示利用Ubuntu22.04启动U盘的Try Ubuntu模式对电脑磁盘进行格式化 一、说明 1、电脑 笔者的电脑品牌是acer(宏碁/宏基) 开机按F2进入BIOS 开机按F12进入Boot Manager 2、Ubuntu22.04启动U盘 制作方法参考笔者的文章&#xff1a; Ubuntu制作Ubun…

每日学习总结20240222

每日总结 一旦停下来太久&#xff0c;就很难继续了 ——《一个人的朝圣》 20240222 1. 自定义逻辑 请设计一个函数single_track_logic,传入三个参数&#xff0c;第一个参数是int数组&#xff0c;第二个参数是一个int变量&#xff0c;第三个参数是一个以int为返回值&#xff0c…

dell r740服务器黄灯闪烁维修现场解决

1&#xff1a;首先看一下这款DELL非常主力的PowerEdge R740服务器长啥样&#xff0c;不得不说就外观来说自从IBM抛弃System X系列服务器后&#xff0c;也就戴尔这个外观看的比较顺眼。 图一&#xff1a;是DELL R740前视图&#xff08;这款是8盘机型&#xff09; 图二&#xff…

SICTF Round#3 wp web

web hacker sql无列名注入&#xff1b; 提示查询username参数&#xff0c;flag在flag表中&#xff1b; 传参测试发现&#xff0c;union select 可用&#xff0c;空格被过滤可以使用/**/代替 &#xff0c;or也被过滤了且无法大小写、双写等绕过&#xff0c;导致无法查询flag表…

Python实战:读取MATLAB文件数据(.mat文件)

Python实战&#xff1a;读取MATLAB文件数据(.mat文件) &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的订阅…

Leetcoder Day18| 二叉树 part07

语言&#xff1a;Java/Go 今天做了一个小决定&#xff0c;如果时间不够的话&#xff0c;可以先看go去找实习&#xff0c;所以现在加上用go去刷题 530.二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树&#xff0c;请你计算树中任意两节点的差的绝对值的最小值。…

常见锁策略,CAS,synchrodized原理讲解

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 常见锁策略 乐观锁和悲观锁 轻量级锁和重量级锁 自旋锁和挂起等待锁 读写锁 公平锁和非公平锁…

10大互联网技术受益于这个行业,它甚至推动互联网诞生

hello&#xff0c;我是贝格前端工场&#xff0c;今天分享某个行业存进了互联网技术发展&#xff0c;最早的互联网也是从该行业诞生的&#xff0c;希望老铁们喜欢&#xff0c;别忘了关注、点赞、评论、转发。 ARPANET 互联网的前身ARPANET最初是由美国国防部高级研究计划局&…

【云动世纪:Apache Doris 技术之光】

本文节选自《基础软件之路&#xff1a;企业级实践及开源之路》一书&#xff0c;该书集结了中国几乎所有主流基础软件企业的实践案例&#xff0c;由 28 位知名专家共同编写&#xff0c;系统剖析了基础软件发展趋势、四大基础软件&#xff08;数据库、操作系统、编程语言与中间件…