当前位置: 首页 > 编程日记 > 正文

Java项目:兼职平台系统(java+Springboot+ssm+HTML+maven+Ajax+mysql)

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

一、项目运行

环境配置:

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

项目技术:

HTML +Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等.

登录控制层:

/*** @Author yy* @Description 登录* @Date 2022.2.17*/public class LoginController extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {JSONObject jsonObject = new JSONObject();String username = req.getParameter("username");String password = req.getParameter("password");resp.setCharacterEncoding("UTF-8");HttpSession session = req.getSession();if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {jsonObject.put("code", 2000);jsonObject.put("flag", "fail");jsonObject.put("user", null);jsonObject.put("msg", "usernameOrPasswordIsBank");//用户名密码不能为空resp.getWriter().print(jsonObject);return;}password = MyMD5Util.encrypt(password);System.out.println(password);BusinessUserVO businessUserVO = new BusinessUserVO();businessUserVO.setUsername(username);businessUserVO.setPassword(password);StudentUserVO studentUserVO = new StudentUserVO();studentUserVO.setUsername(username);studentUserVO.setPassword(password);String flag1 = null;String flag2 = null;try {flag1 = BusinessUserDao.selectUsername(businessUserVO);if ("ok".equals(flag1)) {//企业用户名存在BusinessUserDTO businessUserDTO = BusinessUserDao.select(businessUserVO);if (businessUserDTO != null) {jsonObject.put("code", 2000);jsonObject.put("flag", "success");//登录成功jsonObject.put("user", businessUserDTO);jsonObject.put("msg", "login_success");session.setAttribute("businessUser",businessUserDTO);resp.getWriter().print(jsonObject);return;} else {jsonObject.put("code", 2000);jsonObject.put("flag", "fail");//登录失败jsonObject.put("user", null);jsonObject.put("msg", "passwordError");//密码错误resp.getWriter().print(jsonObject);return;}}flag2 = StudentUserDao.selectUsername(studentUserVO);if ("ok".equals(flag2)) {//学生用户名存在StudentUser studentUser = StudentUserDao.select(studentUserVO);if (studentUser != null) {jsonObject.put("code", 2000);jsonObject.put("flag", "success");//登录成功jsonObject.put("user", studentUser);jsonObject.put("msg", "login_success");session.setAttribute("studentUser",studentUser);resp.getWriter().print(jsonObject);return;} else {jsonObject.put("code", 2000);jsonObject.put("flag", "fail");//登录失败jsonObject.put("user", null);jsonObject.put("msg", "passwordError");//密码错误resp.getWriter().print(jsonObject);return;}}//用户名不存在,前往注册jsonObject.put("code", 2000);jsonObject.put("flag", "fail");//登录失败jsonObject.put("user", null);jsonObject.put("msg", "usernameIsNotExist");//密码错误resp.getWriter().print(jsonObject);return;} catch (SQLException throwables) {throwables.printStackTrace();}return;}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {doGet(req, resp);}
}

管理员登录控制层:


public class AdminLoginController extends HttpServlet {@SneakyThrows@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");password = MyMD5Util.encrypt(password);JSONObject jsonObject = new JSONObject();HttpSession session = req.getSession();Admin admin = new Admin(username, password);Admin adminFromDB = AdminDao.findByUsernamePassword(admin);if (adminFromDB!=null){jsonObject.put("code",2000);jsonObject.put("msg","login_success");jsonObject.put("admin",adminFromDB.getUsername());jsonObject.put("flag","success");resp.getWriter().print(jsonObject);session.setAttribute("admin",adminFromDB);return;}else {jsonObject.put("code",2000);jsonObject.put("msg","no admin");jsonObject.put("admin",null);jsonObject.put("flag","fail");resp.getWriter().print(jsonObject);return;}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}
}

提交个人简介控制层:


public class SubmitResumeController extends HttpServlet {@SneakyThrows@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {JSONObject jsonObject = new JSONObject();DiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);req.setCharacterEncoding("UTF-8");upload.setHeaderEncoding("UTF-8");List<FileItem> items = upload.parseRequest(req);StringBuffer sb = new StringBuffer();String resumeFile = null;for (FileItem item : items) {String name = item.getFieldName();InputStream inputStream = item.getInputStream();if (!name.equals("resumeFile")){String string = item.getString();string = new String(string.getBytes("ISO8859_1"), StandardCharsets.UTF_8);sb.append(string+"&&");}else {String[] split = sb.toString().split("&&");String studentName = split[0];String studentUsername = split[1];String recruitInfoId = split[2];String path=req.getServletContext().getRealPath("/");String fieldName = studentName+"_"+studentUsername+"_"+recruitInfoId+"_"+item.getName();String filePath = path+fieldName;resumeFile = fieldName;File file = new File(filePath);BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);FileOutputStream fileOutputStream = new FileOutputStream(file);int line;while ((line = bufferedInputStream.read())!=-1){fileOutputStream.write(line);}fileOutputStream.flush();fileOutputStream.close();bufferedInputStream.close();}}String[] split = sb.toString().split("&&");String studentName = split[0];String studentUsername = split[1];String recruitInfoId = split[2];String applyPosition = split[3];String phoneNum = split[4];String email = split[5];Resume resume = new Resume(studentUsername, Integer.parseInt(recruitInfoId), studentName, applyPosition, phoneNum, email, resumeFile);int insert = ResumeDao.insert(resume);if (insert == 1){jsonObject.put("code",2000);jsonObject.put("msg","add success");jsonObject.put("flag","success");jsonObject.put("data",resume);resp.getWriter().print(jsonObject);return;}else {jsonObject.put("code",2000);jsonObject.put("msg","add fail");jsonObject.put("flag","fail");jsonObject.put("data",null);resp.getWriter().print(jsonObject);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}
}

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

相关文章:

java实现时间的比较

时间大小的比较以及把String类型的时间转换为Date类是时间在开发中是非常常见的&#xff0c;下面的主要是一个工具方法 public class Test {public static void main(String[] args) {// TODO Auto-generated method stubString sTime "2015-07-13";String fTime &…

在eclipse中通过基于spring data的easyrest风格的maven项目操纵cassandra和lucene

一、项目前提步骤1>、创建键空间CREATE KEYSPACE mykeyspaceWITH REPLICATION { class : SimpleStrategy, replication_factor : 1 };2>、创建表和关系数据库一样&#xff0c;开发前需要先建表&#xff0c;再操纵CREATE TABLE tweet (id uuid PRIMARY KEY,nickName text…

JAVA 多线程实现包子铺(买包子,吃包子)

1 package baozi;2 3 /*4 生产者&#xff08;包子铺&#xff09;类&#xff1a;是一个 线程类&#xff0c;继承Thread5 设置线程任务&#xff08;run&#xff09;&#xff1a;生产包子6 对包子 进行判断7 true&#xff1a;有包子8 包子铺调用wait方法进…

字符串面试题(一)字符串逆序

字符串逆序可以说是最经常考的题目。这是一道入门级的题目&#xff0c;相信80%的程序员经历过这道题。给定一个字符串s&#xff0c;将s中的字符顺序颠倒过来&#xff0c;比如s"abcd"&#xff0c;逆序后变成s"dcba"。 普通逆序 基本上没有这么考的&#xf…

Java项目:在线淘房系统(租房、购房)(java+SpringBoot+Redis+MySQL+Vue+SpringSecurity+JWT+ElasticSearch+WebSocket)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 该系统有三个角色&#xff0c;分别是&#xff1a;普通用户、房屋中介、管理员。普通用户的功能&#xff1a;浏览房屋信息、预约看房、和中介聊天、申请成为中介等等。房屋中介的功能&#xff1a;发布房屋信息…

Be a person

做人不能太实诚 尤其是干我们这行的 多久时间能做完 你自己心里要有个估算 然后把时间再往后延 别他妈给自己找罪受 转载于:https://www.cnblogs.com/wskgjmhh/p/4644840.html

Solr配置文件分析与验证

前面一篇开始学习solr的时候&#xff0c;做了个入门的示例http://6738767.blog.51cto.com/6728767/1401865。虽然可以检索出内容&#xff0c;但总和想象的结果有差异——比如&#xff0c;检索“天龙”两个字&#xff0c;按常规理解&#xff0c;就应该只出来《天龙八部》才对&am…

oracle启用归档日志

一、开启归档 1、查看归档信息 SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 244 Current log sequence …

C++派生类与基类构造函数调用次序

本文用来测试C基类和派生类构造函数&#xff0c;析构函数&#xff0c;和拷贝构造函数的调用次序。运行环境&#xff1a;SUSE Linux Enterprise Server 11 SP2 (x86_64) #include <iostream>using namespace std;class Base{public:Base(){cout << "Base Cons…

Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目描述&#xff1a; 这是一个基于SpringBootVue框架开发的在线点餐系统。首先&#xff0c;这是一个前后端分离的项目。具有一个在线点餐系统该有的所有功能。 项目功能&#xff1a; 此项目分为两个角色&…

js 打开窗口window.open

js改变原有的地址 window.open(webPath/index?codecode,_self); 转载于:https://www.cnblogs.com/hwaggLee/p/4645680.html

中兴SDH原理介绍及中兴E300网管介绍

姓名苟忠兴培训课程中兴SDH原理介绍及中兴E300网管介绍培训心得1、 SDH概念&#xff1a;SDH&#xff08;Synchronous Digital Hierarchy&#xff0c;同步数字体系&#xff09;是一种将复接、线路传输及交换功能融为一体、并由统一网管系统操作的综合信息传送网络。2、 PDH缺点&…

bootstrap 冻结表格,冻结表头

需要的文件下载&#xff1a; bootstrap-table:https://github.com/wenzhixin/bootstrap-table bootstrap-table-fiex-column:https://github.com/wenzhixin/bootstrap-table-fixed-columns 参考来源&#xff1a;https://www.cnblogs.com/Kyaya/p/9004237.html 1.引入文件 2. bo…

Linux多线程与同步

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到&#xff0c;Linux以进程为单位组织操作&#xff0c;Linux中的线程也…

Java项目:校园外卖点餐系统(java+SSM+JSP+maven+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; JSP Spring SpringMVC MyBatis cs…

基于css3 transform实现散乱的照片排列

分享一款基于css3 transform实现散乱的照片排列。这是一款简单零散的css3相册排列特效下载。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <div class"main"><div class"pic pic1"><img src"1.jpg…

C++利用二级指针做函数形参来进行修改实参的实例分析

在学C/C的时候&#xff0c;我们都会了解到一级指针&#xff0c;int* i NULL; 和二级指针int ** pp NULL; 但是具体的一些应用我们可能很难理解&#xff0c;如果我们要取int*的地址&#xff0c;我们就需要int**&#xff0c;这是因为指针传递本质上还是值传递,本质很难理解&a…

SpringBoot 优雅实现超大文件上传,通用方案

通俗的说,你把要上传的东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让MD5改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5就变了,就不会秒传了。分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(我们称之为Part)来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文件。

robotframework - 运行报错提示 No keyword with name 'Open Browser' found.

用下面的例子为例&#xff1a; 1、输入以上robot脚本提示&#xff1a; 2、经查阅资料&#xff0c;大部分都使用的是selenium2 版本&#xff0c;无法解该的问题&#xff0c;目前小编使用的是selenium3&#xff0c;不知道selenium是哪个版本的话&#xff0c;用pip show selenium…

Linux从程序到进程

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 计算机如何执行进程呢&#xff1f;这可以说是计算机运行的核心问题。即使我们已经编写好程序&#xff0c;但程序是死的文本&#xff0c;只有成为…

struct stat结构体的详解和用法

[cpp] view plaincopy//! 需要包含de头文件 #include <sys/types.h> #include <sys/stat.h> S_ISLNK(st_mode)&#xff1a;是否是一个连接.S_ISREG(st_mode)&#xff1a;是否是一个常规文件.S_ISDIR(st_mode)&#xff1a;是否是一个目录S_ISCHR(st_mode)&a…

反射setaccessible_反射技术

反射机制作用动态的加载类、动态的获取类的信息(属性&#xff0c;方法&#xff0c;构造器)动态构造对象动态调用类和对象的任意方法、构造器动态调用和处理属性获取泛型信息处理注解获取Class对象的方式有哪些&#xff1f;1. Class clazz Class.forName(全限定类名);2. 类名.c…

pthread_cond_wait()函数的详解

http://hi.baidu.com/tjuer/item/253cc6d66b921317d90e4483 了解 pthread_cond_wait() 的作用非常重要 -- 它是 POSIX 线程信号发送系统的核心&#xff0c;也是最难以理解的部分。 首先&#xff0c;让我们考虑以下情况&#xff1a;线程为查看已链接列表而锁定了互斥对象&#x…

CentOS7下python虚拟环境

搭建python虚拟环境 1.我们先创建一个隐藏目录 .virtualenvs&#xff0c;所有的虚拟环境都放在此目录下 &#xff1a;mkdir /root/.virtualenvs 2.安装虚拟环境 确认pip&#xff1a;whereis pip3 pip3 install virtualenv 安装virtualenvwrapper&#xff0c;为避免超时错误&…

WCDMA中的URA和LA/RA

1、关于URA的概念&#xff1a;URA&#xff08;UTRAN Registration Area&#xff09;是UTRAN内部区域的划分适用于UE处于RRC连接状态的情形&#xff0c;而且只能在UTRAN端使用&#xff08;比如由UTRAN发起的寻呼&#xff09;。一 个URA包含了一个或多个Cell&#xff0c;具体由决…

背景音乐的实现

通过利用Service来实现该功能将要播放的歌曲放入raw文件夹中[html] view plaincopy <strong>新建一个AudioService 类&#xff0c;<span style"font-family: Arial, Helvetica, sans-serif;">AudioService 类</span><span style"font-fami…

打牌软件可以控制吗_使用crm软件真的可以帮助企业省钱吗

使用crm软件真的可以帮助企业省钱吗大多数企业管理者认为&#xff1a;“客户关系系统有什么用?真的可以帮助企业发展吗?自己做一套excel版本不就行了”其实&#xff0c;不以为然&#xff0c;当我们去寻找用户时或者管理用户需要工作人员做一些繁琐的事情会极大的降低员工的工…

MS_SQL_获取字符串最后出现的字符串及位置

一&#xff0e;如&#xff1a;6.7.8.2.3.4.x得到最后一个.后面的字符串&#xff1a; declare str1 varchar(50) set str16.7.8.2.3.4.x select REVERSE(SUBSTRING(REVERSE(str1),1,CHARINDEX(.,REVERSE(str1))-1)) -------- string:x-- --------------------------------------…

redis(3)-redis基本类型

在redis安装目录下存在redis自带的客户端&#xff0c;启动即可使用。如果设置了密码&#xff0c;需要输入auth 123456进行验证。123456为密码。 redis的基本数据类型&#xff1a; 1.字符串类型(String)    redis 127.0.0.1:6379> SET mykey "redis" OK redis 1…

虚函数与虚继承寻踪

封装、继承、多态是面向对象语言的三大特性&#xff0c;熟悉C的人对此应该不会有太多异议。C语言提供的struct&#xff0c;顶多算得上对数据的简单封装&#xff0c;而C的引入把struct“升级”为class&#xff0c;使得面向对象的概念更加强大。继承机制解决了对象复用的问题&…