基于JSP+sqlserver的求职网设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于JSP+sqlserver的求职网设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 现如今传统的求职方式越来越不能满足当今企业和求职者的需要。随着Internet的发展,网络上兴起了很多求职网站。求职网站的出现,给求职者和招聘单位带来了很大的方便,但目前针对我们在校大学生、应聘毕业的求职网站很少,并且现有的这些针对在校大学生的求职网都是以营利为目的,很多得不到大学生的信任。为了给在校大学生和招聘单位提供一个良好的求职、招聘的平台,本课题拟实现一个速达求职网。
- 本系统有利于企业利用网站快速的发布招聘信息,浏览更多求职者的信息找到自己所需要的人才;求职者能够在求职网上创建个人简历、职位浏览、申请、职位搜索;为保证招聘企业的合法性,企业相关证件要通过管理员的检查后才能成为合法的企业用户,本系统采用jsp+SQL server实现。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:9004个字29页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
3、关键词
求职网;jsp;SQL server4、毕设简介
提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。
1 引言
1.1 课题背景
在Internet飞速发展的今天,电子数字计算机是20世纪重大科技发明之一,而如今联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为机关、学校、企事业单位、甚至进入寻常百姓家的信息化建设中的重要组成部分,从而倍受人们重视。而现如今我国国内的招聘市场很不成熟,在校大学生找兼职都得花钱,甚至更多的是上当受骗,而现有的几大招聘网站很少为在校大学生提供免费的找兼职服务。
因此,为满足当代大学生的需求,为他们提供更多更好的在社会实践的机会,为应届毕业生提更多的就业信息,为企业提供高效快捷的招聘信息发布和对求职者信息的查看建设了速达求职网。
1.2 国内外研究现状
省略
1.3 本课题研究意义
为在校大学生特别是贫困生提供更多的免费兼职,给他们提供更多机会进入社会体验生活,减轻父母的压力。为更多的应届毕业生提供就业实习的机会,让自己的价值得到充分的体现。为所有的求职者和企业单位搭建一个桥梁。解决现在大学生上当受骗的社会问题,解决公司找人难的问题。
2 相关知识介绍
2.1 JSP的优势
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
2.2 JSP的特点
JSP的技术特点:
(1)将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
2.3 SQL语言介绍
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:ORACLE、SYBASE、MICOSOFT SQL SERVER、ACCESS、INGRESS等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们系统。但是标准的SQL命令,比如:“SELECT”、“INSERT”、“UPDATE”、“DELETE”、“CREATE”和“DROP”常常被用于完成绝大多数数据库的操作。MS SQL SERVER 就是用的TRANSACT-SQL。
省略
2.4 Dreamweaver简介
Dreamweaver是由美国著名的软件开发商Macromedia公司推出的一个“所见即所得”的可视化网站开发工具。无论在国外还是在国内,它都是倍受专业Web开发人士推崇的软件。在国内,它被大家称为网页“织梦者”,众多的专业网站和个人主页都把它列为建站的首选工具。
在最新的MX版本中,对Dreamweaver的代码控制和后台功能作了进一步增强,整合了UltraDev,ColdFusion Studio,Homesite等优秀软件,使得新版本的Dreamweaver比起原有的版本,功能得到了一个飞跃的发展。
3 系统设计
3.1 系统需求
互联网的发展给人们的日常生活带来了很大的变化,越来越多了人通过互联网在足不出户的情况下方便、快捷的获取到自己所需要的信息;通过互联网我们的商家、企业、政府可以很方便的、及时的发布自己的信息。利用互联网我们可以为求职者、招聘企业单位提供一个双向选择的平台,大大简化过去传统的求职方式,提高企业单位的工作效率,给求职者提供一个更大更好的求职环境。速达求职网就是在互联网的发展下、求职者和企业单位的需求下建立起来的。
3.2 功能模块划分
根据对求职者和招聘单位的分析,按照系统开发的基本观点对网站进行分解,对网站做如下划分:
个人用户:注册、登录、简历创建、职位搜索、职位浏览及申请、应聘记录、注销
企业用户:注册、营业执照上传、登录、招聘职位发布、浏览简历、求职者应聘记录
管理员:企业注册信息审查、传信息审查、修改标记。
3.3 主要流程
根据软件工程的思想,以传统的瀑布模型为基础,确定以下的流程。如下图:
图1流程图
3.4 数据库设计
采用的数据库是SQLSERVER,建立candylau数据库,其中几个重要的表如下:
puser存放个人用户注册信息表:
表1 puser表的字段
cuser存放企业用户注册信息表:
表2 cuser表字段说明
当个人用户创建起自己的简历名称时就把简历名和身份证号同时存入表presname、presume1、peducation、phope、pstrong、pstrain、pword、pecertification、planguage其中 presume1简历基本信息存放表,peducation教育经历存放表,phope个人意愿,pstrong个人特长,pstrain培训经历, pwork工作经历,pcertification证书,planguage语言。这样做的主要目的是使每个用户的简历名不能重复,在对数据进行查找时同时把简历名和身份证号作为条件,使数据和用户之间实现一一对应。其中主要的presname、presume1的字段定义及说明如下表3、表4:
表3 presnaeme表字段说明
表4 presume1表字段说明
当个人用户申请了某个公司所发布的职位后会向表record、crecord表存入相同的信息,record名为“个人应聘记录”crecord名为“企业所查看求职记录”表的字段定义如下表5:
表5 record、crecord表字段说明
zpxx招聘信息,用于存放公司所发布的招聘信息:
以上是几个重要表的介绍方便读者对后面的更易理解。
4 系统实现
4.1 用户登录
速达求职网设置了三种类型用户:个人用户、企业用户、管理员。不同的用户有不同的权限。这些判断都是在后台里进行判断的没有相应的界面。
1 用户从首页index.jsp的登录框登录,用户提交登录后进入index1.jsp界页进行用户类型判断如果是个人用户进入login.jsp界页进行用户名和密码的判断,如果为企业用户则进入login1.jsp界页进行相应的判断,如果登录名是admin,密码是admin1234就直接进入管理员页面。个人用户登录成功进入person/pindex.jsp页面,企业用户进入company/cindex1.jsp页面。
2 核心代码如下:
StringstrRadiobutton=request.getParameter("radiobutton").trim();
String username = request.getParameter("username");
String password = request.getParameter("password");
Request.getParameter(“name”)获得属性为name的值。
username.equals("admin")&&password.equals("admin1234")判断管理员用户,
strRadiobutton.equals("2")判断企业用户,如果不是管理员又不是企业用户,else则为个人用户。
用户名和密码判断:
ResultSet res=stmt.executeQuery("select * from puser(cuser) where pusermane='"+username+"' and ppassword='"+password+"'");在puser(cuser)表里查找出一行用户名为username并且密码为password,如果res.next()存在说明用户名和密码是对的,就进入相应的界面。
session.putValue("regid",id);session.putValue("logname",username);
session.putValue("loginSign","OK");
其中regid,logname,loginSign都是传递变量的名称,id,username是变量名,用双引号括起来的OK是值。Session是一次会话只要浏览器不关闭就不会关闭会话一般默认保存30分钟,在别一个页面获得session对话所传递的值的方法:(String)session.getValue(“”)(括号里为前面所传递的变量名)如要获得session.putValue(“regid”,id)所传递的id的值的方法:
String id=(String)session.getValue(“regid”)。本页面中运用session是为了在以后的业面里判断用户的用户名和是否登录等。
数据库连接语句
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=candylau";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Class.forName(“”)是显示加载com.microsoft.jdbc.sqlserver.SQLServerDriver类,调用newInstance()产生这个类的实例。url数据源的名称,user用户名,password密码,Connection是建立数据库的连接。Conn.createStatement 用Connection接口创建一个Statement实例执行需要的查询。ResultSet.TYPE_SCROLL_SENSITIVE:该常数的作用是指定数据库游标可以在记录集中前后移动,并且当数据库用户获取的记录集对其他用户的操作敏感,就是说,当前用户正在浏览记录集中,但是其他用户的操作使数据库中的数据发生了变化,当前用户所获取的记录集中的数据也会同步发生变化(这样有可能会导致非常严重的错误发生,建议慎重使用该常数)。ResultSet.CONCUR_UPDATABLE:该常数的作用是指定当前记录集的操作方式(concurrency mode)为可能更新,一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记录集中的数据。数据库的连接至关重要,在网站的建设中很多页面的数据都要和数据库进行交互。
3 登录成功的界面
个人用户成功进入personal/pindex.jsp界面如下图:
图2个人用户成功登录后的界面
企业用户成功进入company/cindex1.jsp界面如下图:
图3 企业用户成功登录后的界面
4.2 个人用户功能实现
根据图2我们可以看出个人用户的功能模块有:个人中心(创建简历名)、个人资料(修改密码)、我的简历、投递记录(职位搜索、职位申请)、我要退出。
(1) 个人中心代码的实现
String regid=(String)session.getValue("regid");
String username=(String)session.getValue("logname");
String loginSign=(String)session.getValue("loginSign");
if(loginSign.equals("OK"));
{}else {
out.println("<script language=\"JavaScript\" type=\"text/javascript\">alert(\"请登录!\");window.location.href=\"http://localhost:8080/candylau/index.jsp\";</script>");
}
前面提到的session的用法,if(loginSign.equals(“OK”))判断loginSign的值是不是“OK”,如果是,就会看到图3的界面,否则提示“请登录”,确定后回到首页。
res=stmt.executeQuery("select resumename from presname where cid='"+regid+"'");
if(res.next())
{res=stmt.executeQuery("select resumename from presname where cid='"+regid+"'");
i=0;
while(res.next())
{ i++;}
title=new String[i];
i=0;
res=stmt.executeQuery("select resumename from presname where cid='"+regid+"'");
while(res.next()){
title[i]=res.getString("resumename");%>
<table>
<tr>
<td>简历名称:<%= title[i] %></td>
<td><a href="watch.jsp?cid=<%=regid%>&jlname=<%=title[i]%>">浏览</a> <a href="baseinfo.jsp?id=<%=regid%>&jlname=<%=title[i]%>">修改</a>
<a href="del.jsp?id=<%=regid%>&jlname=<%=title[i]%>">删除</a></td>
</tr><% session.putValue("jlname",title[i]); %>
<%session.putValue("id",regid);%></table>
<% i++;}
res.close();}
注意:第一个if(res.next())是判断resumename是不是存在,如果存在必须在定义一次res,不然在后面就会出现数组溢出出错。这是因为在if判断是已经读取了一行数据,当执行 while(res.next())就会少搜索一行,使得数组溢出出错。
在浏览、修改、删除时使用herf=””?cid=<%regid%>&jlname=<%=title[i]%>在起引号里的页面里是用request.getParameter()方法来获得cid和jlname的值的。用herf=””?cid=<%regid%>&jlname=<%=title[i]%>方法是为了实现对不同的简历的浏览、修改、删除时互不影响。
浏览简历,herf=”watch.jsp”?cid=<%regid%>&jlname=<%=title[i]%>,在watch.jsp页面编写是获得regid、jlname值的方法String id=request.getParameter(“cid”); String jlname = new String(request.getParameter( “jlname” ).getBytes( “ISO8859_1” ), “GBK” );这里必须得进行编码转换,否则所的到的汉字回是“????”,并且在页面开始就要用到request.setCharacterEncoding(“GBK”);把整个页面的编码转换为gbk,这在本网站中的每给页面都用了这段代码。
“个人中心”界面如下图:
图4个人中心
我们可以选择“个人中心”创建简历名称,浏览修改删除简历。
(2) 选择“个人资料”可以看到自己的用户名和身份证号,并可以对密码进行更改,大家所看到的界面里的身份证号是灰色的,不能更改,代码如下:<input name=sfnum type=text disabled value=<%regid%>>,界面如图5:
图5 个人资料
(3) 选择“我的简历”就进入到简历填写界面,如图:
图6 我的简历
根据表3、表4我们可以看清楚字段定义并且要清楚知道为了实现在插入、删除数据的一致性,在创建简历时不仅仅把cid、resumename存入了presname表,同时也存入了表phope、pwork、pstrong、presume1、ptrain、peducation、pcertification、planguage。我们可以知道简历的内容有八项,用户可以根据自己的实际情况选择性填写,但是“基本资料”必须填写,否则就无法进行浏览。建议用户在创建了多个简历的情况下从“修改”进入对相应的简历进行填写!
(4) 选择“投递记录”查看自己已经申请了的职位,如图:
图7 投递记录
选择“招聘职位申请/浏览”,用户可以直接进入职位搜索界面,找到自己要申请的职位投放简历。
首先看职位申请主要代码如下:
stmt.executeUpdate("insert into record(pusername,cid,company,ypzw,jlname)values('"+regname+"','"+cid+"','"+company+"','"+zwm+"','"+jlname+"')");
stmt.executeUpdate("insert into crecord(pusername,cid,company,ypzw,jlname)values('"+regname+"','"+cid+"','"+company+"','"+zwm+"','"+jlname+"')");
这两段代码主要是把用户名、身份证号、公司名称、应聘职位名称、简历名称分别插入到表record和crecord。记录显示代码:
<%String id=(String)session.getValue("regid");
String jlname=(String)session.getValue("jlname");
String logsign=(String)session.getValue("loginSign");
String logname=(String)session.getValue("logname");
if(logsign.equals("OK"))
{ session.putValue("regname",logname);
ResultSet rs=stmt.executeQuery("select * from record where cid='"+id+"'");%>
<table><tr><td><font color="#3399FF"><h1>推荐</h1></font><a href="pview.jsp?id=<%=id%>&name=<%=logname%>" >招聘职位申请/浏览</a></td></tr></table>
<% if(rs.next()){%>
<table><tr><td>你所申请过的职位:</td></tr></table>
<table align="center" width="774"><tr><td width="100">编号</td><td width="220">公司名称</td><td width="220">招聘职位</td><td>所投简历</td><td width="50">操作</td></tr></table>
<%rs=stmt.executeQuery("select * from record where cid='"+id+"'");
while(rs.next())
{ %>
<table align="center" width="774"><tr><td width="100"><%=rs.getString(1)%></td>
<td width="220"><%=rs.getString(4)%></td>
<td width="220"><%=rs.getString(5)%></td>
<td><%=rs.getString(6)%></td>
<td width="50"><a href="record_del.jsp?id=<%=rs.getString(1)%>" onclick="return del();">删除</a></td></tr></table><%}
}else{%>
<table><tr><td>你还没有申请过职位!</td></tr></table><%}
}
else
{ out.println("<script language=\"JavaScript\" type=\"text/javascript\">alert(\"请登录!\");window.location.href=\"http://localhost:8080/candylau/index.jsp\";</script>");
}
%>
首先判断用户是否已经登录,如果登录了,就从record表里查找该用户是否有已经有了应聘记录,如果有,就用while在页面上一一的显示出来;如果没有,页面上会显示“你还没有申请过职位”。如过没有登录就弹出对话框“请登录”,点击“确定”回到首页index.jsp。
(5) 选择“我要退出”,就可以注销用户,要再次使用系统需重新登录。
代码实现是用 session.putValue()方法,把loginSign的值变为NO,具体实现:session.putValue(“loginSign”,”NO”),然后用window.location.href=””回到person/pindex.jsp,用户就要进行相应的操作就得从新回到首页登录
4.3 企业用户功能实现
根据图2可看到企业用户的功能模块:公司信息填写、招聘职位发布、求职者信息浏览、职位应聘记录。
企业用户在登录过程中有一个判断,判断企业用户是否已经通过了管理员的审核!判断过程如下:
ResultSet res=stmt.executeQuery("select judge from cuser where cusername='"+username+"' and cpassword='"+password1+"'");
if(res.next()){
String temp;
temp=res.getString("judge");
if(temp.equals("true"))
{ session.putValue("userid",username);
session.putValue("loginSign","OK");
response.sendRedirect("company/cindex1.jsp");}
else{response.sendRedirect("company/cindex2.jsp");}
}
从表cuser里查询用户名和密码都对了的judge字段的值进行判断,如果值为true,则通过了管理员的审查进入图8的界面;如果值为false,则进入如下界面:
图8 等待检查
公司信息填写、招聘职位发布的实现基本相同,都是从提交的文本框里把数据提取出来,然后分别存入不同(cuser、zpxx)的表里就行了。其中招聘信息发布存入表6
Fbtime字段是指招聘信息发布的时间,其存放的格式定义如下:
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
String fb_Time = sdf.format(new java.util.Date());
java.text.SimpleDateFormat("yyyy-MM-dd")把时间格式定义为:年—月—日;
String fb_Time = sdf.format(new java.util.Date())获得系统时间并转化为年-月-日格式。
求职信息浏览、职位应聘记录的实现都主要采用ResultSet res=stmt.executeQuery()语句,来读取表presume1、crecord的数据并分页(分页详见附录)显示在客户端。通过求职信息浏览企业可以在网站里找到自己需要的人才的简历并浏览(浏览的实现和个人用户简历浏览实现基本一致,主要代码都一样),通脱职位应聘记录可一查看有用户对自己求职职位发送的相应的简历等。
4.4 管理员功能实现
管理员的功能主要是对企业用户的注册信息进行审查核对,为求职者提供一个良好的平台。
String sql2="select top "+spage+" num,cusername,cpassword,company,phone,lxman,email,judge from cuser";
ResultSet rs2=stmt.executeQuery(sql2);
此段代码主要是实现对前“+spage+”名企业用户信息的查询,显示的源码如下:
<td width="70">
<%if(cusername==""){%>
<%}else{%>
<%=cusername%>
<%}%>
</td>
<td width="75">
<%if(cpassword==""){%>
<%}else{%>
<%=cpassword%>
<%}%>
</td>
<td width="127">
<%if(company==""){%>
<%}else{%>
<%=company%><%}%>
</td>
<td width="105">
<%if(phone==""){%>
<%}else{%>
<%=phone%><%}%>
</td>
<td width="118">
<%if(lxman==""){%>
<%}else{%>
<%=lxman%><%}%></td>
<td width="144">
<%if(email==""){%>
<%}else{%>
<%=email%>
<%}%>
</td><td width="93">
<%if(judge==""){%>
<%}else{%>
<%=judge%>
<%}%>
</td><td width="27"><%=id%></td>
<% session.putValue("username",cusername);%
<td width="68"><a href="admin1.jsp?judge=<%=judge%>&name=<%=cusername%>&id=<%=id%>" target="_blank">修改</a></td>
<td width="80"><a href="delimg.jsp?id=<%=id%>&name=<%=cusername%>&company=<%=company%>" onclick="return del();">删除</a></td>
管理员点击修该就进入“管理员修改”界面,管理员通过对企业用户上传的资料进行审查核实,如过一切通过就把企业用户的 false标识改为true,并使用stmt.executeUpdate()对表cuser更新。其修改界面如下图:
图9管理员修改
5 系统使用环境配置说明
5.1 开发环境
开发环境:windows
服务器:tomcat
JDK: jdk
数据库:sqlserver
JDBC: Microsoft SQL Server Driver for JDBC
5.2 环境变量设置
省略
结 论
经过半年多的努力,用JSP+SQL开发的速达求职网已经开发完毕。系统基本完成了求职者对招聘信息的浏览、职位的申请等和招聘单位的招聘信息发布、对求职者简历的浏览等功能。
但是总体来说系统还存在不完善之处,比如在代码优化性、系统结构的合理性方面还存在着不足之处。在下一步开发中,还需要对某些模块做更进一步的完善,如与管理员联系的模块。
通过这次毕业设计及论文的撰写,不但巩固了所学的专业知识,提高了处理实际问题的能力,同时也了解到了自己的不足。
参考文献
[1]廖若雪编著. JSP高级编程[M].北京:机械工业出版社,2001.3。
[2]飞思科技产品研发中心编著. JSP教程[M].北京:电子工业出版社,2002.1。
[3]耿祥义,张跃平编著. JAVA2实用教程[M].北京:清华大学出版社,2004.2。
[4]Jerry Bradenbaugb. JAVASCRIPT 应用程序经典实例[M].北京:中国电力出版社,2001.8。
[5]杜上杰,林康司. JSP2.0技术手册[M].北京:电子工业出版社,2003.5。
[6]孙琴,李洪成. TOMCAT与JAVAWEB技术详解[M].北京:电子工业出版社,2004.4。
[7]刘亚宾,杨红.精通ECLIPSE[M].北京:电子工业出版社,2005.4。
附 录
(1)搜索分页显示源码(result.jsp)
省略
致 谢
省略
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于JSP+sqlserver的求职网设计与实现(源码+文档)_jsp_BS架构_求职网.zip |