最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)戰(zhàn)之兼職平臺(tái)系統(tǒng)的實(shí)現(xiàn)

 更新時(shí)間:2022年03月16日 15:43:23   作者:qq_1334611189  
這篇文章主要介紹了如何利用Java編寫一個(gè)兼職平臺(tái)系統(tǒng),采用到的技術(shù)有Springboot、SpringMVC、MyBatis、ThymeLeaf等,感興趣的小伙伴可以了解一下

一、項(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è)人簡介控制層

 
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進(jìn)程內(nèi)存占比過高的方法

    排查Java進(jìn)程內(nèi)存占比過高的方法

    某天下午運(yùn)維反應(yīng)集成環(huán)境的一個(gè)Java服務(wù)內(nèi)存飆高,內(nèi)存耗的太高了,會(huì)疑似內(nèi)存泄漏,所以本文記一次排查Java進(jìn)程內(nèi)存占比過高的解決方法,需要的朋友可以參考下
    2023-10-10
  • Java框架設(shè)計(jì)靈魂之反射的示例詳解

    Java框架設(shè)計(jì)靈魂之反射的示例詳解

    反射就是把Java類中的各個(gè)成員映射成一個(gè)個(gè)的Java對(duì)象。本文將通過示例為大家詳細(xì)講解Java框架設(shè)計(jì)的靈魂:反射,感興趣的可以了解一下
    2022-06-06
  • tk-mybatis整合springBoot使用兩個(gè)數(shù)據(jù)源的方法

    tk-mybatis整合springBoot使用兩個(gè)數(shù)據(jù)源的方法

    單純的使用mybaits進(jìn)行多數(shù)據(jù)配置網(wǎng)上資料很多,但是關(guān)于tk-mybaits多數(shù)據(jù)源配置沒有相關(guān)材料,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2021-12-12
  • Spring Aware源碼設(shè)計(jì)示例解析

    Spring Aware源碼設(shè)計(jì)示例解析

    這篇文章主要為大家介紹了Spring Aware源碼設(shè)計(jì)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 通過jxl.jar 讀取、導(dǎo)出excel的實(shí)例代碼

    通過jxl.jar 讀取、導(dǎo)出excel的實(shí)例代碼

    通過jxl.jar 讀取、導(dǎo)出excel的實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • 關(guān)于mybatis-plus邏輯刪除自動(dòng)填充更新時(shí)間的問題

    關(guān)于mybatis-plus邏輯刪除自動(dòng)填充更新時(shí)間的問題

    mybatis-plus是對(duì)mybatis的增強(qiáng),mybatis-plus更像是面向?qū)ο缶幊蹋瑪?shù)據(jù)庫基本CRUD的操作可以不用手動(dòng)編寫SQL語句,大大提高了開發(fā)的效率,這篇文章主要介紹了mybatis-plus邏輯刪除自動(dòng)填充更新時(shí)間問題,需要的朋友可以參考下
    2022-07-07
  • 淺談Mybatis通用Mapper使用方法

    淺談Mybatis通用Mapper使用方法

    本篇文章主要介紹了淺談Mybatis通用Mapper使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • springboot 文件上傳大小配置的方法

    springboot 文件上傳大小配置的方法

    本篇文章主要介紹了springboot 文件上傳大小配置的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • java對(duì)數(shù)組進(jìn)行排序的方法

    java對(duì)數(shù)組進(jìn)行排序的方法

    這篇文章主要介紹了java對(duì)數(shù)組進(jìn)行排序的方法,涉及java數(shù)組排序的技巧,需要的朋友可以參考下
    2015-03-03
  • java中JSqlParser的使用

    java中JSqlParser的使用

    JSqlParse是一款很精簡的sql解析工具,它可以將常用的sql文本解析成具有層級(jí)結(jié)構(gòu)的語法樹,本文主要介紹了java中JSqlParser的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07

最新評(píng)論

云龙县| 留坝县| 隆子县| 宁晋县| 方山县| 保德县| 佛冈县| 吉林市| 宜阳县| 庆城县| 宿州市| 宣城市| 水富县| 越西县| 南召县| 三穗县| 舟山市| 吴旗县| 宜兴市| 体育| 达拉特旗| 万安县| 平陆县| 明星| 沁阳市| 双城市| 兴和县| 大庆市| 绥宁县| 九台市| 克什克腾旗| 项城市| 卓尼县| 宁化县| 盘山县| 永顺县| 新河县| 祁连县| 洪湖市| 新干县| 中卫市|