网上招聘系统详细设计方案_第1页
网上招聘系统详细设计方案_第2页
网上招聘系统详细设计方案_第3页
网上招聘系统详细设计方案_第4页
网上招聘系统详细设计方案_第5页
已阅读5页,还剩52页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目编号文档编号12密级内部网上招聘系统具体设计V1.0评审日期:2023年4月12日目录1.导言 41.1目的 41.2范围 41.3缩写说明 41.4术语定义 51.5引用标准 51.6参考资料 51.7版本更新信息 52系统设计概述 53具体设计概述 64职位管理模块的具体设计 64.1视图层 74.2控制层 124.3模型层 145题库管理模块的具体设计 195.1视图层 195.2控制层 205.3模型层 206问卷管理模块的具体设计 206.1视图层 206.2控制层 216.3模型层 217简历管理模块的具体设计 217.1视图层 217.2控制层 227.3模型层 228面试管理模块的具体设计 228.1视图层 228.2控制层 238.3模型层 239用户登录模块的具体设计 239.1视图层 239.2控制层 249.3模型层 2410用户管理模块的具体设计 2410.1视图层 2410.2控制层 2510.3模型层 2511客户端模块的具体设计 2511.1视图层 2611.2控制层 2612复用的模块 2712.1客户标签库 2712.2数据库的基本操作 2912.3结果显示 3313配置文献 3313.1Web.xml配置文献 3313.2strcut-config.Xml配置文献 35

1.导言1.1目的该文档的目的是描述《网上招聘系统》项目的具体设计,其重要内容涉及:系统功能简介系统具体设计简述各个模块的三层划分最小模块组件的伪代码本文档的预期的读者是:开发人员项目管理人员测试人员1.2范围该文档定义了系统的各个模块和模块接口,但未拟定单元的具体实现,这部分内容将在实现中拟定。1.3缩写说明HR HumanResource(人力资源管理)的缩写。JSPJavaServerPage(Java服务器页面)的缩写,一个脚本化的语言。MVCModel-View-Control(模式-视图-控制)的缩写,表达一个三层的结构体系。1.4术语定义Struct:一种框架体系结构。1.5引用标准 [1]《公司文档格式标准》V1.1 北京长江软件有限公司[2]《软件具体设计报告格式标准》V1.1北京长江软件有限公司软件工程过程化组织1.6参考资料[1]《实战struct》〔美〕TedHusted 机械工业出版社1.7版本更新信息本文档版本更新记录如表C-1:表C-1版本更新记录修改编号修改日期修改后版本修改位置修改内容概述00020所有初始发布版本 2系统设计概述根据《网上招聘系统》的概要设计,本系统按照功能角度分解,可以分为客户端子系统和管理端子系统。根据页面流的设计,管理端系统分为用户登录、用户管理、题库管理、问卷管理、职位管理、简历管理、面试管理等7个模块,他们的关系如图C-1,以下将分小节对各个部分分别进行具体设计。网上招聘系统网上招聘系统管理端子系统客户端子系统登录管理用户管理题库管理问卷管理职位管理简历管理面试管理图C-1:模块设计3具体设计概述 由于本系统采用了基于struct体系结构的设计,即采用MVC的三层设计模式,采用面向对象的Java语言以及JSP的脚本语言。所以,基本采用面向对象的设计方法。在整个的开发过程中,尽也许采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。本文档的具体设计重要是按照Struct的MVC的三个层次分别编制视图层、控制层和模型层模块的伪代码。为下一步的编码提供基础。伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清楚,代码简朴,可读性好,并且类似自然语言。4职位管理模块的具体设计职位管理模块重要实现网上招聘职位的维护和发布,职位管理的Struct视图层、控制层和模型层三个层次的模块如表C-2所示。表C-2:职位管理模块的三层模块视图控制器模型JSP组件ActionFormBean客户标签JoblistjobdetailmodifyjobModifyjobsubmitaddjobjobsearchdetailSelectexammodifyselectvalueexammodifyjobsubmitmodifyselectjobexammodifyvaluesubmitJobDetailFormModifyJobFormUpdateModifyJspFormModifyJobSubmitFormUpdateFormAddFullJobFormDelJobFormJobSearchFormAddJobValueExamPreFormAddJobValueExamFormUpdateJobCartFormAddJobExamPreFormAddJobExamFormDelJobExamFormModifyJobValueExamPreFormModifyJobValueExamFormModifyJobExamPremFormModifyJobExamFormModifyDelValueExamFormModifyDelJobExamFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签JobListActionJobDetailActionModifyJobActionUpdateModifyJspActionModifyJobSubmitActionAddJobPreActionUpdateAcitonAddFullJobActionDelJobActionJobSearchActionAddJobValueExamPreActionAddJobValueActionUpdateJobCartActionAddJobExamPreActionAddJobExamActionDelJobExamActionModifyJobValueExamPreActionModifyJobValueExamActionModifyJobExamPreActionModifyJobExamActionModifyDelValueExamActionModifyDelJobExamActionDBUtilJobBeanJobCartBeanJobEaxmBeanEaxmBean4.1视图层视图层重要实现表达层的功能,视图层涉及JSP组件、Form组件以及JSP中标签库等。JSP组件职位管理视图层共有11个JSP文献,JSP文献详见demo和伪代码文献WSZP-PD-DD-Position-ViewJSP.doc。Form组件职位管理视图层共有20个Form文献,表C-3是AddJobForm的伪代码描述。表C-3/***@System:OnlineJobApplicationSystem*@Version:1.0*@Copyright(C)2023bychangjiangcompany,Inc.AllRightsReserved.*@Class:AddJobForm*@Summary:只增长职位信息的Form*@Create:2023.04.23章飞*@Update:2023.04.28章飞*/packagecom.changjiangcompany.struts.form;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts.action.ActionErrors;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionMapping;//集成了ActionForm的属性和方法publicclassSubmitAnswerFormextendsActionForm{ //InstanceVariables /**职位名称*/ privateStringJobName; /**职位发布日期*/ privateStringPubDate; /**职位发布结束日期*/ privateStringEndDate; /**职位描述*/ privateStringDescription; /**职位规定*/ privateStringRequirements; /**招聘人数*/ privateintJobNum; //Methods /** *Methodvalidate *@parammapping *@paramrequest *@returnActionErrors */ publicActionErrorsvalidate( ActionMappingmapping, HttpServletRequestrequest) { 。。。。。。 } /** *Methodreset *@parammapping *@paramrequest */ publicvoidreset(ActionMappingmapping,HttpServletRequestrequest) { 。。。。。。 } /** *返回JobName. * */ publicStringgetJobName(){ 。。。。。。 } /** *赋值JobName. * */ publicvoidsetJobName(StringJobName){ 。。。。。。 }/** *返回PubDate. * */ publicStringgetPubDate(){ 。。。。。。 } /** *赋值PubDate. * */ publicvoidsetPubDate(StringPubDate){ 。。。。。。 } /** *返回EndDate. * */ publicStringgetEndDate(){ 。。。。。。 } /** *赋值EndDate. * */ publicvoidsetPubDate(StringEndDate){ 。。。。。。 } /** *返回Description. * */ publicStringgetDescription(){ 。。。。。。 } /** *赋值Description. * */ publicvoidsetDescription(StringDescription){ 。。。。。。 } /** *返回Requirements. * */ publicStringgetRequirements(){ 。。。。。。 } /** *赋值Requirements. * */ publicvoidsetRequirements(StringRequirements){ 。。。。。。 } /** *返回JobNum. * */ publicintgetJobNum(){ 。。。。。。 }/** *赋值JobNum. * */ publicvoidsetJobNum(intJobNum){ 。。。。。。 }}其它Form伪代码详见文献WSZP-PD-DD-Position-ViewForm.doc,它有关于每个Form的伪代码的具体描述。客户标签库客户端的标签库涉及StructHtml标签、StructBean标签、StructLogic标签和自定义标签库,其中StructHtml标签、StructBean标签和StructLogic标签是Struct的标签库,而CV标签库是本系统自定义的标签。详见复用模块的具体设计。4.2控制层职位管理控制层共有22个Action文献,表C-4是AddJobAction的伪代码描述。表C-4:AddJobAction的伪代码/***@System:OnlineCVSystem*@Version:1.0*@Copyright(C)2023bychangjiangcompany,Inc.AllRightsReserved.*@Class:AddJobAction*@Summary:只增长职位信息的Action*@Create:2023.04.23章飞*@Update:2023.04.28章飞*/packagecom.changjiangcompany.struts.action;importjava.util.Vector;importjavax.servlet.ServletContext;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjavax.sql.DataSource;importorg.apache.struts.action.Action;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.DynaActionForm;importshare.Constants;importcom.changjiangcompany.DB;importcom.changjiangcompany.Job;//AddJobAction集成了Action的基本方法和属性publicclassAddJobActionextendsAction{ /** *Methodexecute *@parammapping *@paramform *@paramrequest *@paramresponse *@returnActionForward */ publicActionForwardexecute( ActionMappingmapping, ActionFormform, HttpServletRequestrequest, HttpServletResponseresponse){ //获取新增长的职位信息 DynaActionFormAddJobForm=(DynaActionForm)form;。。。。。。 HttpSessionsession=request.getSession(); VectorJobList=newVector(); //连接数据库。。。。。。 //将职位基本信息封装到员工类型的对象 try{ Jobjob=newJob();。。。。。。 //将增长的职位信息加入到相应的数据库。。。。。。 }}其它Action伪代码详见文献WSZP-PD-DD-Position-control.doc,它有关于每个Action伪代码的具体描述。4.3模型层职位管理模型层共有5个组件,表C-5是JobBean的伪代码描述。表C-5:JobBean的伪代码/***@System:OnlineCVSystem*@Version:1.0*@Copyright(C)2023bychangjiangcompany,Inc.AllRightsReserved.*@Class:Job*@Summary:解决Job信息的bean*@Create:2023.04.23冯杰*@Update:2023.04.28冯杰*/packagecom.changjiangcompany;importjava.sql.ResultSet;importjava.util.Vector;publicclassJob{ //与职位信息相关的基本属性和方法 publicintJobID; publicintJobNum; publicStringJobName; publicStringPubDate; publicStringEndDate; publicStringDescription; publicStringRequirements;publicJob(){} //职位描述属性的set及get方法 publicStringgetDescription(){ 。。。。。。 } publicvoidsetDescription(StringDescription){ 。。。。。。 } //职位描述截止日期set及get方法 publicStringgetEndDate(){ 。。。。。。 } publicvoidsetEndDate(StringEndDate){ 。。。。。。 } //职位ID的set及get方法 publicintgetJobID(){ 。。。。。。 } publicvoidsetJobID(intJobID){ 。。。。。。 } //职位名称的set及get方法 publicStringgetJobName(){ 。。。。。。 } publicvoidsetJobName(StringJobName){ 。。。。。。 } //职位招聘人数的set及get方法 publicintgetJobNum(){ 。。。。。。 } publicvoidsetJobNum(intJobNum){ 。。。。。。 } //职位发布日期的set及get方法 publicStringgetPubDate(){ 。。。。。。 } publicvoidsetPubDate(StringPubDate){ 。。。。。。 } //职位规定属性的set及get方法 publicStringgetRequirements(){ 。。。。。。 } publicvoidsetRequirements(StringRequirements){ 。。。。。。 }/** *方法:jobSearch *描述:查询满足条件的职位信息 *@paramDBdb数据库对象 *@paramStringJobName职位名称 *@paramStringPubDate发布日期 *@paramStringEndDate截止日期 *@returnVector职位列表 *@throwsException */ publicstaticVectorjobSearch(DBdb,StringJobName, StringPubDate,StringEndDate)throwsException{。。。。。。 } /** *方法:getJobList *描述:获取职位列表 *@paramDBdb数据库对象 *@returnVector职位列表 *@throwsException */ publicstaticVectorgetJobList(DBdb)throwsException{。。。。。。 } /** *方法:getJobDetail *描述:获取职位具体信息 *@paramDBdb数据库对象 *@paramintJobID职位代号 *@returnVector职位列表 *@throwsException */ publicVectorgetJobDetail(DBdb,intJobID)throwsException{。。。。。。 } /** *方法:addJob *描述:新加职位Form信息 *@paramDBdb数据库对象 *@paramStringJobName职位名称 *@paramStringPubDate发布日期 *@paramStringEndDate截止日期 *@paramStringDescription职位描述 *@paramStringRequirements职位规定 *@paramStringJobNum招聘人数 *@returnboolean数据库操作是否成功 *@throwsException */ publicbooleanaddJob(DBdb,StringJobName,StringPubDate,StringEndDate,StringDescription,StringRequirements,intJobNum)throwsException{。。。。。。 }/** *方法:modifyJob *描述:修改职位信息 *@paramDBdb数据库对象 *@paramStringJobID职位代号 *@paramStringJobName职位名称 *@paramStringPubDate发布日期 *@paramStringEndDate截止日期 *@paramStringDescription职位描述 *@paramStringRequirements职位规定 *@paramStringJobNum招聘人数 *@returnboolean数据库操作是否成功 *@throwsException */ publicbooleanmodifyJob(DBdb,intJobID,StringJobName, StringPubDate,StringEndDate,StringDescription, StringRequirements,intJobNum)throwsException{。。。。。。 } /** *方法:DeleteJob *描述:删除职位信息 *@paramDBdb数据库对象 *@paramintJobID职位代号 *@returnboolean数据库操作是否成功 *@throwsException */ publicbooleanDeleteJob(DBdb,intJobID)throwsException{。。。。。。}}其它模型组件的伪代码详见文献WSZP-PD-DD-Position-Model.doc,它有关于每个类、Bean的伪代码的具体描述。5题库管理模块的具体设计题库管理重要是提供职位问卷的相关题目,题库管理的Struct视图层、控制层和模型层三个层次的模块如表C-6所示。表C-6:知识题库管理模块的三层模块视图控制器模型JSP组件ActionFormBean客户标签kninlist.jspknlist.jspkndetail.jspaddkn.jspaddanswer.jspaddanswer_cart.jspQuestionSearchFormQuestionDetailFormAddQuestionFormDelQuestionFormSubmitAnswerFormDelAnswerFormSubmitAnswer_CartFormDelAnswer_CartFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签QuestionSearchActionQuestionDetailActionAddQuestionActionDelQuestionActionSubmitAnswerActionDelAnswerActionSubmitAnswer_CartActionDelAnswer_CartActionDBUtilQuestionbeanAnswerbeanKnCart5.1视图层知识题管理视图层涉及JSP组件、Form组件以及标签库等。共有6个JSP文献,详见demo和伪代码文献WSZP-PD-DD-knowledge-ViewJSP.doc。共有8个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-knowledge-ViewForm.doc。标签库详见12.1描述。5.2控制层知识题管理控制层共有8个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-knowledge-control.doc。5.3模型层知识题管理模型层共有4个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-knowledge-Model.doc。6问卷管理模块的具体设计问卷管理重要是实现职位相应的问卷维护功能,问卷管理的Struct视图层、控制层和模型层三个层次的模块如表C-7所示。表C-7:问卷管理模块的三层模块视图控制器模型JSP组件ActionFormBean客户标签examlist.jspexamdetail.jspaddexam_cart.jspquestionadd.jspexamview.jspExamSearchFormExamDetailFormAddExamFormDelExamFormSubmitQuestionToExamFormDelQuestionExamFormViewExamFormOrderQuesFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签ExamSearchActionExamDetailActionAddExamActionDelExamActionQuestionSearchActionSubmitQuestionToExamActionDelQuestionExamActionViewExamActionOrderQuestActionDBUtilExambeanExamCart6.1视图层问卷管理视图层涉及JSP组件、Form组件以及标签库等。共有5个JSP文献,详见demo和伪代码文献WSZP-PD-DD-Exam-ViewJSP.doc。共有8个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-Exam-ViewForm.doc。标签库详见12.1描述。6.2控制层问卷管理控制层共有9个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-Exam-control.doc。6.3模型层问卷管理模型层共有3个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-Exam-Model.doc。7简历管理模块的具体设计简历管理重要实现相应聘者提交的简历和问卷的整理功能,简历管理的Struct视图层、控制层和模型层三个层次的模块如表C-8所示。表C-8:简历管理模块的三层模块视图控制器模型JSP组件ActionFormBean客户标签Joblist.jspPersoninfo.jsppersoninfoDetail.jspReply.jspJoblistFormReplyFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签ResumeActionResumelistActionPersoninfoActionPersoninfoDetailActionInReplyActionReplyActionDBUtilJobbeanReplybean7.1视图层简历管理视图层涉及JSP组件、Form组件以及标签库等。共有4个JSP文献,详见demo和伪代码文献WSZP-PD-DD-Resume-ViewJSP.doc。共有2个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-Resume-ViewForm.doc。标签库详见12.1描述。7.2控制层简历管理控制层共有6个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-Resume-control.doc。7.3模型层简历管理模型层共有3个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-Resume-Model.doc。8面试管理模块的具体设计面试管理的Struct视图层、控制层和模型层三个层次的模块如表C-9所示。表C-9:面试管理的三层模块视图控制器模型JSP组件ActionFormBean客户标签interview.jspinterviewState.jspCVdetail.jspinterviewResult.jspInterviewStateFormCVdetailForminterviewResultFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签InInterviewActioninterviewActionwaitActioninterviewedActionViewResumeActioninterviewStateActioninterviewResultActionDBUtilJobbeanInterviewbean8.1视图层面试管理视图层涉及JSP组件、Form组件以及标签库等。共有4个JSP文献,详见demo和伪代码文献WSZP-PD-DD-Interview-ViewJSP.doc。共有3个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-Interview-ViewForm.doc。标签库详见12.1描述。8.2控制层面试管理控制层共有7个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-Interview-control.doc。8.3模型层面试管理模型层共有3个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-Resume-Model.doc。9用户登录模块的具体设计用户登陆管理重要实现了对管理端用户登录的验证和权限管理功能,用户登陆管理的Struct视图层、控制层和模型层三个层次的模块如表C-10所示。表C-10:用户登陆管理的三层模块视图控制器模型JSP组件ActionFormBean客户标签index.jspmain.jspcenter.jsptop.jspleft.jspbottom.jspLoginFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签LoginActionDBUtilPermissionUserbean9.1视图层用户登陆管理视图层涉及JSP组件、Form组件以及标签库等。共有6个JSP文献,详见demo和伪代码文献WSZP-PD-DD-Login-ViewJSP.doc。共有1个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-Login-ViewForm.doc。标签库详见12.1描述。9.2控制层用户登陆管理控制层共有1个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-Login-control.doc。9.3模型层用户登陆管理模型层共有3个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-Login-Model.doc。10用户管理模块的具体设计用户管理重要实现对管理端用户的增删功能以及用户的权限设立功能,用户管理的Struct视图层、控制层和模型层三个层次的模块如表C-11所示。表C-11:用户管理的三层模块视图控制器模型JSP组件ActionFormBean客户标签main.jspuserlist.jspuserdetail.jspadduser.jspUserListFormUserDetailFormModifyUserFormAddUserFormDelUserFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签UserListActionUserDetailActionModifyUserActionSubmitModifyActionAddUserActionSubmitAddActionDelUserActionDBUtilUserBean10.1视图层用户管理视图层涉及JSP组件、Form组件以及标签库等。共有4个JSP文献,详见demo和伪代码文献WSZP-PD-DD-User-ViewJSP.doc。共有5个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-User-ViewForm.doc。标签库详见12.1描述。10.2控制层用户管理控制层共有7个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-User-control.doc。10.3模型层用户管理模型层共有2个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-User-Model.doc。11客户端模块的具体设计客户端模块重要实现应聘者提交简历的功能,客户端模块的Struct视图层、控制层和模型层三个层次的模块如表C-12所示。表C-12:客户端的三层模块视图控制器模型JSP组件ActionFormBean客户标签index.jspjoblist.jspjobdetail.jspCVbasicinfo.jspcarieer.jspeducation.jspskills.jsprelation.jspaddtion.jspCVall.jspexam.jspJobFormJobDetailFormCVbasicinfoFormCarieerFormEducationFormSkillsFormRelationFormAddtionFormCVallFormExamFormStructHtml标签StructBean标签StructLogic标签用户自定义CV标签库的标签EnActionJobDetailActionApplyJobActionAddbasicinfoActionProcesscarieerActionAddcarieerActionBackcarieerActionProcesseducationActionAddeducationActionBackeducationActionProcessskillsActionAddskillsActionBackskillsActionProcessrelationActionAddrelationActionBackrelationActionAddaddtionActionBackaddtionActionCvallActionBackCvallActionSubmitActionBacksubmitActionDBUtilCVDataBean11.1视图层客户端管理视图层涉及JSP组件、Form组件以及标签库等。共有11个JSP文献,详见demo和伪代码文献WSZP-PD-DD-Client-ViewJSP.doc。共有10个Form文献,每个Form模块的伪代码详见文献WSZP-PD-DD-Client-ViewForm.doc。标签库详见12.1描述。11.2控制层客户端管理控制层共有22个Action文献,每个Action伪代码的描述详见文献WSZP-PD-DD-Client-control.doc。11.3模型层客户端管理模型层共有2个Bean文,每个Bean伪代码的描述详见文献WSZP-PD-DD-Client-Model.doc。12复用的模块复用是本系统设计的一个重要原则,特别struct体系自身也遵循了复用的原理,本系统复用的部分重要涉及标签库、数据库基本操作以及结果的显示等环节。12.1客户标签库客户标签库重要涉及Struct标准标签库本系统中使用了StructHtml标签、StructBean标签和StructLogic,他们是Struct标准标签库。自定义标签库CV标签是系统自定义的标签库,表C-13是CV标签库的标签模块。 表C-13:CV标签库的标签模块序号标签功能描述1ValidateSessionTag身份验证2PageBeanTag分页表C-14是身份验证的伪代码说明,用户登录后进入的每个页面,为了安全的考虑管理端都需要进行用户验证,以防止非法登录,验证每个页面的JSP都可以标签的方式使用这个复用的。表C-14:身份验证的伪代码/***@System:OnlineCVSystem*@Version:1.0*@Copyright(C)2023byXXX,Inc.AllRightsReserved.*@Class:ValidateSessionTag*@Summary:对用户的身份验证*@Create:2023.03.28郭士榕*@Update:*/packagetag;importjavax.servlet.http.HttpSession;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.tagext.TagSupport;importmons.logging.Log;importmons.logging.LogFactory;/***ValidateSessionTag是客户端标签,以判断用户是否具有访问当前页面的权限*通过保持、判断一个session实现*/publicfinalclassValidateSessionTagextendsTagSupport{ privateStringname="username";privateStringpage="/login.jsp";privateLoglog=LogFactory.getLog(this.getClass().getName());publicintdoEndTag()throwsJspException{ booleanvalid=false; HttpSessionsession=pageContext.getSession(); //判断session中是否有用户信息存在//假如用户存在则不做任何解决 //用户不存在则跳转到指定的页面 }publicintdoStartTag()throwsJspException{ return(SKIP_BODY);}//获取用户信息publicStringgetName(){ 。。。。。。}//获取用户当前访问的页面publicStringgetPage(){ 。。。。。。} //假如用户没有当前页面的访问访问权限,则返回到指定页面,设立这个指定页面publicvoidrelease(){。。。。。。}//设立用户信息publicvoidsetName(Stringname){。。。。。。}//设立当前页面publicvoidsetPage(Stringpage){ 。。。。。。}}其它详见文献WSZP-PD-DD-Reuse-CVTag.doc,它对每个模块的伪代码都有比较具体的描述。12.2数据库的基本操作所有的模块都需要进行数据库的操作,应当有一个通用的,高质量的数据库操作模块,其实所有的模型层的模块也都调用这个模块的。这个模块的名称是DBUtil,类名DB。表C-15是它的伪代码描述。表C-15:数据库的基本操作/***@System:OnlineCVSystem*@Version:1.0*@Copyright(C)2023bychangjiangcompany,Inc.AllRightsReserved.*@Class:DB*@Summary:取得数据库连接并对数据库进行查询、增长记录、删除记录操作*@Create:2023.04.27李林*@Update:*/packagecom.changjiangcompany.struts.javashare;importjava.sql.*;importjava.util.*;importcom.microsoft.jdbcx.sqlserver.SQLServerDataSource;publicclassDB{ privateStatementstmt=null; privateResultSetrs=null; publicDBConnect(){ //初始化连接 。。。。。 }/** *方法:executeQuery *描述:执行查询记录操作 *输入参数:Stringstrsql要执行操作的sql语句 *返回:ArrayListArrayRs查询的结果 *异常:SQLException */publicArrayListexecuteQuery(SQLServerDataSourcesource,StringstrSql)throwsSQLException{/* *连接数据库 *//* *执行SQL的查询语句 */。。。。。。 /* *将每条记录写入ArrayList里 */ 。。。。。。 }/** *方法:executeInsert *描述:执行插入记录操作 *输入:Stringstrsql要执行操作的sql语句 *返回:boolean类型,插入操作是否对的执行 *异常解决:SQLException */ publicbooleanexecuteInsert(SQLServerDataSourcesource,StringstrSql)throwsSQLException{/* *连接数据库 *//* *执行SQL的插入语句 */。。。。。。 /* *返回SQL插入语句执行的对的或者错误 */}/** *方法:executeUpdate *描述:执行更新操作 *输入:Stringstrsql要执行操作的sql语句 *返回:int更新操作的记录数 *异常解决:SQLException */ publicintexecuteUpdate(SQLServerDataSourcesource,StringstrSql)throwsSQLException{/* *连接数据库 *//* *执行SQL的修改语句 */。。。。。。 /* *返回SQL修改语句执行的记录数 */}/** *方法:executeDelete *描述:执行删除操作 *输入:Stringstrsql要执行操作的sql语句 *返回:int删除操作的记录数 *异常解决:SQLException */ publicintexecuteDelete(SQLServerDataSourcesource,StringstrSql)throwsSQLException{/* *连接数据库 *//* *执行SQL的删除语句 */。。。。。。 /* *返回SQL删除语句记录数 */}12.3结果显示为了保证系统显示结果的一致性和统一性,系统中所有的结果显示要调用统一的结果显示页面,表C-16是结果显示一览表。表C-16:结果显示页面一览表序号模块名功能说明1SuccessResult成功登陆2WrongResult结果错误3Common操作提醒4Top主页面的头部5Bottom主页面的脚部6Left主页面的右部各个模块详见文献WSZP-PD-DD-Reuse-ResultShow.doc,它对每个模块的伪代码都有比较具体的描述。13配置文献Struct应用采用两个基于XML的配置文献来配置应用,这两个配置文献为Web.xml和strcut-config.Xml。Web.xml合用于所有的JavaWeb应用,他是Web应用的发布描述文献,在JavaServlet规范中对它做了定义,对于Struct应用,在Web.xml文献中除了配置JavaWeb应用的常规信息,还应当配置和Struct相关的特殊信息。strcut-config.Xml是Struct应用专有的配置文献,事实上,也可以根据需要给这个配置文献换为其它的文献名。下面给出本项目中Web.xml配置文献和strcut-config.Xml配置文献的配置环节和范围,在编码实行过程中,由开发经理指派专人负责所有文献的具体配置和协调。13.1Web.xml配置文献 Web.xml配置文献的配置环节和范围配置Struct的ActionServlet在Web.xml中配置ActionServlet重要涉及声明ActionServlet(即配置<Servlet>元素)、运营时环境的初始化配置(即配置<Servlet>元素的<init-param>的子元素)和指定ActionServlet可以解决哪些URL(即配置<Servlet-mapping>元素)。例如<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.structs.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struct-config.xml</param-value></init-param></servlet><servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern></servlet-mapping>配置欢迎文献清单当客户访问Web应用时,假如没有指定具体的文献名,Web容器可以自动调用Web应用的欢迎文献。<welcome-file-list>元素用来设立欢迎文献清单。例如:<welcome-file-list> <welcome-file>index.jsp</welcome-file><welcome-file>login.jsp</welcome-file></welcome-file-list>配置错误解决在系统运营过程中假如错误发生而Struct框架不能解决这种错误时,就将错误抛给Web容器,为了避免让用户看到原始的错误信息,可以配置<error>元素及其子元素<error-code>和<exception-type>等.例如:<error> <error-code>404</error-code> <location>/common/404.jsp</location></error><error> <exception-type>java.io.IOException</exception-type> <location>/common/system_ioerror.jsp</location></error>配置标签库Strcut框架提供了一些实用的客户化标签库,假如在应用中使用了标签库,那么必须在配置元素<taglib>中配置它们,它有两个子元素,<taglib-url>和<taglib-location>.例如:<taglib><taglib-url>/WEB-INF/struts-bean.tld</taglib-url><taglib-location>/WEB-INF/struts-bean.tld</taglib-location></taglib>13.2strcut-config.Xml配置文献Struts框架在启动的时候会读入其配置文献,根据它来创建和配置各种组件.Struts配置文献使得开发者可以灵活地组装和配置各个组件,提高了应用软件的可扩展性和灵活性.<struts-config>有8个子元素:<data-sources><form-beans>,<global-exceptions>,<global-forwards>,<action-mappings>,<controller>,<message-resources>,<plug-in>在配置文献中,必须按照这个先后顺序来配置各个子元素.<data-sources>元素<data-sources>元素用来配置应用所需要的数据源,数据源负责建立和特定数据库的连接。<data-sources>元素包含零个、或者多个<data-source>子元素,它配置特定的数据源,可以包含多个<set-property>。例如: <data-sources> <data-sourcekey="sqlserver"type="mons.dbcp.BasicDataSource"> <set-propertyproperty="driverClassName"value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <set-propertyproperty="url"value="jdbc:microsoft:sqlserver://:1433;DatabaseName=onlineCV"/> <set-propertyproperty="maxActive"value="5"/> <set-propertyproperty="username"value="sa"/> <set-propertyproperty="password"value="xiaobo633601"/> <set-propertyproperty="autoCommit"value="true"/> </data-source> </data-sources><form-beans>元素<form-beans>元素用来配置多个ActionFormBean。<form-beans>元素包含零个或者多个<form-bean>子元素,每个<form-bean>元素又包含多个属性。例如: <form-beans> <form-beanname="AddJobForm"type="org.apache.struts.action.DynaActionForm"> <form-propertyname="JobName"type="java.lang.String"/> <form-propertyname="PubDate"type="java.lang.String"/> <form-propertyname="EndDate"type="java.lang.String"/> <form-propertyname="Requirements"type="java.lang.String"/> <form-propertyname="Description"type="java.lang.String"/> <form-propertyname="JobNum"type="java.lang.Integer"/> </form-bean> <form-beanname="JobDetailForm"type="org.apache.struts.action.DynaActionForm"> <form-propertyname="JobID"type="java.lang.Integer"/> <form-propertyname="JobName"type="java.lang.String"/> <form-propertyname="PubDate"type="java.lang.String"/> <form-propertyname="EndDate"type="java.lang.String"/> <form-propertyname="Description"type="java.lang.String"/> <form-propertyname="Requirements"type="java.lang.String"/> <form-propertyname="JobNum"type="java.lang.Integer"/> </form-bean></form-beans><global-exceptions>元素<global-exceptions>元素用于配置异常解决,<global-exceptions>元素可以包含零个或者多个<exception>元素。例如:<global-exceptions> <exception> key=”error.invalidlogin” path=”com/relogin.jsp” scope=”request” type=”netstore.framework.exceptions.InvalidLoginException”/></global-exceptions><global-forwards>元素<global-forwards>元素用来声明全局的转发关系,实现Web组件之间的互相转发。<global-forwards>元素由零个或者多个<forw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论