




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘要:3关键字:4矚慫润厲钐瘗睞枥庑赖。Abstract:4聞創沟燴鐺險爱氇谴净。Key word:5残骛楼諍锩瀨濟溆塹籟。1 前言1酽锕极額閉镇桧猪訣锥。1.1 问题的提出1彈贸摄尔霁毙攬砖卤庑。1.2 课题的背景及意义1謀荞抟箧飆鐸怼类蒋薔。1.2.1 课题背景1厦礴恳蹒骈時盡继價骚。1.2.2 课题意义2茕桢广鳓鯡选块网羈泪。2 JSP及其相关技术2鹅娅尽損鹌惨歷茏鴛賴。2.1 JSP技术2籟丛妈羥为贍偾蛏练淨。2.1.1 JSP的运作模式3預頌圣鉉儐歲龈讶骅籴。2.1.2 JSP的特点5渗釤呛俨匀谔鱉调硯錦。2.2 Servlet技术8铙誅卧泻噦圣骋贶頂廡。2.2.1 Servlet 技术概述8擁締凤袜备訊顎轮烂蔷。2.2.2 Servlet 与 JSP 之间的关系9贓熱俣阃歲匱阊邺镓騷。2.2.3 Servlet 应用范围及缺陷9坛摶乡囂忏蒌鍥铃氈淚。2.2.4 Servlet 的生命周期10蜡變黲癟報伥铉锚鈰赘。2.3 JDBC技术11買鲷鴯譖昙膚遙闫撷凄。2.3.1 JDBC概述11綾镝鯛駕櫬鹕踪韦辚糴。2.3.2 JDBC两层模型和三层模型12驅踬髏彦浃绥譎饴憂锦。2.3.3 使用JDBC的优缺点12猫虿驢绘燈鮒诛髅貺庑。2.4 JSP开发方式13锹籁饗迳琐筆襖鸥娅薔。3 需求分析14構氽頑黉碩饨荠龈话骛。3.1 需求分析概述14輒峄陽檉簖疖網儂號泶。3.2 个人博客系统概述15尧侧閆繭絳闕绚勵蜆贅。3.3 系统目标15识饒鎂錕缢灩筧嚌俨淒。3.4 系统功能要求16凍鈹鋨劳臘锴痫婦胫籴。4 系统概要设计17恥諤銪灭萦欢煬鞏鹜錦。4.1 功能模块设计及模块功能描述17鯊腎鑰诎褳鉀沩懼統庫。4.1.1 功能模块设计17硕癘鄴颃诌攆檸攜驤蔹。4.1.2 模块功能描述17阌擻輳嬪諫迁择楨秘騖。4.2 数据库设计18氬嚕躑竄贸恳彈瀘颔澩。4.2.1 概念结构简介18釷鹆資贏車贖孙滅獅赘。4.2.2 概念模型设计18怂阐譜鯪迳導嘯畫長凉。4.2.3 数据库表设计19谚辞調担鈧谄动禪泻類。4.2.4 系统模块设计21嘰觐詿缧铴嗫偽純铪锩。4.3 关系模型22熒绐譏钲鏌觶鷹緇機库。4.4 数据字典23鶼渍螻偉阅劍鲰腎邏蘞。5 系统详细设计26纣忧蔣氳頑莶驅藥悯骛。5.1 系统的开发环境26颖刍莖蛺饽亿顿裊赔泷。5.1.1 JSP支持平台Tomcat6.026濫驂膽閉驟羥闈詔寢賻。5.1.2 JDK概述及配置27銚銻縵哜鳗鸿锓謎諏涼。5.1.3 开发工具Dreamweaver 828挤貼綬电麥结鈺贖哓类。5.2 系统中JSP技术的应用29赔荊紳谘侖驟辽輩袜錈。5.2.1 用JavaBean 封装数据库操作29塤礙籟馐决穩賽釙冊庫。5.2.2 字符编码过滤器EncodingFilter30裊樣祕廬廂颤谚鍘羋蔺。5.3 系统主要功能模块设计30仓嫗盤紲嘱珑詁鍬齊驁。5.3.1 相册模块30绽萬璉轆娛閬蛏鬮绾瀧。5.3.2 日志模块32骁顾燁鶚巯瀆蕪領鲡赙。5.3.3 视频模块34瑣钋濺暧惲锟缟馭篩凉。5.3.4 留言板模块35鎦诗涇艳损楼紲鯗餳類。6 研究成果与前景展望35栉缏歐锄棗鈕种鵑瑶锬。6.1 研究成果概述35辔烨棟剛殓攬瑤丽阄应。6.2 软件测试36峴扬斕滾澗辐滠兴渙藺。6.2.1 软件测试的目标及方法36詩叁撻訥烬忧毀厉鋨骜。6.2.2 难点和问题37则鯤愜韋瘓賈晖园栋泷。6.3总结与展望37胀鏝彈奥秘孫戶孪钇賻。6.3.1 毕业设计总结37鳃躋峽祷紉诵帮废掃減。6.3.2 展望38稟虛嬪赈维哜妝扩踴粜。致谢39陽簍埡鲑罷規呜旧岿錟。参考资料39沩氣嘮戇苌鑿鑿槠谔應。附录 系统使用说明40钡嵐縣緱虜荣产涛團蔺。毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。懨俠劑鈍触乐鹇烬觶騮。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。謾饱兗争詣繚鮐癞别瀘。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。呙铉們欤谦鸪饺竞荡赚。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。莹谐龌蕲賞组靄绉嚴减。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日菏泽学院本科生毕业论文教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于B/S架构的Java个人博客开发摘要:本论文的研究课题是基于B/S架构的Jsp个人博客开发。本系统主要为用户提供博客系统。通过系统的需求分析、概要设计和详细设计, 使该系统具备了数据库信息检索及维护的功能,并且实现了博客系统的相关操作功能。麸肃鹏镟轿騍镣缚縟糶。在本系统的设计与实现中主要使用了JSP(Java Server Pages)+JavaBean+Servlet动态网页设计技术,并以Windows XP为运行环境,采用浏览器/服务器结构(B/S),后台数据库是MySQL, Tomcat服务器作为JSP的支持平台。采用开发工具采用的是Dreamweaver 8、JDK1.6和编程工具Myeclipse。納畴鳗吶鄖禎銣腻鰲锬。本系统主要由四个功能模块组成:1. 主模块功能: 设置用户界面、接受用户选择、调用相应的程序块。2. 相册模块功能: 接受博主提交信息,根据信息做出相应添加、删除、修改操作,并对相应操作对数据库进行操作,修改数据库内容,以供前台调用風撵鲔貓铁频钙蓟纠庙。3. 日志模块功能: 根据博主提交信息,对数据库进行添加修改删除,及时更新数据库。以供前台调用。4. 视频模块功能: 实现上传或删除视频,并对数据库进行及时操作,以供前台操作。5关于博主模块功能:实现博主个人信息的添加、删除、修改的功能,并及时对数据库进行操作,以供前台调用。灭嗳骇諗鋅猎輛觏馊藹。6留言本模块功能:为浏览者提供留言途径,后台删除、查看留言,并对数据库进行即使操作,以供前台调用。本系统重点完成了对相册模块和日志模块的实现,详细设计了博客后五个模块的功能,达到了帮助用户对个人博客系统使用的目的。铹鸝饷飾镡閌赀诨癱骝。关键字: JavaBean、JDBC、ODBC Based on B/S structure is Java personal blog development 攙閿频嵘陣澇諗谴隴泸。Student majoring in Computer science and technology Dukang趕輾雏纨颗锊讨跃满賺。 Tutor LvFangXingAbstract:This thesis research topic is based on B/S structure Jsp personal blog development. This system mainly provide users with blog system. Through the demand analysis of the system, high level design and detailed design, so that the system has the database information retrieval and maintenance function, and fulfilled the blog system related operation function. 夹覡闾辁駁档驀迁锬減。In this system in the design and implementation of main USES the JSP (Java web Server JavaBean + + Servlet dynamic web design technology, and with Windows XP as operation environment, use browser/Server structure (B/S), backend database is MySQL Server as JSP, Tomcat support platform. Using development tool use is Dreamweaver 8, JDK1.6 and programming tools Myeclipse. 视絀镘鸸鲚鐘脑钧欖粝。This system mainly consists of four function modules: 偽澀锟攢鴛擋緬铹鈞錠。1. The main module function: set the user interface, accept the user to select, call the corresponding program blocks. 緦徑铫膾龋轿级镗挢廟。2 albums module function: accept blogger submit information, according to the information makes the corresponding add, delete, modify operation, and to the corresponding operation on the database operation, the modified database content, in order to offer the front desk calls 騅憑钶銘侥张礫阵轸蔼。3. Log module function: according to the blogger submit information that the database add modification and deletion, update the database. For front desk calls. 疠骐錾农剎貯狱颢幗騮。4. Video module function: to achieve upload or delete video, and the database, in order to offer timely operation desk operation. 镞锊过润启婭澗骆讕瀘。5. Shut get autorization module function: to achieve blogger personal information to add, delete, modify the function, and promptly to the database operation, for front desk calls. 榿贰轲誊壟该槛鲻垲赛。6. Guestbook module function: provide your visitor with message way, background, and delete, viewer messages to the database, for even operation desk calls. 邁茑赚陉宾呗擷鹪讼凑。This system mainly completed the album module and log of the module, the detailed design blog closed after five modules of the system, achieves the help users to personal blog systems use purpose. 嵝硖贪塒廩袞悯倉華糲。Key word: JavaBean, JDBC, ODBC 431 前言1.1 问题的提出随着互联网的不断发展,人们的生活发生了巨大的变化,人们获取信息资料的方式也发生了巨大的改变,越来越多的人喜欢到网上去收集信息,特别是近几年,随着数字化产品的不断普及,人们越来越喜欢上Blog(博客),当下个人博客得到了长足的发展,类似于新浪,网易,都有自己的博客系统。个人博客现在已渐渐成为人们交流,获取网络信息的主要途径。为此,我提出了个人博客系统开发的课题。该栎谖碼戆沖巋鳧薩锭。1.2 课题的背景及意义1.2.1 课题背景博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。劇妆诨貰攖苹埘呂仑庙。个人博客是博客的一种。自建独立网站的博客主,有自己的域名、空间和页面风格。是个人持续性的日记或评论。它是最传统常见的博客。个人博客作者一般注重博客的内容,即使他们的博客从来没有被除了自己以外的人阅读过。博客经常不只是一个沟通的方法,它们成为了一种反映生活的方法或艺术创作。编写博客可以抒发感情,引起人们的共鸣。很少个人博客出名和成为主流,但一些个人博客很快就聚集了许多读者。研究该系统的意义在于通过个人博客记录个人生活点滴:如同日记一般,可将自己每日生活中发生的事情记录下来,并且跟朋友或网友们分享。传达个人自由思想:博客是个自由的空间,可依照个人自由意志去撰写任意的内容,传达个人的自由思想。抒发分享个人情绪:博客常用来抒发个人情绪,把生活中的不满、郁闷或愤怒宣泄到博客上,或是网友们分享个人心情。分享交流知识技术:如果有专长、兴趣的人,可以借由撰写博客来分享自己的知识与技术,并和网络上得网友交流讨论。 认识同好交流朋友:借由博客的社群性质可以吸引兴趣或性格相合的网友来观看,并且借此认识结交新朋友。 宣传文化推销产品:可以通过自己的企业博客来对外宣传本企业文化,或者通过博客来做营销。臠龍讹驄桠业變墊罗蘄。1.2.2 课题意义今天,随着网络技术的不断发展进步,网上流行的博客系统以其庞大的访问量和低廉的成本受到越来越多的人的青睐。同时,由于网上博客系统所占据的主导地位,一个简单的个人博客,就可以使用户随心所欲的达到自己的交流目的,这也为网上信息传递提供了一个平台。而且,由于个人博客才刚刚兴起,并且现在还处于免费阶段,以后将会有越来越多的人加入到个人博客的行列中来,同时随着法律的不断完善,网上个人博客也收到了法律的保护,用户可以在自己的博客上发表自己的言论,同他人进行思想上的交流。随着社会的进步,个人博客系统也将成为网络主流。借此,大部分人可以从网络上通过个人博客进行网络营销。由此可见,个人博客系统将拥有一片广阔的市场。不仅仅是人们日常生活的交流,更多的是通过博客学习到更多的知识。鰻順褛悦漚縫冁屜鸭骞。2 JSP及其相关技术2.1 JSP技术JSP是由SUN 微软系统公司(Sun Microsystems Inc)倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。目前在国外的众多网站特别是涉及电子商务的网站中,已经大量使用了JSP技术。穑釓虚绺滟鳗絲懷紓泺。JSP(Java Server Pages,服务器端动态网页)既然名为“服务器端”动态网页,可想而知,JSP必定是在“服务器”建立的动态网页。更明确地说,JSP是能在Web Server(尤其是JSWDK)端整合Java语言至HTML网页的环境中,利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。隶誆荧鉴獫纲鴣攣駘賽。2.1.1 JSP的运作模式JSP能在Web Serve (尤其是JSWDK)端整合Java语言至HTML网页的环境中,然后利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。浹繢腻叢着駕骠構砀湊。相对应用于Client端(指的是浏览器端的HTML文件)内嵌的描述语言,Sun公司提供的JSWDK-1.0.1也支持类似的描述语言,它便是Java语言。先来看看JSP的运作模式。鈀燭罚櫝箋礱颼畢韫粝。由于JSP放置在Web服务器上,它在解析使用者由表单穿送过来的字段数据后,接着通过适当的逻辑生成标准HTML文件,然后传送给客户端,使用者看到的是一般符合HTML格式的文件内容。因为JSP是在JSWDK-1.0.1上执行的,所以无论使用者使用的是哪一种平台下的浏览器,皆能欣赏由JSP产生的网页内容。惬執缉蘿绅颀阳灣熗鍵。在传统的网页HTML义件中加入Java程序片段(scriptlet)和JSP标签(tag),就构成了JSP网页(.jsp)。web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTMI格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行。网络上传送给客户端的仅是得到的结果,JSP对客户浏览器的要求很低,支持无Plug in,ActiveX,无Java Applet、甚至无Frame的浏览器。贞廈给鏌綞牵鎮獵鎦龐。JSP网页包含以下的组件: JSP指示。JSP页面使用JSP指示将指令传递到JSP引擎。其中包括:JSP页面指示传递与页面相关的信息,例如缓冲区和线程信息或者出错处理;语言指示指定脚本语言以及所有的扩展,包含指示可以被用来在页面中包含一个外部的文件,被包含的文件可能是另一个JSP文件;标签库指示指出页面可以调用的客户标签库类型。嚌鲭级厨胀鑲铟礦毁蕲。 JSP标签。绝大多数JSP处理将通过与JSP相关的基于XML的标签完成。JSP1.0中包含大量标准标签,这些标签作为核心标签包括:薊镔竖牍熒浹醬籬铃騫。JSP:useBcan这个标签卢明对一个JavaBeans组件实例的使用。如果法组件的实例不存在,JavaBeans组件将实例化和注册这个标签;齡践砚语蜗铸转絹攤濼。JSP:setProperty这个标签在组件的实例中设置一个属性的值;JSP:getProperty这个标签获取一个组件的实例的属性佰,将其转化为字符串,并民将它放人隐含对象“out”中;绅薮疮颧訝标販繯轅赛。JSP:include和JSP:forward。1.1版本包含更多的标准标签。标签的好处在于它们易于在应用程序间使用和共享。基于标签的语法的真正威力来自于客户标签库的开发;使得工具供应商或其他人员能够为特定的要求创建和分派标签。饪箩狞屬诺釙诬苧径凛。 脚本组件。JSP页面可以在页面中包含小的脚本、称之为小脚本(scriptlet)。小脚本是一个代码片段,在请求的处理过程中被执行。小脚本可以和页面中的静态组件 组合来创建动态生成的页面。烴毙潜籬賢擔視蠶贲粵。脚本在“”标志中被描述。在这对标志中的所有东西都会被脚 本描述语言引擎执行。JSP规范支持所有常用的脚本组件,包括表达式和声明。 JSP页面的应用模型。JSP页面由JSP引擎执行,引擎安装在Web服务器或者支持JSP的应用服务器上。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。JSP页面通常被编译成为Java Servlet。后者是一个标准的Java扩展,页面开发人员能够访问全部的Javs应 用环境,以利用Java技术的扩展性和可移植性。鋝岂涛軌跃轮莳講嫗键。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlet类,并且存储在服务器的内存中。这使得以后对该页面的调用有非常快的响应。(避免了CGIBIN为每个HTTP请求生成一个新的进程的问题,或是在服务器端使用引用所引起的运行时的语法分析问题)。撷伪氢鱧轍幂聹諛詼庞。JSP页面可以包含在多种不同的应用体系结构或者模型中,它的页面可以 应用于由不同协议、组件和格式所组成的联合体中。例如在一个简单实现中,浏 览器直接调用JSP页面,JSP页面自动生成被请求的内容(AD调用JDBC直接从数 据库中获取信息),并且创建标准的HTML,作为结果发送回浏览器。踪飯梦掺钓貞绫賁发蘄。这个模型基本上用JSP页面(编译成为Java Servlet)代替了CGIB则概念。这个方法使用户能够简单而快速地编程,并且很容易根据请求和资源状态生成动态内容。这个结构在许多应用上工作良好,但不能扩展到以下情况,即大量的基于Web的并发客户访问稀少的企业资源。因为每个客户必须建立或者共享一个到可用内容资源的连接。例如,如果JSP页面访问数据库,可能生成许多到数据库的连接,将极大地影响到数据库的性能。婭鑠机职銦夾簣軒蚀骞。2.1.2 JSP的特点和传统的CGI相比较,JSP有相当的优势。首先,在速度上,传统的CGI程序需要使用系统的标准输入输出设备来实现动态网页的生成,而JSP是直接和服务器相关联的。而且对于CGI来说,每一个访问者就需要新增加一个进程来处理,进程不断建立和销毁对于作为Web服务器的计算机将是不小的负担。其次,JSP是专门为Web开发而设计的,其目的是为了建立基于Web的应用程序,包含了一整套的规范和工具。使用JSP技术可以很方便地将一大堆JSP页面组合成为一个Web应用程序。譽諶掺铒锭试监鄺儕泻。和ISPAI和NSAPI相比较,JSP的开发速度要快得多,开发难度也要小得多,在编译为Java Servlet以后,配合目前最新的JIT(Just In Time)的Java解释器,其执行速度也慢不了多少。而且,ISAPI和NSAPI这种和Web服务器过于紧密结合的技术使用时一旦出现错误,很容易是 Web服务器崩溃,而JSP就没有这个缺点。俦聹执償閏号燴鈿膽賾。JSP真正的对手是ASP和PHP,还有最近才问世的ASP.net,在Web技术方面ASP,PHP和JSP的比较见下表。缜電怅淺靓蠐浅錒鵬凜。ASPJSPPHPWeb服务器IIS ,PWSApache,IIS,PWS,iPlanet Netscape Server,等Apache,IIS,PWS,Netscape Server等运行平台Windows各种UNIX(Solaris, Linux, AIX, IRIX等),Windows, MacOS等各种UNIX(Solaris, Linux, AIX, IRIX等),Windows组件技术COMJava, EJBCOM, JavaBeans自定义TAG语法无有无开放性无多家合作,包括SUN, IBM, BEA Weblogic Netscape, Oracle自由软件脚本语言支持VBScript, JscriptJava, EMAC-Script, WEBL等PHP建立大型Web应用程序可以可以不宜程序执行速度快极块极块学习难度低较低低Session管理有有有统一的数据库连接有,ADO,ODBC有,JDBC无后缀名AspJspphp, php3, phps表2-1 JSP,ASP,PHP比较Web服务器和运行平台ASP目前仅仅被支持于Microsoft Internet Information Server(IIS)和Personal Web Server(PWS),由于IIS和PWS仅仅有Windows下的版本,故ASP目前只能在Windows平台下使用。尽管有第三方的插件号称可以在UNIX下使用ASP,但对基于COM组件技术的ASP来说,在没有COM支持的UNIX平台下只能是一个“玩具”。骥擯帜褸饜兗椏長绛粤。JSP仅仅是一个规范,尽管通过的论述可以得出JSP一般要用Javal来实现的论断,但作为跨平台的语言,Java可以在许多平台下使用。这样,JSP也就显而易见的跨平台的了。目前的JSP的确可以在多种Web服务器和操作系统下使用。如Apache Web Server和Microsoft IIS等。癱噴导閽骋艳捣靨骢鍵。Apache Web Server是世界上占有率最高的Web服务器,可以在包括SUN Solaris, IBM AIM, SGI IRIX, Linux和Windows在内的许多操作系统下运行。Apache Web Server下JSP的实现可以通过免费的Apache Jserv和GNUJSP, Jakarta-Tomcar实现。鑣鸽夺圆鯢齙慫餞離龐。也可以使用商业的JRUN(LiveSoftware),Websphere(IBM),Weblogic(BEA)来实现。Microsoft IIS本身支持JSP,但可以通过JRUN, Weblogic, Websphere来实现。还可以使用应用服务器添加JSP支持的Netscape Enterprise Server及由之发展而来的可以直接支持JSP的iPlanet Web Server等等。榄阈团皱鹏緦寿驏頦蕴。PHP本身就对各种操作系统和Web服务器作了支持,PHP目前可以作为Apache的一个附加模块直接编译进入Apache中去,由于Apache支持多种操作系统,PHP相应地也就可以在各种操作系统上实现。PHP也可以CGI方式或ISAPI方式到IIS或PWS中去。逊输吴贝义鲽國鳩犹騸。组件技术ASP和JSP对组件技术的支持已经很完善了,而PHP支持COM和JavaBeans。却是很晚,且不完善,所以很难在大型Web应用程序方面将很难与JSP和ASP竞争。但由于PHP技术本身的易学易用,加上众多的函数支持和开放源代码的特性,在中小型Web站点的开发上,PHP还是会占有一席之地的。幘觇匮骇儺红卤齡镰瀉。其实,JSP本身对于ASP和PHP并没有明显的优势,JSP的强大是因为其后面有强大的Java技术做支持。包括JavaBeans和J2EE技术在内的Java技术是JSP强大生命力的所在。誦终决懷区馱倆侧澩赜。Microsoft最新推出的ASP.net技术和ASP技术相比有了许多激动人心的进步,但是从企业级应用的角度看,JSP技术仍然有相当的优势。有理由认为,在将来的Web开发中,中小型站点将出现JSP,ASP.net和PHP三分天下的局面,但是对于大型的电子商务站点,JSP及J2EE技术将成为首选。医涤侣綃噲睞齒办銩凛。2.2 Servlet技术2.2.1 Servlet 技术概述 Servlet(Java 服务器小程序)是用Java编写的服务器端程序,是由服务器端调用和执行的任何Java类。Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的Java程序。除了Java Servlet API,Servlet还可以使用用以扩展和添加到API的Java类软件包。舻当为遙头韪鳍哕晕糞。Servlet是Java 2.0中新增的一个全新功能,是一种采用Java技术来实现CGI功能的一种技术。Servlet本身与协议无关,与平台也无关。浏览器端也就是客户端运行的Java程序叫做Applet,而服务器端运行的程序叫做Servlet。鸪凑鸛齏嶇烛罵奖选锯。Java Servlet运行于Java-Enable Web服务器中,可以被看作是运行在请求和面向请求服务器上的模块。Java Servlet能够像CGI脚本一样动态的扩展Web服务器的功能,并采用请求响应模式提供Web服务。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面的。筧驪鴨栌怀鏇颐嵘悅废。最早支持Servlet技术的是Javasoft的Java Web Server。此后,一些其它的基于Java的Web Server 开始支持标准的Servlet API。Servlet API是用来编写Servlet 的一套编程接口,编写Servlet不需要关心Servlet是如何被加载、Servlet运行的服务环境是什么、传输数据的协议有什么不同等。因而,Servlet能够运行在不同的Web服务器中,Servlet避免了CGI的这些缺陷。韋鋯鯖荣擬滄閡悬贖蘊。Servlet看起来像是通常的Java程序。Servlet倒入特定的属于Java Servlet API的包。因为是对象字节码,可动态的从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。涛貶騸锬晋铩锩揿宪骟。Servlet的主要功能在于交互式的浏览和修改数据,生成动态Web内容。这个过程为: 用户发送请求至服务器端。 服务器将请求信息发送至Servlet。 Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求。 服务器将响应返回给客户端。2.2.2 Servlet 与 JSP 之间的关系当JSP成为开发动态网站的主要技术时,Servlet在开发中占据了非常重要的位置。网站开发具有两种模式,其中的一种模式同时使用到了JSP和Servlet。这种模式结合了JSP和Servlet技术,充分利用了JSP和Servlet两者的优点。钿蘇饌華檻杩鐵样说泻。JSP技术主要用来表现页面,而Servlet技术主要用来完成大量的逻辑处理。也就是说,JSP主要用来发送给前端的用户,而Servlet主要来响应用户的请求,完成请求的逻辑处理。Servlet充当着控制着的角色,用来负责响应用的事务处理。戧礱風熗浇鄖适泞嚀贗。JSP本身没有任何的业务处理逻辑,它只简单的检索Servlet创建的JavaBean或者对象,再将动态的内容插入到预定义的模块中。購櫛頁詩燦戶踐澜襯鳳。Servlet创建JSP需要的JavaBean和对象,再根据用户的行为,决定处理哪个JSP页面并发送给用户。嗫奐闃頜瑷踯谫瓒兽粪。由于Servlet更适合于后台开发者的使用,而且Servlet本身需要更多的编程技术,因此Servlet本身在页面上表现形式上非常的欠缺,远远不如JSP。虚龉鐮宠確嵝誄祷舻鋸。在实际的开发过程中,往往先把JSP页面开发出来,然后再将JSP代码转换成Servlet。这样做的好处是充分利用了JSP的页面表现能力,避免了Servlet在页面表现方面的严重不足,大大缩短了开发周期,各尽所能。與顶鍔笋类謾蝾纪黾廢。2.2.3 Servlet 应用范围及缺陷1. Servlet能完成以下几种功能: 创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。 创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段) 与其他服务器资源(包括数据库和基于Java的应用程序)进行通信 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。 当允许在以单连接方式传送数据的情况下,在浏览器上打开服务器至Applet的新连接,并将该连接保持在打开状态。在客户机和服务器简单、高效的执行会话的情况下,Applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准进行通信。結释鏈跄絞塒繭绽綹蕴。 对特殊的处理采用MIME类型过滤数据。 将定制的处理提供给所有服务器的标准例行程序,Servlet可以修改如何认证用户。2. Servlet的一些应用范围: 处理HTTP请求Servlet能够处理HTTP请求,并且能够传递HTTP响应到客户端。 用于处理HTML表单通过HTTP产生提交数据,然后Servlet可以处理这些数据。 允许人们之间的合作一个Servlet能并发处理多个请求,可以使用同步请求支持系统。 转送请求Servlet可以转送请求给其他的服务器和Servlet。这就允许在镜像同样内容的几个服务器之间平衡负载。按照任务类型或组织范围,可以允许被用来在几个服务器中划分逻辑上的服务区。餑诎鉈鲻缥评缯肃鮮驃。 允许定以激活代理Servlet编写者们可以定义彼此之间共同工作的激活代理,每个代理者是一个Servlet,而且代理者能够在他们之间传送数据。爷缆鉅摯騰厕綁荩笺潑。2.2.4 Servlet 的生命周期Servlet的生命周期始于将它装入Web服务器的内存时,并在终止或重新装入Servlet时结束。1. 初始化 在下列时刻装入Servlet: 如果已经配置自动装入选项,则在启动服务器是自动装入 在服务器启动后,客户机首次向Servlet发出请求时 重新装入Servlet时装入Servlet后,服务器创建一个Servlet实例并且调用它的init()方法。在初始化阶段,Servlet初始化参数被传递给Servlet配置对象。锞炽邐繒萨蝦窦补飙赝。2. 请求处理对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”对象和一个“响应”对象。服务器调用Servlet的service()方法,该方法用于传递“请求”和“响应”对象。Service()方法从“请求”对象或的请求信息,同时处理该请求,并用“响应”对象的方法将响应传回给客户机。Service()方法也可以调用其他方法来处理请求,例如doGet()、doPost()或其他的方法。曠戗輔鑽襉倆瘋诌琿凤。3. 终止当服务器不再需要Servlet,或重新装入Servlet的新实例时,服务器会调用它的destroy()方法,来终止当前Servlet实例的运行。轉厍蹺佥诎脚濒谘閥糞。2.3 JDBC技术2.3.1 JDBC概述JDBC是Java数据库连接(Java Data Base Connectivity)的简称,是一种可用于执行SQL语句的Java API(Application Programming Interface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。嬷鯀賊沣謁麩溝赉涞锯。Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。讯鎬謾蝈贺綜枢辄锁廪。JDBC API 为Java 程序提供了一个统一无缝地操作各种数据库的接口,程序员编程时,可以不关心他所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性。JDBC 现在可以连接的数据库包括:Xbase、Oracle、Sybase、Access 以及 Paradox等。JDBC 在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。兒躉讀闶軒鲧擬钇標藪。JDBC扩展了Java语言的功能。使用JDBC,向各种关系型数据库发送SQL语句成为一件很容易的事。将Java和JDBC结合起来,将会使程序经过一次编译即可在其他的任何平台上运行。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”繅藺詞嗇适篮异铜鑑骠。2.3.2 JDBC两层模型和三层模型JDBC支持两层模型,也支持三层模型访问数据库。两层模型中,一个java Applet或者一个Java应用直接同数据库连接。这就需要能直接被访问的数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三只黑猫咪水粉画课件
- 小儿龋齿相关课件
- 高校学子求职利器:港澳保送面试题库实 用指南
- 三八妇女节宣传反诈课件
- 小儿足推课件
- 婚宴上女方父母讲话稿
- 大班语言教案找小猫
- 大班下学期教研工作计划
- 大学生暑期市场社会实践报告人与动物和谐共处
- 大学生暑假做义工社会实践报告
- DB37T 5230-2022 岩棉复合板外墙外保温系统应用技术规程
- 车辆免责协议书范本
- 游戏开发流程及测试规范手册
- 风险承担合同模板
- iso220002024食品安全管理体系标准
- GB 3836.15-2024爆炸性环境第15部分:电气装置设计、选型、安装规范
- 新版计量认证质量手册
- 有机农业种植合同
- DZ/T 0462.1-2023 矿产资源“三率”指标要求 第1部分:煤(正式版)
- 临沧市市级单位遴选(选调)工作人员笔试真题2021
- 2024广州市工业和信息化委员会直属事业单位招聘4人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
评论
0/150
提交评论