Java實(shí)戰(zhàn)之兼職平臺(tái)系統(tǒng)的實(shí)現(xiàn)
一、項(xiàng)目運(yùn)行
環(huán)境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
項(xiàng)目技術(shù):
HTML +Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等.
二、效果圖







三、核心代碼
登錄控制層
/**
* @Author yy
* @Description 登錄
* @Date 2022.2.17
*/
public class LoginController extends HttpServlet {
@Override
protected 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)) {//企業(yè)用戶名存在
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");//密碼錯(cuò)誤
resp.getWriter().print(jsonObject);
return;
}
}
flag2 = StudentUserDao.selectUsername(studentUserVO);
if ("ok".equals(flag2)) {//學(xué)生用戶名存在
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");//密碼錯(cuò)誤
resp.getWriter().print(jsonObject);
return;
}
}
//用戶名不存在,前往注冊(cè)
jsonObject.put("code", 2000);
jsonObject.put("flag", "fail");//登錄失敗
jsonObject.put("user", null);
jsonObject.put("msg", "usernameIsNotExist");//密碼錯(cuò)誤
resp.getWriter().print(jsonObject);
return;
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
doGet(req, resp);
}
}管理員登錄控制層
public class AdminLoginController extends HttpServlet {
@SneakyThrows
@Override
protected 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;
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}提交個(gè)人簡(jiǎn)介控制層
public class SubmitResumeController extends HttpServlet {
@SneakyThrows
@Override
protected 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);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}到此這篇關(guān)于Java實(shí)戰(zhàn)之兼職平臺(tái)系統(tǒng)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java兼職平臺(tái)系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java構(gòu)建Stream流的多種方式總結(jié)
Java?8引入了Stream流作為一項(xiàng)新的特性,它是用來(lái)處理集合數(shù)據(jù)的一種函數(shù)式編程方式,本文為大家整理了多種java構(gòu)建Stream流的方式,希望對(duì)大家有所幫助2023-11-11
Java中List集合去除重復(fù)數(shù)據(jù)的方法匯總
這篇文章主要給大家介紹了關(guān)于Java中List集合去除重復(fù)數(shù)據(jù)的方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
IntelliJ IDEA下SpringBoot如何指定某一個(gè)配置文件啟動(dòng)項(xiàng)目
這篇文章主要介紹了IntelliJ IDEA下SpringBoot如何指定某一個(gè)配置文件啟動(dòng)項(xiàng)目問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Java編程實(shí)現(xiàn)多線程TCP服務(wù)器完整實(shí)例
這篇文章主要介紹了Java編程實(shí)現(xiàn)多線程TCP服務(wù)器完整實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Java Flink窗口觸發(fā)器Trigger的用法詳解
Trigger(窗口觸發(fā)器)決定了窗口(由 WindowAssigner 產(chǎn)生)什么時(shí)候調(diào)用窗口處理函數(shù)??梢愿鶕?jù)指定的時(shí)間或數(shù)據(jù)元素條件來(lái)決定什么時(shí)候觸發(fā)。本文將詳細(xì)講講其用法,需要的可以參考一下2022-07-07
springboot整合httpClient代碼實(shí)例
這篇文章主要介紹了springboot整合httpClient代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

