基于javaweb+mysql的jsp+servlet大学生求职招聘管理系统(java+jsp+javascript+ajax+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的JSP+Servlet大学生求职招聘管理系统(java+jsp+javascript+ajax+mysql)
项目介绍
本项目分为管理员、求职者、企业用户三种角色, 管理员角色包含以下功能: 招聘信息管理,求职信息管理,工作地点管理,求职技巧管理,职场咨询管理,系统简介管理,友情链接管理,关于我们管理,留言板管理和回复,求职者管理,企业信息管理,管理员信息管理,修改个人信息和密码等功能。
求职者角色包含以下功能: 求职者首页,求职者登录注册,招聘信息查看,企业资料查看,企业推荐查看,查看求职技巧,系统简介,留言板查看,个人简历管理,个人基本信息管理,我的工作申请,企业和工作推荐查看,企业来信查看,查看收藏的职位等功能。
企业用户角色包含以下功能: 企业登录注册,招聘信息管理,求职信息管理,人才推荐管理,企业详情管理等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:否;
技术栈
后端:Servlet 2. 前端:JSP+JavaScript+JQuery+CSS+Ajax
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中dbconnection.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/jsp_qzzp_sys/ 登录 注:Tomcat中配置的路径必须为/jsp_qzzp_sys 管理员账号/密码:admin/admin 求职者账号/密码:qiuzhi/123456 企业账号/密码:qiye/123456
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
}else{
}
}
}
go("/js/uploadimg2.jsp?filename="+filename, request, response);
} catch (Exception e1) {
e1.printStackTrace();
}
}
if(ac.equals("uploadimg3"))
{
try {
String filename="";
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(request);
if(FileUpload.isMultipartContent(requestContext)){
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request.getRealPath("/upfile/")+"/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100*1024*1024);
List items = new ArrayList();
items = upload.parseRequest(request);
FileItem fileItem = (FileItem) items.get(0);
if(fileItem.getName()!=null && fileItem.getSize()!=0)
{
if(fileItem.getName()!=null && fileItem.getSize()!=0){
File fullFile = new File(fileItem.getName());
filename = Info.generalFileName(fullFile.getName());
File newFile = new File(request.getRealPath("/upfile/")+"/" + filename);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
}else{
}
}
}
go("/js/uploadimg3.jsp?filename="+filename, request, response);
radio+="\n";
dxii++;
}
return radio;
}
public static void writeExcel(String fileName,String prosstr,java.util.List list,HttpServletRequest request, HttpServletResponse response){
WritableWorkbook wwb = null;
String cols = "";
for(String str:prosstr.split("@"))
{
cols+=str.split("-")[0]+",";
}
cols = cols.substring(0,cols.length()-1);
list = new CommDAO().selectforlist("select "+cols+" from "+fileName+" order by id desc");
fileName = request.getRealPath("/")+"/upfile/"+Info.generalFileName("a.xls");
String[] pros = prosstr.split("@");
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
ws.setColumnView(0,20);
ws.setColumnView(1,20);
ws.setColumnView(2,20);
ws.setColumnView(3,20);
ws.setColumnView(4,20);
ws.setColumnView(5,20);
try {
for(int i=0;i { Label label1 = new Label(i, 0,""); label1.setString(pros[i]); ws.addCell(label1); } } catch (RowsExceededException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (WriteException e1) { // TODO Auto-generated catch block e1.printStackTrace(); else{ end=end+to.length(); subLowcase2=sourceLowcase.substring(end,source.length()); sub2=source.substring(end,source.length()); sourceLowcase=subLowcase1+subLowcase2; source=sub1+sub2; } //System.out.println(start+" "+end); } return source; } public static void delPic(String path,String img) { if(img!=null) { if(!img.equals("")) { File file1=new File(path + "/" + img); if(file1.exists() ) { file1.deleteOnExit(); //file1.delete(); }}} } } } buf.append(" "); if (this.currentPage == this.pageNumber) buf.append("末页 "); else buf.append("").append("末页") .append(" "); // // for (int i = 0; i < this.pageNumber; i++) { // if (this.currentPage == i + 1) { // buf.append("[" + (i + 1) + "]").append( // " "); // } else { // buf.append("").append( // "[" + (i + 1) + "]").append(" "); // } // } buf.append(""); this.info = buf.toString(); } public Collection getCollection() { return collection; } public long getCount() { return count; buf.append(" + ""); } buf.append(""); this.info = buf.toString(); } public Collection getCollection() { return collection; } public long getCount() { return count; } public int getCurrentPage() { return currentPage; } public long getPageNumber() { return pageNumber; } public int getPageSize() { return pageSize; } public String getInfo() { return info; } public static ArrayList { PageManager pageManager = PageManager.getPage(url, pagesize, request); pageManager.doList(sql); PageManager bean = (PageManager) request.getAttribute("page"); ArrayList return nlist; } } catch(Exception e) { e.printStackTrace(); } return conn; } public int getInt(String sql) { int i = 0; try { Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); if(rs.next()) { i = rs.getInt(1); } st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return i; } public double getDouble(String sql) { double i = 0; try { Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); if(rs.next()) { i = rs.getDouble(1); } st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return i; } }else{ } } } go("/js/uploadimg.jsp?filename="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } if(ac.equals("uploadimg2")) { try { String filename=""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext(request); if(FileUpload.isMultipartContent(requestContext)){ DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getRealPath("/upfile/")+"/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100*1024*1024); List items = new ArrayList(); items = upload.parseRequest(request); FileItem fileItem = (FileItem) items.get(0); if(fileItem.getName()!=null && fileItem.getSize()!=0) { if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/")+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{ } } } go("/js/uploadimg2.jsp?filename="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } return (int) dayNumber; } public static void main(String[] g ) { } public static String getselect(String name,String tablename,String zdname) { String select = " for(HashMap permap:new CommDAO().select("select * from "+tablename+" order by id desc")){ select+=""; } select+=""; return select; } public static String getselect(String name,String tablename,String zdname,String where) { String select = " select+=""; for(HashMap permap:new CommDAO().select("select * from "+tablename+" where "+where+" order by id desc")){ String optionstr = ""; if(zdname.split(";").length==1){ optionstr=permap.get(zdname.split("~")[0]).toString(); }else{ for(String str:zdname.split(";")) { String zdstr = str.split("~")[0]; String zdnamestr = str.split("~")[1].equals("无名")?"":(str.split("~")[1]+":"); optionstr+=zdnamestr+permap.get(zdstr)+" - "; RequestContext requestContext = new ServletRequestContext(request); if(FileUpload.isMultipartContent(requestContext)){ DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getRealPath("/upfile/")+"/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100*1024*1024); List items = new ArrayList(); items = upload.parseRequest(request); FileItem fileItem = (FileItem) items.get(0); if(fileItem.getName()!=null && fileItem.getSize()!=0) { if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/")+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{ } } } go("/js/uploadimg2.jsp?filename="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } if(ac.equals("uploadimg3")) { try { String filename=""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext(request); if(FileUpload.isMultipartContent(requestContext)){ DiskFileItemFactory factory = new DiskFileItemFactory(); public class MainCtrl extends HttpServlet { public MainCtrl() { super(); } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void go(String url,HttpServletRequest request, HttpServletResponse response) { try { request.getRequestDispatcher(url).forward(request, response); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void gor(String url,HttpServletRequest request, HttpServletResponse response) } } } go("/js/uploadimg5.jsp?filename="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } // if(ac.equals("addxspl")){ String savetime = Info.getDateStr(); String utype = "求职者"; try { String filename=""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext(request); if(FileUpload.isMultipartContent(requestContext)){ DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getRealPath("/upfile/")+"/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100*1024*1024); List items = new ArrayList(); items = upload.parseRequest(request); FileItem fileItem = (FileItem) items.get(0); if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/")+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{ } } List result = new ArrayList(); File uploadFileName = new File(request.getRealPath("/upfile/")+"/" + filename); InputStream is = new FileInputStream(uploadFileName); jxl.Workbook excel = Workbook.getWorkbook(is); Sheet sheet = excel.getSheet(0); factory.setRepository(new File(request.getRealPath("/upfile/")+"/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100*1024*1024); List items = new ArrayList(); items = upload.parseRequest(request); FileItem fileItem = (FileItem) items.get(0); if(fileItem.getName()!=null && fileItem.getSize()!=0) { if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/")+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{ } } } go("/js/uploaddoc.jsp?docname="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } //导excel if(ac.equals("importexcel")) { String page = request.getParameter("page"); String whzdstr = request.getParameter("whzdstr"); String tablename = request.getParameter("tablename"); try { String filename=""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext(request); HttpSession session = request.getSession(); HashMap user = (HashMap)session.getAttribute("admin"); String ac = request.getParameter("ac"); if(ac==null)ac=""; CommDAO dao = new CommDAO(); String date = Info.getDateStr(); String today = date.substring(0,10); String tomonth = date.substring(0,7); if(ac.equals("mlogin")) { String username = request.getParameter("uname"); String password = request.getParameter("upass"); List .select("select * from sysuser where uname='" + username + "'"); if (list.size() == 1) { HashMap map = list.get(0); List .select("select * from sysuser where uname='" + username + "' and upass='" + password + "'"); if (ulist.size() == 1&& password.equals(map.get("upass").toString())) { request.getSession().setAttribute("admin", map); gor("/jsp_qzzp_sys/index.jsp", request, response); } else { request.setAttribute("error", ""); go("/index.jsp", request, response); } } else { request.setAttribute("error", ""); go("/index.jsp", request, response); } } //修改密码 if(ac.equals("uppass")) { String olduserpass = request.getParameter("olduserpass"); String userpass = request.getParameter("userpass"); public class Upload extends HttpServlet { /** * Constructor of the object. */ public Upload() { super(); } /** * Destruction of the servlet. */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } /** * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ } private static Properties config = null; static { try { config = new Properties(); // InputStream in = config.getClass().getResourceAsStream("dbconnection.properties"); InputStream in = CommDAO.class.getClassLoader().getResourceAsStream("dbconnection.properties"); config.load(in); System.out.println(config.get("dburl")); in.close(); } catch (Exception e) { e.printStackTrace(); } } public HashMap getmap(String id,String table) { List try { Statement st = conn.createStatement(); System.out.println("select * from "+table+" where id="+id); ResultSet rs = st.executeQuery("select * from "+table+" where id="+id); ResultSetMetaData rsmd = rs.getMetaData(); while(rs.next()) { HashMap map = new HashMap(); int i = rsmd.getColumnCount(); for(int j=1;j<=i;j++) { if(!rsmd.getColumnName(j).equals("ID")) { String str = rs.getString(j)==null?"": rs.getString(j); String sql = "update sysuser set upass='"+userpass+"' where id="+id; dao.commOper(sql); request.setAttribute("suc", ""); go("/admin/uppass.jsp", request, response); } } if(ac.equals("uploaddoc")) { try { String filename=""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext(request); if(FileUpload.isMultipartContent(requestContext)){ DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getRealPath("/upfile/")+"/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100*1024*1024); List items = new ArrayList(); items = upload.parseRequest(request); FileItem fileItem = (FileItem) items.get(0); if(fileItem.getName()!=null && fileItem.getSize()!=0) { if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName()); filename = Info.generalFileName(fullFile.getName()); File newFile = new File(request.getRealPath("/upfile/")+"/" + filename); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{ } } } go("/js/uploaddoc.jsp?docname="+filename, request, response); } catch (Exception e1) { e1.printStackTrace(); } } */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } /** * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StringBuffer sb = new StringBuffer(50); response.setContentType("application/x-msdownload;charset=utf-8"); try { response.setHeader("Content-Disposition", new String(sb.toString() .getBytes(), "ISO8859-1")); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String filename = request.getParameter("filename"); if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){ String.valueOf(this.currentPage)); this.collection = this.dao.select(hql, this.currentPage , this.pageSize); this.refreshUrl(); } /** * * @param 查询条件集合 * 如没有条件只是列表就不使用这个方法 */ public void addParameter(List parameter) { StringBuffer para = new StringBuffer(""); if (parameter != null && parameter.size() != 0) { Iterator iterator = parameter.iterator(); while (iterator.hasNext()) { para.append("&").append(iterator.next().toString()); } } this.parameter = para.toString(); } /** * 刷新分页路径 * */ protected void refreshUrl() { StringBuffer buf = new StringBuffer(); buf.append("共").append(count); buf.append("条"); buf.append(" "); buf.append("第").append(this.currentPage).append("/").append( this.pageNumber).append("页"); buf.append(" "); if (this.currentPage == 1) buf.append("首页"); else buf.append("").append("首页") .append(""); // #1157B7 buf.append(" "); if (this.currentPage > 1) { buf.append("0赞
发表评论