欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于JSP技术的招聘网站系统毕业设计论文.doc

    • 资源ID:87913414       资源大小:912KB        全文页数:20页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于JSP技术的招聘网站系统毕业设计论文.doc

    基于JSP技术的招聘网站系统引 论21世纪最贵的是人才,而如何能够高效、准确的找到符合自己需要的人才,一直以来都是困扰企业的问题。以传统的方式来说,企业都是通过报纸、广告、关系、招聘会等比较落后的方式来招聘职员。这样带来的问题是,企业需要花费很多的人力、财力来处理这些每天收到的各种简历,同事覆盖的面也不广,对于企业而言成本太高,质量又不是太好。现如今互联网发展如火如荼,为了顺应潮流,满足企业的需求,出现了网上招聘系统这一新型的招聘方式。它提供了更加灵活的沟通方式,提供了更加快捷有用的招聘信息。本文就以基于Jap技术的招聘网站系统为例,讲述利用jquery、ajax、servlet、filter、jstl标签等技术实现招聘网站的开发。1 系统开发概述本系统是基于B/S框架的动态页面技术中的Jsp语言开发的,首先介绍一下开发该系统所用到的知识。1.1 servlet运行原理及生命周期Servlet是运行在服务器上的代码,当浏览器发出一个请求时,它会做出相应的处理,然后再根据要求进行回应。运行原理如下:Tomcat是一个web容器,也叫web服务器。编译好的Servlet类只能运行在tomcat容器中,客户端浏览器不可以直接访问Servlet需要在web.xml中配置一下。配置代码如下:在浏览器输入http:/localhost:8088/test/servlet/MyServlet的时候,通过tomcat找到我们的Servlet,并返回非我们需要的页面。Servlet生命周期图如下:图1-1 Servlet运行原理图1.2 AjaxAjax是一个实现页面无刷新的技术,当客户端想服务器发出一个请求时,我们会感觉页面没有刷新的效果,但是却从服务器端获得了数据并及时的给出响应。它是通过XmlHttpRequest对象发出请求的,在javascript脚本语言的控制下,实现了从服务器端获得数据并在页面展示的过程。1.3 JavaScriptJavascript是众多脚本语言中的一种,javascript的出现为网页设计做出了很大的贡献。该语言特点介绍如下:1.3.1 动态性在javascript程序中编程人员会使用一些变量。相对于其他语言而言,我们在给这个变量赋值时,需要给这个变量创建字段,然后才能给这个变量赋值,而在javascript中我们不需要做这个操作,我们直接给它赋值就可以了。1.3.2 弱类型在很多编程语言中,对变量的数据类型,一般都有着严格的规定。因为不同的数据类型可以做的操作不同,比如说在java中我们使用一个整型变量,需要这样定义:int i;而在javascript中没有严格的数据类型,不管是整型变量、字符串、数组还是布尔类型,都用var定义,如:var i;1.4 jqueryJquery其实就是实现了对脚本语言的拼装。jquery的出现,使原来用很多代码才能实现的动态效果或者是某个功能现在实现起来是如此的简单。可以说原先javascript可以实现的功能,jquery都能够简单而又完美的完成。我们把它称为一个轻量级的js库。1.5 Filter使用过滤器的目的是实现代码的重复使用。当客户端发来一个请求资源时,通过配置过滤器,可以拦截这个请求,做相应的处理,通过之后再进入需要到达的资源。比如,对于很多网站,当用户未登录时不可以直接在浏览器输入个人主页地址就能进去,否则这样是很不安全的。过滤器就能做到这个处理。2 需求分析2.1 需求背景在这个信息大爆炸的年代,如何低成本而又高效率的利用信息来解决现实中的问题,是适应社会大潮流的趋势,是获得竞争力的方法。尤其是随着近几年互联网的发展,更是推进了信息化的进步。各行各业都在想着如何利用互联网更好的解决传统问题。对于招聘也不例外,招聘网站的出现使得应聘者有了更多的选择,能够在很短的时间内找到适合自己的工作。对于招聘单位而言,通过招聘网站这样的平台,他们能够检索自己需要的信息,使得选择的面更广,为他们的招聘工作节省了很多时间和金钱。求职者和招聘单位通过网络实现了各自所需,实现了真正多赢的局面。招聘网站与传统的招聘相比具有效率高,成本低,不分地域等优势。正是因为社会的发展,这样的大背景需求,促使招聘网站的诞生。2.2 系统用户分析这个招聘网站有三种用户。一种是应聘者,这类用户比较复杂,说复杂是因为他们可能有着不同的教育背景,能力也有所不同,工作时间的长短不一,这类用户属于网站的使用者,他们可以通过注册账号,填写自己的信息,生成简历,然后搜索符合自己需求的职位,投递简历。另外一类是招聘单位,他们可能是公司的人力资源部门,他们通过付费在招聘完整注册公司账号,上传公司的信息之后,发布招聘职位,对应聘者简历进行处理等工作。还有一类是网站的管理者,他们主要是对招聘者和招聘单位进行审核和管理,及时更新招聘信息和网站公告。2.3 系统功能图2-1 系统功能图2.4 系统E-R图图2-2 系统E-R图3 系统流程图及数据流程图3.1系统流程图3.1.1系统流程图图2-3 系统流程图3.2 数据流程图图2-4 数据流程图4 数据库设计数据库的设计是本系统设计的核心和灵魂,本系统所有功能的开发都是围绕数据库的设计而展开的。因此,在整个项目开发之前,我们要在数据库设计上多花心思,这样才能做到事半功倍的效果。通过对招聘网站的认真分析,我们最终设计出了如下几个表结构。4.1 个人用户表设计1 新用户注册表(User_Table)表4-1 用户注册表数据单元名称用户信息(User)Make up FieldNameName Formate Range Explain User_Email电子邮件varchar220Primary key User_Name用户名varchar250User_Pwd用户密码varchar210Is_Admin管理员否varchar220设计说明用户名要符合规定的格式要求2 简历表(Resume_Table)表4-2 简历表数据单元名称简历(Resume_Table)Make up FieldNameName FormatRange Explain Resume_ID编号varchar2100主键User_Email电子邮箱varchar250外键Real_Name真实姓名varchar210Gender性别varchar220:男 1:女Birthplace出生地varchar2100Birthdate出生日期varchar250ID_No证件号varchar250与会员注册时一致ID_Type证件类别varchar220Politics_Status政治面貌varchar220Height身高Number小数单位(厘米)Weight体重Number小数单位(千克)BloodType血型varchar24O/A/B/AB型Nationality民族varchar220State_Health健康状况varchar210健康/一般/较弱Source_Stu生源地varchar2128High_Edu最高学历varchar220School_High_Edu最高学历毕业学校varchar250Job_Hope希望从事的工作varchar210行政/管理First_Position第一期望加入职位varchar250Second_Position第二期望加入职位varchar250Present_Addr现居地varchar2100Supplemen备注varchar2200edu_from入学时间varchar250resume_name简历名varchar250createDate创建日期varchar250edu_end毕业时间varchar250Email电子邮箱varchar250Major专业varchar250Description专业描述varchar2200Address通信地址varchar2128Head_Portraits头像varchar2200图片的地址Work_Experience工作经验varchar2100Mobile_Phone手机号码varchar220说明要求所填信息真实4.2 企业用户表设计 1公司信息表(Company_Table)表4-3 公司信息表数据单元名称公司信息(Company_Table)Make up FieldNameName Format Range Explain Com_Name公司名称varchar250Primary key Com_Profile公司简介varchar2200Com_Pwd密码varchar220登录密码Com_Property公司性质varchar220Com_Bussiness公司行业varchar220Com_Scale公司规模varchar220Verification是否审核varchar22Com_Location所在地varchar220Com_Person 联系人varchar210Com_Email联系邮箱varchar250Com_Tel联系电话varchar211Com_Addr联系地址varchar220Com_Fax传真varchar220Com_Logo公司Logovarchar220设计说明公司名称真是有效且不可重复2 职位信息表(Job_Table)表4-4 职位信息表数据单元名称职位信息(Job_Table)Make up FieldNameName Format Range Explain Job_ID职业序号varchar250Primary keyCom_Name公司名称varchar250外键Job_Title职位varchar220Job_Prop公司性质varchar220Job_Category职位类别varchar220Salary薪资varchar220Treatment福利待遇varchar220Job_Description职位描述varchar220Job_Indate有效期DateRelease_Date发布时间DateJob_Request任职要求varchar211Job_experience工作经验varchar220lowest_Education最低学历varchar220job_place工作地varchar220recruiting_num招聘人数Numberis_deleted是否删除varchar210设计说明职位序号不重复3 申请简历表(Application_table)表4-5 申请简历表数据单元名称申请简历信息(Application_table)Make up FieldNameName Format Range Explain Application_id申请简历idvarchar220Primary keyresume_ID简历编号varchar220外键Com_Name公司名称varchar220外键Job_id职位idvarchar220外键state状态varchar210app_date申请日期Dateis_deleted是否删除varchar210设计说明申请简历编号不重复4 职位收藏表(Collection_table)表4-6 职位收藏表数据单元名称职位收藏信息(Collection_table)Make up FieldNameName Format Range Explain Collect_id收藏编号varchar220Primary keyCollect_date收藏日期dateUser_email用户邮箱varchar220外键Job_id职位编号varchar220外键App_State申请状态varchar210设计说明职位收藏之后可以根据申请状态区分是否申请该职位5 详细设计在详细设计阶段,我们主要是设计系统界面和给出系统中各个功能模块需要的接口及代码的详细设计。5.1 主要界面和功能给出该系统中主要的界面设计,以及实现的主要功能和用到的具体技术介绍。5.1.1 主页面如图5.1.1所示:图 5-1 主页面在此页面主要实现对整个网站的职位进行搜索,可以实现模糊查询。同时也实现了高级搜索功能,点击搜索后面的高级搜索按钮,下面会出现高级搜索选项,根据省份、城市、薪资、工作经验、学历进行筛选出符合自己的工作。在搜索出的职位中点击招聘职位列的职位名还可以看到该职位的具体信息,在注册,登录之后可以对自己满意的工作投递简历。考虑到搜索出的职位可能会很多,该页面还实现了分页显示功能。5.1.2 企业注册页面如图5.1.2所示:图5-2 企业注册页面该页面主要实现了个人用户的注册功能。注册功能中实现的各种验证比较多,比如说对用户名和电子邮件的唯一性判断,对密码的长度、复杂度的验证。在公司信息中企业名称也进行了唯一性判断。所在地通过脚本技术完成了级联选择的功能。还通过servlet完成了校验码的技术。5.1.3 企业登录页面如图5.1.3所示:图5-3 登录页面该页面是企业用户登录的入口,企业用户只有在注册过账号之后,才能在该登录页面输入用户名和密码进入企业的主页面。为实现该登录功能,用到了很多技术,比如jquery、session、cookie、正则表达式、过滤器等技术。在此着重介绍下过滤器的实现。考虑到安全的因素,用户不能在未登录的情况下直接在地址栏中输入企业中心的地址就可以进入该页面,在次对所有对企业中心相关的页面进行了过滤,只有确定session中或者cookie中有该用户的信息才可以直接跳转的需要的页面,否则就跳回到登录页面。5.1.4 企业主界面如图5.1.4所示:图5-4 企业主页面企业用户登录成功之后就进入了该页面。企业用户可以查看和修改自己的账户信息和企业信息。同时企业用户也可以根据自己的具体需求发布职位信息,点击发布的职位链接可以查看自己具体发布了哪些职位,点击收到的简历链接还可以查看应聘者发给自己公司的具体简历,根据应聘者的简历信息和自己公司的需要,企业用户管理员可以对求职者发出面试邀请或者不回应。5.1.5 用户登录界面如图5.1.5所示:图5-5 用户登录页面用户登录功能的实现和企业用户的登录基本相同,用到了类似的技术5.1.6 用户界面如图5.1.6所示:图5-6 用户主界面在该界面用户可以修改自己的资料、创建自己的简历,简历创建成功之后点击保存,可以在我的简历中看到自己的简历,默认的是一般用户只能创建五份简历。用户可以点击职位搜索进入职位搜索界面搜索符合自己的工作然后可以收藏或者申请该工作。职位收藏和我的工作申请中分别可以看到自己收藏的和申请的职位,还可以收藏或者申请的职位进行管理。默认情况下收藏和申请的职位保留一个月。在个人用户中心页面的右上角还有一个退出按钮,点击该按钮可以安全退出,也就是不把session和cookie中关于自己的信息删除掉。5.2 主要功能和代码5.2.1主界面代码public class serach extends HttpServlet protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException this.doPost(request, response);protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException int pagesize=3;/每页显示多少记录int pagenow=1;/默认显示第一页int rowcount=0;/该值从数据库中查询int pagecount=0;/该值是通过pageSize和rowCountresponse.setContentType("text/html;charset=utf-8");String textfield = request.getParameter("textfield");/ 获取文本框内容String xl1 = request.getParameter("xl1"); / 获取市级下拉内容String xinzi = request.getParameter("xinzi");/ 获取薪资String jingyan=request.getParameter("jingyan");/获取工作经验 String xueli=request.getParameter("xueli");/获取学历 String s_pagenow=request.getParameter("pagenow");/获取用户希望显示的页数Comfangfaservice cf = new Comfangfaserviceimpl();if(s_pagenow!=null)pagenow=Integer.parseInt(s_pagenow);if (textfield.equals("xiaoshou") textfield = "销售"if (textfield.equals("siji" + "") textfield = "司机"if (textfield.equals("qiantai" + "") textfield = "前台"if (textfield.equals("chuna" + "") textfield = "出纳"List<job> s = cf.getComsInfos(textfield, xl1,xinzi,jingyan,xueli);String message = null;if (s.size() = 0) message = "抱歉,在职位搜索里没有找在" + "“" + textfield + "“" + "相关的信息" + 'n'+ "FindJob网建议您:" + "n" + "r" + "1.工作地点是否选择了?"+ "2.看看输入的文字是否有误" + "n" + "r" + "3.去掉可能不必要的字词,如“的”、“什么”等"+ "n" + "r"request.setAttribute("message", message); else request.setAttribute("message", message);request.setAttribute("s", s);request.setAttribute("x1", s);request.setAttribute("xl1", xl1);request.setAttribute("textfield", textfield);request.setAttribute("xinzi", xinzi);request.setAttribute("jingyan", jingyan);request.setAttribute("xueli", xueli);request.setAttribute("recordCount", s.size();request.getRequestDispatcher("serach.jsp").forward(request, response);5.2.2企业注册界面代码protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");ComInfoService cis=new ComInfoServiceImpl();CompanyInfo comInfo=new CompanyInfo();String validate=request.getParameter("validate");/获得验证码String randcode=String .valueOf(request.getSession().getAttribute("randcode");String comloc=request.getParameter("pr1")+request.getParameter("ci1")+request.getParameter("co1");comInfo.setCode_name(request.getParameter("username");comInfo.setComEmail(request.getParameter("email");comInfo.setComPwd(request.getParameter("passwd");comInfo.setComName(request.getParameter("compName");comInfo.setComLocation(comloc);comInfo.setComPerson(request.getParameter("contactor");comInfo.setComTel(request.getParameter("tel2");if (validate.equals(randcode) cis.insertComInfo(comInfo);String comName=cis.findComName(comInfo.getComEmail();request.getSession().setAttribute("ComName",comName);request.getSession().setAttribute("Company", comInfo);sendCookie(request, response, comInfo);response.sendRedirect("company/company.jsp");else request.setAttribute("comInfo", comInfo);request.setAttribute("message", "验证码输入不正确");request.getRequestDispatcher("company/Company_Registe.jsp").forward(request, response);/* * see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void sendCookie(HttpServletRequest request, HttpServletResponse response,CompanyInfo user)long expireTime=10*6000*1000+System.currentTimeMillis();String clientMd5=WebUtils.md5(user.getComEmail(), expireTime,user.getComPwd();String values=user.getComEmail()+":"+clientMd5+":"+expireTime;Cookie cookie=new Cookie("logincookie", values);cookie.setMaxAge(10*6000);cookie.setPath(request.getContextPath();response.addCookie(cookie);5.2.3 企业登录界面代码protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String username=request.getParameter("username");String pwd=request.getParameter("pwd");ComInfoService cif=new ComInfoServiceImpl();CompanyInfo cInfo=null;boolean flag=true;if (username=null|(username.equals("") flag=false;else flag=cif.loginUser(username, pwd);if(flag) cInfo=new CompanyInfo();cInfo.setComEmail(username);cInfo.setComPwd(pwd);ComInfoService cis=new ComInfoServiceImpl();String comName=cis.findComName(username);/System.out.println(comName);request.getSession().setAttribute("ComName",comName);request.getSession().setAttribute("Company", cInfo);sendCookie(request, response, cInfo);request.getRequestDispatcher("company/company.jsp").forward(request, response);else request.setAttribute("message", "用户名或密码错误!");request.getRequestDispatcher("company/Company_Login.jsp").forward(request,response);/* * see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /* * 发送cookie * param request * param user */public void sendCookie(HttpServletRequest request, HttpServletResponse response,CompanyInfo user)long expireTime=10*6000*1000+System.currentTimeMillis();String clientMd5=WebUtils.md5(user.getComEmail(), expireTime,user.getComPwd();String values=user.getComEmail()+":"+clientMd5+":"+expireTime;Cookie cookie=new Cookie("logincookie", values);cookie.setMaxAge(10*6000);cookie.setPath(request.getContextPath();response.addCookie(cookie);5.2.4 企业页面过滤器public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;/ 从session中获取对象CompanyInfo user = (CompanyInfo)req.getSession().getAttribute("Company");/ 判断用户是否存在if (user != null) return; else / session中user不存在的场合,获取cookie对象Cookie logincookie = this.getLogincookie(req);if (logincookie != null) String values = logincookie.getValue().split(":");/ 获取cookie中的emailString email=values0;/ 获取cookie中的client_md5String client_md5 = values1;/ 获取cookie中的expireTimeLong expiretime = Long.parseLong(values2);if (!isvalidCookie(expiretime) / cookie有效的场合if (this.isvalidUser(email,expiretime, client_md5) / 有效用户的场合moveToPage(req, resp, chain); else moveToLogin(req, resp, chain); else moveToLogin(req, resp, chain); else moveToLogin(req, resp, chain); /* * see Filter#init(FilterConfig) */public void init(FilterConfig fConfig) throws ServletException / TODO Auto-generated method stubpublic Cookie getLogincoo

    注意事项

    本文(基于JSP技术的招聘网站系统毕业设计论文.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开