JSP网站开发典型模块与实例精讲(txt+pdf+epub+mobi电子书下载)

作者:李振捷,陈雄,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

JSP网站开发典型模块与实例精讲

JSP网站开发典型模块与实例精讲试读:

前言

JSP是Java Server Pages的简称,是Sun公司在Java语言基础上开发的动态网页制作技术。JSP结合Servlet和JavaBean技术,将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web应用程序的开发变得迅速而简单。JSP技术是Servlet技术的扩展,Servlet是平台无关的,因而使用JSP可以开发出纯Java的服务器端组件,而且JSP开发的Web应用与平台无关,既可以运行在Windows平台下,也可以运行在Linux和UNIX平台下。JSP依靠J2EE平台的实力,成为基于B/S结构程序的主流开发工具,而且在大型的Web应用中,基于J2EE的技术也成为了开发人员的首选。

本书起源

JSP依赖于J2EE平台技术,具有非常多的开源框架来支持简易开发步骤。近年来随着JSP技术的使用越来越广泛,网络上各种开源框架层出不穷,如Struts,Hibernate,Spring等,对于初学者,往往会被 J2EE 的这些新兴技术迷惑而不知如何使用。另外,网站应用系统开发往往是一个复杂的过程,涉及系统需求分析、数据建模、技术架构的选取、界面设计及编程、调试等环节,面对复杂的开发步骤,作为初学者,即使具备基本的JSP理论知识,也往往不知道如何下手开发一个完整的Web应用系统,更不知道如何巧妙地将JSP技术运用于项目之中,而无法快速地把JSP的种种便利归为己用。本书正是充分考虑初中级学者对技术实际运用的迷惑困境,抛弃纯讲理论的方式,以剖析网站系统的经典模块和独特的实例为切入点,在模块和实例讲解中逐步融入JSP知识、常用技巧及各种新兴技术,并指导读者如何在这些技术之间做出有效的选择,使其能快速进入实战的课堂,吸取各个领域的开发应用经验。

本书主要内容

本书内容主要分三部分:第一部分内容为第1章,介绍JSP的运行原理,开发运行环境的搭建,以及数据库连接和调试等JSP开发必备知识;第二部分内容从第2到第4章,介绍构成网站系统的几个经典模块如注册登录、讨论区BBS、访问统计,这些模块使用标准MVC模式构建,基本囊括了JSP的重点技术,是学习JSP技术应用的最佳例子,而且也是JSP开发中最常用到的模块,读者对这些模块稍加修改就可以在实际项目中直接使用;第三部分内容为第5到第9章,精选作者多年在5个领域的开发中所积累的具有代表性的独特实例,包括新闻发布系统、网上数码冲印系统、在线考试系统、在线书店系统,以及权限管理系统。这些实例在技术安排上由浅入深,而且每一个系统均使用不同的技术架构,避免了各实例在技术上的重复,其特色如下表所示。

本书特色

本书由一批具有多年开发经验的编程高手共同精心打造,和市场上同类图书相比,具有以下特色:

1 过渡性强 本书的内容从模块过渡到实例,其中模块通用性很强,实例通俗易懂,颇具吸引力。模块和实例都避免了技术上的重复,内容丰富而且循序渐进,对读者来说具有较高的参考价值。

2 深入剖析 本书避免了市场上的实例书代码数量多而分析少的弊端,在提供实例代码同时对其深入剖析。书中融入使用JSP建设网站系统时的各种编码技巧和精粹,在例子中对较难理解的知识点进行讲解,使读者阅读后能得到质的飞跃,从初学者、中级学者进入高手的境界,了解高手的各种妙招。

3 实用性强 本书实例均来自于作者开发众多大型工程中的实际项目,涉及网站开发的各个领域,对于一些技术上的实现难点在这些实例中都提供了好的解决方案,而且这些实例源代码均能原版提供,稍作修改就能使用,有很好的参考和利用价值。

4 技巧性强,层次丰富 本书在策划和编写前搜集了多位作者在多年开发中积累的非常难得的开发经验和技巧,并精心挑选部分内容,以指点迷津、独家见解、优化攻略、脚下留心、多学两招等形式渗入全书章节讲解。这些字眼的用意如下:

● 指点迷津 为初学者澄清比较容易混淆和感到迷惑的概念和技术,给予适当比喻和举例,使读者看后能对知识点达到清晰的认识,或者有全新的理解。

● 独家见解 对于一些技术的难点和多种实现方式的取舍提出作者的独家看法,分析不同实现的优缺点,告诉读者如何选取适当的实现方式。

● 优化攻略 精心挑选因特网上和作者多年的工作经验中的实用优化技巧进行讲解,使读者可以娴熟运用这些优化技能,编码水平达到质的飞跃。

● 脚下留心 提醒读者容易出现错误、可能带来安全隐患及性能瓶颈的地方,并指导读者如何防备,做到安全和性能最优。

● 多学两招 结合作者多年的开发经验,为读者提供一些实用的开发技巧,并且告诉读者使用不同的方法,来实现相同的功能,使其学会各种技巧。

5 多媒体光盘 本书中所有的源代码都经过测试,并且放在附带光盘中。为了便于读者学习,我们还精心制作了多媒体教学资料一并收录在此光盘中。

6 配备QQ群,在线答疑 为了方便本书的读者相互交流学习中遇到的问题,我们特地为读者配备了多个QQ群,读者只要拥有QQ号码,就可以参与到本书的QQ学习群中一起讨论学习心得,而且,本书的作者还会在一定的时间内给读者提供在线答疑服务,与读者进行面对面的交流。

本书读者对象

本书特别适用于对JSP理论知识有一定了解,但是不知道如何下手开发完整网站系统的初级学者,同时也适合想学习JSP中的各种心得技巧以提高开发水平的中高级学者,以及即将进行毕业设计的广大院校毕业生。

另外,为了能让每个读者都能够加入到QQ群中,我们把QQ群号码发布到了网站http://www.cx-pub.com,而且随时更新QQ群号码,请读者访问这个网站获取QQ群号码。

本书由电子工业出版社博文视点公司研发中心策划,由创想科技开发团队主笔并测试所有的系统,参加本书写作的作者有黄耀华、李振捷、陈雄、王军、温才燚、单春华等。书中内容及编排我们力求精益求精,但错误及疏忽之处在所难免,敬请广大读者批评指正。

编 者

2006年3月第1章 JSP开发前奏JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。本书结合实践,通过大量精彩的实用实例,展示JSP及其相关Web编程的强大功能和魅力。本章将对JSP进行原理性的说明,揭开JSP神秘的面纱,并指引读者搭建JSP开发环境。1.1 JSP基于服务器模式的运行原理1.1.1 JSP原理

每一本关于JSP的书,必然要讲述JSP的原理。本小节不惜使用大量篇幅讲述JSP原理,为的是初学者通过认真地学习这一节的内容能真正理解JSP。理解了本节的内容,接下来对本书的学习将势如破竹,见难不难了。

JSP的数据流程如下:通过Web服务器,软件工程师利用JSP组织数据及其显示格式,生成HTML或XML流,通过HTTP协议传送到客户端的浏览器上(如IE,Firefox等),浏览器解析HTML或者XML流,并将其以生动的网页方式展现到客户面前,具体流程如图1-1所示。

由图可见,JSP 在这个数据流程中充当的是一个搬运工的角色。客户在浏览器端请求访问某些资源,JSP 理解客户请求,并接受客户请求的参数,通过中间业务层,从服务器端(如数据库服务器、文件系统等)取得数据,并形成一定的格式,回传到客户端;或者如果客户需要将某些数据保存到服务器上,那么就提交这些数据到JSP中,JSP获取这些客户数据,并通过某种方式保存到服务器上。真实的 J2EE 体系架构可以在这个基础过程中继续发展,衍生出DAO层、表现Facade层等。然而,在将返回结果展现给客户端时,JSP却是一个合格且有效的角色。图1-1 JSP数据流程

任何的比喻都是不贴切的,JSP就是JSP。它是一种服务程序,是一种由Java代码、HTML代码和各种标签语言混合而成的程序。JSP程序的主要目的就是动态生成HTML文件返回给客户端。

JSP的前身是Servlet程序。编写Servlet程序和CGI编程十分类似,用户可以利用Web服务器提供商提供的Servlet的API来编写纯粹的Java程序,在服务器端运行该Java程序动态地生成网页。随着Servlet技术的风靡,越来越多的大型系统都采用了Servlet来生成动态页面。为了使动态页面更加直观,程序更具有可读性,人们将页面表现部分从Servlet的逻辑控制中分离出来,而在HTML中嵌入代码片断,因而形成了JSP。Servlet和JSP代码片断比较如表1-1所示。表1-1 Servlet和JSP代码片断比较

从表1-1可以看出,与Servlet相比,JSP的代码量要小许多。更重要的是,JSP可以直接将一些现有的复杂的静态页面改造成动态页面。这种复杂的静态页面,如果要用Servlet重新编写进行改造,工作量不可小视。

尽管JSP抛弃了Servlet的表现形式,却无法彻底甩掉Servlet的影子,事实上也无须视Servlet为异己。当应用服务器接收了对JSP文件的请求时,它会把请求转发给JSP处理器。如果这是对该JSP的第一次请求,或者未找到该JSP的编译文件,JSP编译器生成并编译JSP文件的Java代码——Servlet代码,JSP的内容被添加到该Servlet的service()方法中,而后将Servlet代码和类文件放在某指定目录下。Servlet引擎创建该Servlet实例并调用其service()方法来响应请求。当Servlet引擎再次收到对该JSP文件的请求时,首先检查JSP文件是否更改过,如果更改了则重新编译并载入。当Servlet引擎不再需要该Servlet时,将调用该Servlet的destroy()方法。Java虚拟机在调用destroy()的方法时进行垃圾回收。

所以,读者在编写JSP的过程中,需要牢记自己是在编写Java程序,在调试JSP的时候,也可以针对该Java程序进行。1.1.2 为什么使用JSP

JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和JavaBean无缝整合。

ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了ASP.NET,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并企盼以此代替ASP。事实上ASP.NET的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,ASP.NET确实是不错的选择。

JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。

从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。Java的开放性也使系统框架如雨后春笋般涌现,Struts,Webwork,Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。

而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的Java代码导致的不利因素削弱。

总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。那么,有什么理由不用JSP呢?1.2 JSP轻量级开发和运行环境简介

本节将着重介绍JSP轻量级开发和运行环境,以及开发的经典模式MVC。1.2.1 JSP运行最佳环境Tomcat+MySQL

各个软件巨头在J2EE领域中,从不愿甘拜下风,都有各自品牌的应用服务器,如IBM的Websphere,Sun的IPlanet,BEA的WebLogic等;在数据库方面,各个厂商更是展开角逐,DB2,Oracle,SQL Server激烈地争夺着市场份额。这些商业软件对于普通用户而言,价格昂贵不提,仅其运行的硬件环境就承受不起。

Tomcat是一个开源的Web应用服务器,也就是常说的JSP运行容器。MySQL是开源的数据库服务器。之所以称此二者为最佳运行环境,主要原因归纳如下:首先,它们是开源的,无须为其使用而付费,并且有无数人齐心协力对其进行着长久的优化,有不计其数的优秀论坛、热心用户组,以及成功案例可供参考咨询;其次,它们对系统的要求较低,可以在不同的操作系统下运行,且对硬件的要求较低;再者,它们在性能上的表现基本可以满足一般应用系统的需求;最后,配置和维护Tomcat及MySQL都十分简单,直接修改配置文件就可以配置运行环境的各种特性,复制文件系统即可完成系统的备份,非常适用于远程网络环境。

相比较于Resin,Tomcat更加遵从于标准规范,对XML规范的校验更加严格。当然,Tomcat启动速度也较慢。在Tomcat 5之前,类和web.xml配置文件的修改并不会使Tomcat重新载入应用程序,这给调试带来一些不便;而Tomcat 5的Web容器则可以像Resin一样自动更新和编译Web应用。JBoss作为开源的EJB容器,整合了Tomcat/Jetty等开源Web容器,完全支持J2EE标准。对于只需要Servlet和JSP而不需要EJB的普通Web应用程序,Tomcat可以支持集群配置、错误恢复、负载均衡等功能,已经足够应付了,不需要再引入JBoss。

MySQL从一开始就定位在快速稳定的大型关系型数据库上,因此,其性能和稳定性相比于其他开源的数据库占有绝对优势。MySQL可以在多种操作系统平台下运行,支持全文检索,提供了编程接口、超大规模表空间、可伸缩的设计支持企业级的集群配置。它适合于海量数据检索而对事务要求不十分严格的业务系统。有着20多年历史的PostgreSQL虽然支持许多数据库关键特性,如分布式事务处理、外键功能、连接类型、触发器等,其性能与MySQL相比却逊色不少。精巧的Berkely DB主要应用在嵌入式数据存储引擎,可以为MySQL所用。当然,如果读者有兴趣,还可以研究诸如Hypersonic的HSQL、Apache的Derby等。

Tomcat遵循Apache Software License协议,而MySQL则遵循GNU General Public License协议。关于这两个协议,读者可以自行查阅相关文献资料。

只要读者可以接入因特网,搭建自己的Java Web开发和运行环境就是极其容易的。Tomcat和MySQL的安装将在下一节详细介绍。1.2.2 高效开发JSP的最佳搭配工具Eclipse+MyEclipse

在开发工具方面,IBM,Borland,Sun,BEA等软件巨头在其应用服务器的基础上,都推出开发Java Web应用程序的开发工具,如WSAD,Borland JBuilder,Sun ONE Studio,BEA Workshop,InteliJ等。这些IDE大多都兼顾了各种类别的Java应用程序的开发,需要较大空间进行安装,启动过程相对较慢。而且,由于它们都是各厂商的私有产品,外界无法对其进行定制或者改造,无法跟随J2EE不断前进的脚步。

而Eclipse则在一群无私的开发者的手中悄然诞生,异军突起。作为目前IDE的佼佼者,Eclipse由于其开放性受到了越来越多用户及厂商的欢迎。

首先,Eclipse是开源的,Eclipse遵循Common Public License协议。读者可以免费获取Eclipse软件本身及其源代码。

其次,Eclipse是免安装的,只要在本机装有JDK,可以从其他机器上将Eclipse目录拷贝到本机,经过简单的配置就可以使用。

另外,Eclipse是开放的,由于其设计的精妙,任何人或厂商可以编写自己的插件,并将其商业化(如IBM的WSAD工具就是基于Eclipse基础开发的)。因此,Eclipse理论上可以做任何事情,而不仅仅是一个Java的IDE。读者可以在http://www.eclipse-plugins.info网站上找到各种各样的Eclipse插件。用户甚至可以在Eclipse上编写C++代码,建模,查询不同数据库的数据。另外,Eclipse内部集成了CVS工具,对于团队开发有极大的帮助。用户也可以将不需要的插件剔除,定制个性化的开发环境。

总之Eclipse是优秀的开发工具。简洁的界面,便捷的热键,可定制的视图等,都不足以概括Eclipse的内涵。据称,从其他IDE转到Eclipse上的开发人员,极少将Eclipse抛弃而选择其他IDE。

Eclipse标准软件包中只提供了Java应用程序的开发和调试,而没有提供JSP开发环境。不过有众多的插件支持在Eclipse上进行JSP开发。在开发JSP程序的插件中,Lomboz和IBM提供的WTP是杰出的代表,而其中最强大的非MyEclipse莫属。

MyEclipse具备了众多令人欣喜的特色,贴心的Wizard、图形化的配置管理、JSP错误跟踪、代码跳转等,都可以令J2EE开发飞速运转起来。MyEclipse创建的工程还支持若干开源框架的注入,例如Struts,Spring和Hibernate等,紧跟前沿开发潮流。

本书推荐读者采用Eclipse+MyEclipse进行Web开发。1.2.3 开发JSP经典模式MVC

Java之所以受到厂商的追捧,是因为其跨平台特性。而Java应用程序开发之所以受到广大开发人员的青睐,最重要的是因为其开放性和优雅的设计。

其中,最令人赞叹的就是MVC理论在Java领域的生根发芽。早在20世纪70年代,IBM就开始了MVC设计模式的研究,而最初在SmallTalk-80中用来构建用户界面。近年来,随着J2EE技术的成熟,MVC逐渐成为了备受推崇的设计模式。

MVC是Model-View-Controller的缩写,概括了应用程序开发的三个重要角色(模型对象、表现形式和流程控制)之间的关系。应用程序的输入、处理和输出流程按照三种角色划分为三层:模型层、视图层、控制层。

模型层(Model)代表业务规则和流程处理。业务处理对于其他层面是透明的,从外部来看,模型获取视图请求的数据,并返回处理结果。一般由开发人员、领域专家和数据库管理人员共同完成。

视图层(View)代表UI界面。Web开发中一般为HTML界面。随着应用的复杂化和客户需求的多样化,一个应用可能有多个视图,MVC设计模式对于视图的处理仅限于视图上数据的获取和展示,而不包括业务流程的处理。视图一般由美工人员、JSP设计人员共同开发实施。

控制层(Controller)处理视图和模型之间的交互。从用户视图接收请求,分发请求到合适的模型或视图上,并不处理任何数据。

ASP,PHP等开发的Web应用极少采用MVC,直接在HTML代码中嵌入逻辑处理,以及向数据库发送请求。这种方式的开发速度往往较快。然而,随着系统的发展,客户不断提出新的要求,则需要经常对代码进行较大的修改。而MVC虽然学习曲线较陡,但是产品结果清晰,对易变的环境具有较强的适应性。

实际上,这三个角色在许多应用程序中都存在,模型对象负责数据的表征,视图负责应用程序的UI,而流程控制则将孤立的模型和孤立的视图串联起来,形成有机的系统。而在Java Web开发中,MVC更被诠释得淋漓尽致。在整个应用系统中,程序员可以针对数据库表或者概念模型,构造数据业务模型,编写适宜的Java控制分发类,利用JSP来最终展现程序的功能以及接收用户请求。图1-2直观地表示了MVC架构的内部关系。图1-2 MVC架构的内部关系图

现在,在Java Web开发中已经有流行的MVC开发框架,如Struts,Spring等,也有专注于Model层的Hibernate,也有专注View和Controller之间交互的Webwork。1.3 JSP开发运行环境搭建1.3.1 安装JDK

万丈高楼平地起。不管是使用何种工具开发Java程序,或是使用哪个Web服务器,都需要用到Java虚拟机。为了搭建Java开发平台,首先必须安装JDK(J2SE Software Development Kit Standard Edition),即Java 2软件开发工具包标准版。

Sun,BEA,IBM等公司都开发了各自的JDK。当前Sun公司已经提供了JDK 5.0免费下载,BEA提供了JRockit 5.0下载。不过鉴于目前主流厂商都普遍支持JDK 1.4,因此,本书内容将针对成熟的JDK 1.4。各个厂商的JDK各有千秋,一般来说都对特定的操作系统平台做了特定的优化,比如Sun的JDK在Solaris表现优异;IBM的JDK在AIX下应用也超凡脱俗;BEA的JRockit则在Weblogic应用服务器下崭露头角,而且还提供了一些有用的工具,比如针对JRockit 5.0及以上版本的Memory Leak Detector(内存泄漏检测工具),以及针对JRockit 1.4以上的Runtime Analyzer(运行时分析工具)。JRockit和这些附带工具可以在BEA的官方网站上免费下载。

当然,对于Java的学习者而言,这些差异并不十分重要。读者可以在以下网址下载到Sun公司的JDK1.4:

http://java.sun.com/j2se/1.4.2/download.html

请注意根据自己的操作系统选择对应的版本。本书以For Windows版本为例。

下载的安装包文件名字类似j2sdk-1_4_2_05-windows-i586-p.exe,单击“运行”开始安装。首先,需要同意Sun公司的许可条款才可进行下一步安装,如图1-3所示。图1-3 JDK安装协议

仔细阅读许可条款,可以发现其运行时环境是可以自由分发的,因此,如果编写了一些Java应用程序,可以把Sun提供的JRE一并打包发布,免去客户的JRE安装流程。

① 单击Next按钮,进入JDK组件选择步骤,如图1-4所示。图1-4 选择J2SDK组件

确定J2SDK的各组件是否安装,以及其安装路径。注意,其中最主要的是Development Tools。Demo是Sun提供的一些Swing及其他方面的示例代码,有助于用户学习Java的基础知识;Source Code是JDK的源代码,是开发过程中查看API方法的必备要素;Public Java Runtime Environment(简称为JRE)是公用的Java运行时环境,可以提供给第三方工具如Tomcat等用来运行其程序。

② 单击Next,并选择Java插件注册浏览器,如下图1-5所示。图1-5 选择JDK浏览器插件

③ 单击Install进行安装,直到显示Finish完成,如图1-6所示。

JDK安装完毕后,需要配置操作系统的环境变量。右键单击“我的电脑”,打开“属性”窗口,选择“高级”栏,单击“环境变量”按钮,进入环境变量的配置窗口。单击“系统变量”中的“新建”按钮,新建JAVA_HOME环境变量,其值指向JDK的安装目录C:\j2sdk1.4.2_06\,如图1-7所示。图1-6 JDK安装步骤图1-7 设置Java环境变量

④ 参照图1-8修改Path环境变量,在变量值的最前面加上“%JAVA_HOME%\bin;”,以便运行JDK的系列工具,如java.exe,jar.exe,javac.exe等等。这里语句放在最前面的目的,是为了覆盖其他软件安装了低版本的 JDK 的设置,如安装 Oracle 9i后,系统的JDK被设置为1.3版本,将%JAVA_HOME%\bin放在最前面则可以避免此类问题。图1-8 设置Path环境变量1.3.2 安装Tomcat Web服务器

作为一个开源的Web服务器,Tomcat提供了简易的安装。首先需要在http://tomcat.apache.org网站上下载Tomcat安装文件jarkarta-tomcat-[版本号].[后缀名],安装文件有zip格式、tar.gz格式,也有exe格式。对于zip格式的安装文件,只需要将其解压缩到某目录下即可;tar.gz格式文件适用于Unix及其相关操作系统;而exe格式的图形化安装文件则更加符合Windows用户操作习惯。

运行jakarta-tomcat-5.0.28.exe文件,进入熟悉的软件安装界面。单击“Next”按钮,同意软件协议“Apache License”,随后出现选择安装模式(普通,最小,完全)的界面,如图1-9所示。图1-9 选择需要安装的组件

一般情况下选择normal(一般安装类型)即可,单击Next进入下一步,选择Tomcat的目标安装路径,如图1-10所示。图1-10 选择Tomcat安装路径

可以保留Tomcat的默认路径,建议将Tomcat安装到C:\Tomcat 5.0,这样会给管理带来方便。单击Next进入Tomcat的基本配置界面,如图1-11所示。图1-11 Tomcat基本配置界面

该步骤配置了Tomcat对外服务的HTTP端口,管理员用户名和口令。单击“Next”按钮,进入JDK的选择对话框,如图1-12所示。安装程序将自动搜索到系统安装的JDK,当然,读者也可以把该路径改为自己需要的其他JDK路径。单击Install则完成安装。图1-12 选择JDK路径

该安装程序还提供了GUI方式的管理界面,如图1-13所示,用户可以通过该界面配置Tomcat服务、输出日志、Java虚拟机参数、启动/关闭类及参数。

General页配置Tomcat在Windows下的服务状态,即自动启动、手动启动或者禁用Tomcat服务器,也可以对当前Tomcat实例服务进行启动、停止、暂停或者重启。

Log On页配置Tomcat服务的Windows账号,对Tomcat服务的操作将由该账号执行。请注意使用具有足够权限的用户。

Logging页配置Tomcat的日志,包括日志等级、日志路径、日志文件前缀、标准输出/错误重定向到文件。

Java页配置Tomcat运行的Java虚拟机环境,用户可以更换虚拟机,更换Tomcat启动类,以及自定义Java运行参数和内存参数。图1-13 Tomcat配置

Startup和Shutdown则配置了Tomcat启动和停止对应的类以及其参数。

当然,关于Tomcat更详细的参数可以通过修改conf下的server.xml来配置,请参考1.3.5节的内容。1.3.3 安装及配置MySQL数据库服务器

类似于其他的软件,MySQL在Windows下的图形化安装也是采用了傻瓜式的风格。读者首先需要在http://www.mysql.com网站下载安装文件mysql-4.15-win32.zip,将该文件解压缩可以得到Setup.exe文件,单击安装,并按提示完成安装步骤即可。下面我们着重讲解MySQL的配置过程。

可以在安装MySQL时的最后一步选择“Configure the MySQL Server now”选项,或者单击Windows菜单开始→所有程序→MySQL→MySQL Server 4.1→MySQL Server Instance Config Wizard,进入MySQL的配置界面。

第一步选择配置方式,如图1-14所示。在Detailed Configuration(手动精确配置)、Standard Configuration(标准配置)中,我们选择Detailed Configuration,以方便熟悉配置过程。图1-14 选择配置类型

单击Next按钮,进入下一步,如图1-15所示。在这一步中选择服务器类型,有三种类型可以选择:Developer Machine(开发测试类,MySQL占用资源较少)、Server Machine(服务器类型,MySQL占用较多资源)、Dedicated MySQL Server Machine(专门的数据库服务器,占用所有可用资源)。读者可以根据应用的类型自行选择,建议初学时选择Developer Machine类型。图1-15 选择服务器类型

单击Next按钮,进入第三步,选择MySQL数据库的大致用途,一共有三个选项:Multifunctional Database(通用多功能型)、Transactional Database Only(服务器类型,专注于事务处理)、Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于Non-Transactional),用户可以按需要选择,此处按默认值选择Multifunctional Database,如图1-16所示。图1-16 选择数据库用途

单击Next进入第四步。选择InnoDB表空间设置,表空间即为存放数据库数据的存储空间,一般情况下使用默认位置即可,如图1-17所示。图1-17 选择表空间

单击Next,进入第五步,选择服务器并发情况。系统提供两个参考模型:OLAP或者OLTP。其中,OLAP允许同时并发20个左右的连接,OLTP允许同时并发500个左右的连接。用户也可以根据实际情况手动设置最大并发连接数,一般情况下按默认值设置即可,如图1-18所示。图1-18 服务器并发情况配置

单击Next进入第六步,配置服务器的连接,选择是否启用TCP/IP连接。如果不启用,就只能在自己的机器上访问MySQL数据库。此处选择启用,把前面的勾打上;Port Number为MySQL数据库服务器对外服务端口,默认为3306,一般情况下不需要修改,如图1-19所示。图1-19 选择网络配置

单击Next进入第七步,设定数据库内部默认的字符集。这一步比较重要,就是对MySQL默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用UTF8编码,为了支持中文,需要选择第三个,在Character Set那里选择或填入GBK或者GB2312,此两种编码的区别是,GBK的字库容量大些,包括了GB2312的所有汉字,并且加上了繁体字和其他一些生僻字体。另外,使用MySQL客户端时,在执行数据操作命令之前需要运行“SET NAMES GBK;”(运行一次就行,GBK可以替换为GB2312)来正常地使用汉字,否则不能正常显示汉字,如图1-20所示。图1-20 设置数据库默认字符集

单击Next进入第八步,选择是否将MySQL安装为Windows服务,还可以指定Service Name(服务标识名称),决定是否将MySQL的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接“mysql.exe-uusername-ppassword;”就可以了,不用指出mysql.exe的完整地址),在这里全部打上了勾,Service Name不变,如图1-21所示。图1-21 设置Windows服务

单击Next进入第九步,询问是否要修改默认root用户(超级管理)的密码(默认为空),如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码)。“Enable root access from remote machines”是否允许root用户在其他的机器上登录,如果安全性比较重要,就不要勾上,如果想使用方便,就勾上它。最后“Create An Anonymous Account”新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询,一般就不用选择,设置完毕,如图1-22所示。图1-22 设置安全属性

单击Next进入最后一步,确认设置无误,如果有误,单击Back返回检查。如果没有错误,单击Execute使设置生效,如图1-23所示。此操作会保存设置,并启动MySQL服务,输入“telnet localhost 3306”命令,可测试MySQL服务是否已经开通,图1-23 保存设置

安装过程中需要注意的是,在MySQL实例配置中需要选择恰当的字符集(GBK,GB2312等)。在各种数据库中,字符集对于Unicode字体的用户都是至关重要的,因为错误的字符集将会使得Unicode字符在数据库中存放时成为乱码。

安装完毕之后,进入Windows,找到MySQL,如果该服务尚未启动,则启动该服务。MySQL数据库服务器是否启动,可以通过命令telnet localhost 3306来判断。

在Windows的cmd命令行中输入“mysql-uroot-p<密码>”则可以进入MySQL的命令行,通过“create database”命令可以创建新的数据库。关于MySQL的其他具体操作,可以参看安装目录下/Docs/mannual.chm,也可以通过在命令行中输入“?<主题>”或者“help<主题>”来获取具体主题的帮助。

当需要对MySQL重新配置时,可以运行安装目录下/bin/MySQLInstanceConfig.exe来重新配置参数。对于一些高级用户,可以查看安装目录下的my.ini对参数进行配置,来重新指定数据文件、字符集、存储引擎、端口等,或者最大连接数、查询缓存、临时表大小、排序堆大小等系统参数,以达到优化的目的。1.3.4 安装开发工具Eclipse+MyEclipse

Eclipse的源文件可以从http://www.eclipse.org获取,本书出版前最新版本为Eclipse 3.1,读者可以根据需要下载3.1或者3.0,以及其他版本。从网站上下载下来的是一个压缩文件,只需要将该压缩文件解压缩到某路径下,运行该路径下的eclipse.exe就可以进行编程了。

Eclipse从系统环境JAVA_HOME中寻找Java运行时环境,调用Java启动Eclipse开发环境,这就是Eclipse无须安装的神奇之处。

如果运行eclipse.exe无法启动Eclipse开发环境,Eclipse将在其configuration目录下生成一个错误日志,查看该日志可以知道错误原因。无法启动IDE的原因一般是Java虚拟机环境配置问题。

为了测试虚拟机配置环境,读者可以在命令行中输入“java-version”来测试Java运行时是否正确安装,并且安装的版本是否兼容JDK1.4。

需要注意的是,如果事先安装JDK,而后安装其他厂商软件如Oracle数据库等,有可能将系统JDK环境修改为不正确的JDK1.3。这就需要调整PATH环境变量,将自定义的%JAVA_HOME%/bin放置在其他JDK环境变量之前,实际操作界面如图1-24所示。图1-24 Java运行测试

图1-25就是Eclipse IDE简洁而美观的界面。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书

若在网站上没有找合适的书籍,可联系网站客服获取,各类电子版图书资料皆有。

客服微信:xzh432

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?