版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java EE应用开发应用开发第一章第一章 概述概述Java EE应用与开发环境应用与开发环境应用服务器应用服务器n应用服务器是应用服务器是用于创建、部署、运行和管理分布式企业级应用用于创建、部署、运行和管理分布式企业级应用的软件服务器。它管理用户请求,为业务逻辑提供宿主环境、的软件服务器。它管理用户请求,为业务逻辑提供宿主环境、数据连接、事务处理、目录服务等后端计算资源。数据连接、事务处理、目录服务等后端计算资源。n包含包含web服务器功能的应用服务器叫做服务器功能的应用服务器叫做web应用服务器。应用服务器。nJava EE应用服务器应用服务器=Web服务器服务器+EJB容器。容器。nJa
2、va EE服务器提供了企业应用中包含的所有网络服务和商业服务器提供了企业应用中包含的所有网络服务和商业逻辑服务逻辑服务nJ2EE server(J2EE服务器)是J2EE产品的运行时服务部分。一个J2EE服务器提供EJB容器(EJB Container)和Web容器(Web Container)。应用服务器的作用应用服务器的作用n安全服务安全服务(Security Services):为了获得资源访问权,客户必为了获得资源访问权,客户必须通过服务器的认证,因此服务器必须要有验证用户的安全设须通过服务器的认证,因此服务器必须要有验证用户的安全设施。安全验证的手段主要包括:施。安全验证的手段主要包
3、括:n增加用户增加用户/用户组用户组n增加对组件的访问控制增加对组件的访问控制n提供对安全服务的验证提供对安全服务的验证(如操作系统,如操作系统,LDAP等等)n通过用户主机上数字认证的使用来实现安全验证通过用户主机上数字认证的使用来实现安全验证n状态和会话管理状态和会话管理(State and Session Management):服务器服务器必须在同一用户会话过程的多次请求之间维护有关的状态数据必须在同一用户会话过程的多次请求之间维护有关的状态数据应用服务器的作用应用服务器的作用n负载平衡和失败恢复负载平衡和失败恢复(Load Balancing and Fail-Over):n所有的应
4、用程序服务器都提供某种类型的负载平衡和失败所有的应用程序服务器都提供某种类型的负载平衡和失败恢复机制。恢复机制。n负载平衡意味着一组服务器可以被集中成为一个服务器集负载平衡意味着一组服务器可以被集中成为一个服务器集群群(cluster/farm)。n发往服务器的请求被一个分配器(发往服务器的请求被一个分配器(dispatcher)处理以处理以便将请求发给最空闲的服务器,此后客户将直接与那台便将请求发给最空闲的服务器,此后客户将直接与那台服务器通信。负载平衡机制为系统提供了很好的扩展性,服务器通信。负载平衡机制为系统提供了很好的扩展性,随着用户负载的增加,更多的服务器主机可以被加入到随着用户负载
5、的增加,更多的服务器主机可以被加入到服务器集群中服务器集群中n失败恢复机制提供容错性。失败恢复机制提供容错性。n如果集群内某台主机失效停机,新的请求将被重新路由如果集群内某台主机失效停机,新的请求将被重新路由给其他某台服务器,状态和会话数据将被复制给集群内给其他某台服务器,状态和会话数据将被复制给集群内其他服务器或是被存储在永久性媒介其他服务器或是被存储在永久性媒介(如数据库如数据库)中,使中,使用户数据对每个服务器总是保持可用用户数据对每个服务器总是保持可用应用服务器的作用应用服务器的作用n业务和处理逻辑(业务和处理逻辑(Business and Processing Logic):n在应用
6、程序服务器的核心部分集中容纳了业务逻辑(即访在应用程序服务器的核心部分集中容纳了业务逻辑(即访问,生成数据和执行处理的代码)。一旦组件被创建,就问,生成数据和执行处理的代码)。一旦组件被创建,就可以被载入到应用程序服务器中,分配适当的安全设定,可以被载入到应用程序服务器中,分配适当的安全设定,然后就可以运行然后就可以运行n胖客户访问服务器组件(胖客户访问服务器组件(Rich-Client Access to Server Components):n胖客户可以直接访问服务器端组件。例如胖客户可以直接访问服务器端组件。例如Java applet可以可以请求服务器实例化一个组件,然后就可以调用其方法
7、请求服务器实例化一个组件,然后就可以调用其方法应用服务器的作用应用服务器的作用nHTML生成生成:n纯的瘦客户程序不能直接与服务器端组件通信,这意味着服务器端需纯的瘦客户程序不能直接与服务器端组件通信,这意味着服务器端需要另一个组件来生成和处理要另一个组件来生成和处理HTML。应用服务器必须解码(应用服务器必须解码(decode)一个一个URL,来决定执行哪一个组件。该组件访问数据库或其他组件,来决定执行哪一个组件。该组件访问数据库或其他组件,获得结果集,将结果集包装为获得结果集,将结果集包装为HTML(或或XML),),再返回给浏览器。再返回给浏览器。服务器从服务器从HTTP请求中获取数据,
8、使其为服务器端被调用的组件使用请求中获取数据,使其为服务器端被调用的组件使用n数据访问数据访问:n应用服务器提供应用服务器提供JDBC机制,用于增加和管理与关系型数据库(如机制,用于增加和管理与关系型数据库(如Oracle,DB2)的连接的连接n事务管理(事务管理(Transaction Management):n在应用服务器环境中,事务是由服务器唯一管理的。开发人员编写发在应用服务器环境中,事务是由服务器唯一管理的。开发人员编写发布布SQL请求的代码和通知服务器该逻辑是否成功的代码。如果该调用请求的代码和通知服务器该逻辑是否成功的代码。如果该调用序列中任何组件执行失败序列中任何组件执行失败,
9、服务器将执行回滚服务器将执行回滚;否则服务器执行确认。服否则服务器执行确认。服务器提供不同级别的事务控制务器提供不同级别的事务控制应用服务器的作用应用服务器的作用n连接池(连接池(Connection Pooling):n应用服务器不为每一个用户保持对数据源的单独连接。实应用服务器不为每一个用户保持对数据源的单独连接。实际上,它维护了一个连接池,供所有服务器端组件共享。际上,它维护了一个连接池,供所有服务器端组件共享。如果用户需要更新数据,相应组件就会请求服务器从连接如果用户需要更新数据,相应组件就会请求服务器从连接池中分配一个可用连接,当所有的更新被完成后,组件负池中分配一个可用连接,当所有
10、的更新被完成后,组件负责通知服务器是否所有操作都成功。当一个事务结束后,责通知服务器是否所有操作都成功。当一个事务结束后,连接被立刻释放连接被立刻释放n线程池和实例池(线程池和实例池(Thread Pooling and Instance Pooling):n高端的应用程序服务器还提供线程池和实例池。因为对于高端的应用程序服务器还提供线程池和实例池。因为对于线程或者组件实例而言,开销最大的操作来自创建和实例线程或者组件实例而言,开销最大的操作来自创建和实例化过程。线程池和实例池可以提供更好的性能化过程。线程池和实例池可以提供更好的性能Java EE 平台产品平台产品n目前市场上已经有许多成熟的
11、实现目前市场上已经有许多成熟的实现Java EE规范的产品,其中规范的产品,其中有的是商业公司的产品,而有的是开放源代码的免费产品。有的是商业公司的产品,而有的是开放源代码的免费产品。Java EE 商业平台商业平台n主要有主要有BEA WebLogic、IBM WebSphere、Oracle Application Server、Borland Enterprise Server、SUN iPlanet Application Server等。这些产品一般都包括一组完整的产品线,用来支持等。这些产品一般都包括一组完整的产品线,用来支持Java EE应应用从开发、组装、发布及管理的整个过程。
12、用从开发、组装、发布及管理的整个过程。 n(1)应用服务器)应用服务器n商业公司产品中的应用服务器一般都完全支持商业公司产品中的应用服务器一般都完全支持Java EE规范的应用服务规范的应用服务器,除包括器,除包括Servlet容器、容器、EJB容器外,还提供容器外,还提供WEB Services、CORBA等服务。等服务。n(2)应用集成化开发环境)应用集成化开发环境n商业公司的产品提供支持开发商业公司的产品提供支持开发JavaEE应用的集成开发环境,可以大大应用的集成开发环境,可以大大提高应用开发、调试的效率。提高应用开发、调试的效率。n(3)Java EE规范之外的工具规范之外的工具n除
13、了在除了在JavaEE规范中规定的部分外,商业公司的产品一般还包括提供规范中规定的部分外,商业公司的产品一般还包括提供服务器负载均衡、安全控制、开发企业门户等功能在内的工具。服务器负载均衡、安全控制、开发企业门户等功能在内的工具。常见的常见的Web服务器服务器n(1)Apache Tomcat n Apache Tomcat 是一个是一个Servlet容器,它支持容器,它支持Servlet/JSP规范。有规范。有些商业公司的些商业公司的JavaEE平台产品中使用它作为自己应用服务器的平台产品中使用它作为自己应用服务器的Servlet容器,或者在容器,或者在JavaEE应用集成开发环境中作为调试
14、应用程序应用集成开发环境中作为调试应用程序的服务器。的服务器。n注意:注意:Tomcat目前只是目前只是Web容器,它不能运行容器,它不能运行EJB应用。应用。n(2)JettynJetty是一个开源、基于标准、全功能实现的是一个开源、基于标准、全功能实现的JAVA服务器。它在服务器。它在Apache2.0协议下发布,因此可以自由的用于商业用途和发行。首创协议下发布,因此可以自由的用于商业用途和发行。首创于于1995年,年,Jetty受益于一个广大的用户社区,有一个稳定的核心开受益于一个广大的用户社区,有一个稳定的核心开发者来持续专著的开发。发者来持续专著的开发。 nJetty是一个是一个10
15、0%由由Java实现的、开源的实现的、开源的HTTP服务器和服务器和javax.servlet容器,它不仅仅作为一个独立服务软件容器,它不仅仅作为一个独立服务软件(如如Tomcat)被被使用,而且其优良的组件设计、高内聚低耦合、高扩展性等特性使得使用,而且其优良的组件设计、高内聚低耦合、高扩展性等特性使得Jetty非常易于作为嵌入式工具使用,在这一领域已经成功应用于多个非常易于作为嵌入式工具使用,在这一领域已经成功应用于多个产品当中。产品当中。n(3)Resin:nResin提供了最快的提供了最快的jsp/servlets运行平台,支持运行平台,支持EJB。n个人学习免费,但商业需要收费。个人
16、学习免费,但商业需要收费。支持支持EJB3.0的商业应用服务器的商业应用服务器nWeblogic(10以上版本)以上版本)n是商业市场占有率第一的商业是商业市场占有率第一的商业JavaEE应用服务器,它具有应用服务器,它具有出色的稳定性,并提供了人性化的管理界面,还有企业需出色的稳定性,并提供了人性化的管理界面,还有企业需要使用到的众多功能。但在要使用到的众多功能。但在ejb3.0领域,一般认为它做的领域,一般认为它做的比比jboss差些,差些,bug比较多。比较多。nSun Application Server(9.0以上版本)以上版本)n商业商业JavaEE应用服务器,如果你打算选用商业应
17、用服务器应用服务器,如果你打算选用商业应用服务器运行运行ejb3,这个是不错的选择。这个是不错的选择。nOracle Application Server(10g以上版本)以上版本)n商业商业JavaEE应用服务器,如果你的数据库是应用服务器,如果你的数据库是oracle,要想要想兼容性更好,这个是不错的选择。兼容性更好,这个是不错的选择。napusic应用服务器应用服务器n这是国内的商业这是国内的商业JavaEE应用服务器,主要在政府中占有一应用服务器,主要在政府中占有一定的市场份额。但面向开发人员提供的文档实在太少。定的市场份额。但面向开发人员提供的文档实在太少。开源产品开源产品n开放源代
18、码的产品中有如开放源代码的产品中有如Apache Tomcat及及JBOSS等产品。等产品。这些产品不仅是免费的,而且能够提供很好的功能和性能,因这些产品不仅是免费的,而且能够提供很好的功能和性能,因此也有很广泛的应用。此也有很广泛的应用。n(1)Apache Tomcat n(2)Jetty开源产品开源产品n(3)JBOSS(4.2.x以上版本支持以上版本支持EJB 3.0)n是一个成熟的开源的准是一个成熟的开源的准JavaEE应用服务器,在开源应用服务器,在开源JavaEE应用服务器中所占市场份额第一。如果你打算选用应用服务器中所占市场份额第一。如果你打算选用开源的开源的JavaEE应用服
19、务器,那么应用服务器,那么jboss是最值得选择的。是最值得选择的。nJBOSS 是一个是一个EJB容器,但是因为它是基于容器,但是因为它是基于JMX微内核结微内核结构开发的,所以很容易与其它产品集成在一起使用,如可构开发的,所以很容易与其它产品集成在一起使用,如可以很方便地将以很方便地将JBOSS和和Tomcat集成在一起使用。另外,集成在一起使用。另外,JBOSS还有配置简单、应用热发布(不用停止服务器及应还有配置简单、应用热发布(不用停止服务器及应用的情况下发布或升级应用)等优点。用的情况下发布或升级应用)等优点。n(4)Glassfishn是一个开源的是一个开源的JavaEE应用服务器
20、,对应用服务器,对JavaEE规范的支持规范的支持非常好,其运行性能比较高。因为发展时间相对较短,市非常好,其运行性能比较高。因为发展时间相对较短,市场占有率比较低。另外,它能否提供稳定的运行性能,还场占有率比较低。另外,它能否提供稳定的运行性能,还有待时间的考验。有待时间的考验。实验开发环境实验开发环境实验开发环境实验开发环境nJDK 1.6njdk-6u22-windows-i586-p.exe nTomcat7.0.6nApache-ant-1.8.1nMySql5.1或更高版本或更高版本n安装时选择安装时选择GBK编码方式编码方式n同时下载同时下载connector/jnmysql-c
21、onnector-java-5.1.17-bin.jarnEclipse 3.6 for Java EE Developerneclipse-jee-helios-SR1-win32.zipnCVSnWinCvs2_0_2-4.zip(包含服务器端包含服务器端cvsnt和客户端和客户端wincvs)n可选安装可选安装: Python2.7.2或或TCLJDK1.6的安装与配置的安装与配置n(1)安装安装n(2)设置路径设置路径n添加添加JAVA_HOME环境变量,其中环境变量,其中JAVA_HOME代表代表JDK(不是不是JRE)的安装路径,如:的安装路径,如:nC:Program Files
22、Javajdk1.6.0_27n安装完成后,手工添加安装完成后,手工添加CLASSPATH环境变量,新建该环境变量的值环境变量,新建该环境变量的值:n.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jarn或命令行添加:或命令行添加:nSet CLASSPATH=%CLASSPATH%;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jarn如果为了可以编译和运行如果为了可以编译和运行Java程序,还应该在程序,还应该在PATH环境变量中增加环境变量中增加%JAVA_HOME%/bin。nSet PATH=
23、%PATH%;%JAVA_HOME%/binJDK1.6的安装与配置的安装与配置n类似操作界面:类似操作界面:Tomcat安装与配置安装与配置nTomcat安装版本安装版本n使用使用Tomcat 7.0.x以上,才支持以上,才支持Servlet 3.0规范,相配套的规范,相配套的JDK建议建议使用使用JDK1.6以上。以上。nJDK须先安装,并配置好须先安装,并配置好JAVA_HOME。nTomcat安装:安装:n从从apache-tomcat-7.0.6-windows-x86.zip解压到一个目录下即可解压到一个目录下即可nTomcat文件结构文件结构nbin,conf,lib,logs,
24、temp,webapps,work目录目录,LICENSE等文件等文件n测试测试tomcat是否正确安装:是否正确安装:n执行执行/bin/startup.bat,启动服务器启动服务器n建议可对建议可对startup.bat,shutdown.bat等文件建快捷方式到桌面,等文件建快捷方式到桌面,方便使用方便使用n测试测试:nhttp:/localhost:8080Tomcat安装与配置安装与配置n配置配置Web服务端口服务端口n在在conf/server.xml下修改:下修改:n n8080改为其他端口,如:改为其他端口,如:8888(1024以上以避免端口冲突)以上以避免端口冲突)nTip
25、s:可使用可使用EditPlus或或UltraEdit编辑器,方便操作编辑器,方便操作n启动多个启动多个web服务器运行实例(多个服务器运行实例(多个Web服务)服务)n复制复制元素,并修改其元素内部配置元素,并修改其元素内部配置n须运行于不同端口须运行于不同端口Tomcat安装与配置安装与配置n配置内容列表特性配置内容列表特性n出于安全,出于安全,Web服务器默认不开放文件内容列表特性服务器默认不开放文件内容列表特性n开发期间,为便于调试,可打开文件内容列表特性开发期间,为便于调试,可打开文件内容列表特性n修改文件修改文件conf/web.xml:nn listingsn falsennfa
26、lsetrueTomcat安装与配置安装与配置n安全(用户授权)配置安全(用户授权)配置n为了保证为了保证WEB应用的安全性,通常需要对客户端进行认证,应用的安全性,通常需要对客户端进行认证,常用的常用的Web安全验证方式有:安全验证方式有: BASIC(基本认证基本认证), FORM(基于表单的认证基于表单的认证), DIGEST(消息摘要认证),消息摘要认证), CLIENT-CERT(数字证书认证)等几种方法。数字证书认证)等几种方法。 n其中其中BASIC认证是一种基于角色用户的简单的实现身份认证是一种基于角色用户的简单的实现身份验证的方式,当用户访问受限的资源时,使用基本认证验证的方
27、式,当用户访问受限的资源时,使用基本认证的服务器会要求浏览器弹出一个对话框,并且要求用户的服务器会要求浏览器弹出一个对话框,并且要求用户输入用户名和密码。只有用户输入了正确的认证信息,输入用户名和密码。只有用户输入了正确的认证信息,用户才能访问到这些资源,否则在尝试三次失败之后,用户才能访问到这些资源,否则在尝试三次失败之后,将显示一个认证错误页面。将显示一个认证错误页面。 这种认证方式的缺点在于用这种认证方式的缺点在于用户名和密码使用户名和密码使用Base64编码进行传输,并不是非常安编码进行传输,并不是非常安全。全。 Tomcat安装与配置安装与配置n(1)Tomcat的三个控制台:的三个
28、控制台:nServer status,Manager App,Host Managern(2)使用)使用gui界面管理界面管理tomcat时需要用户名和密码才可登录时需要用户名和密码才可登录n通过通过JAAS控制用户认证与授权(这里采用控制用户认证与授权(这里采用BASIC)n观察观察Manager应用的安全配置:应用的安全配置:webapps/manager/WEB-INF/web.xml(P11)n针对不同的资源,指定了不同的用户角色针对不同的资源,指定了不同的用户角色n要使用要使用server status,需要访问需要访问/text/*、/status/*资源,因此资源,因此需要分配需
29、要分配manager-gui角色角色n(3)为)为manager-gui角色指定用户:角色指定用户:n修改修改conf/tomcat-users.xmln增加关联增加关联manager-gui角色的用户名与密码角色的用户名与密码nnnTomcat安装与配置安装与配置n部署部署Web应用应用n部署方式:部署方式:n(1)tomcat自动部署自动部署n拷贝拷贝Web应用到应用到webapps目录下,实现自动部署目录下,实现自动部署n(2)利用控制台手工部署利用控制台手工部署n进入进入server status控制台,如图控制台,如图p1.4,1.5n(1)Context Path(option):
30、 中输入中输入/webDemon(2)XML Configration file URL 中要指定一个中要指定一个.xml文件,比如我文件,比如我们在们在F:/下建立一个下建立一个webDemo.xml文件,内容如下:文件,内容如下: 。docBase 不用写了,因不用写了,因为要在下一个文本框中填入。或者更简单点,这个文本框什么都不为要在下一个文本框中填入。或者更简单点,这个文本框什么都不填。填。 n(3-1)WAR or Directory URL: 中键入中键入F:/webDemo或者或者F:/webDemo.war都可以,然后点击都可以,然后点击Deploy按钮,看看上面是不按钮,看看
31、上面是不是已经看到了你是已经看到了你web应用程序,名字就是你应用程序,名字就是你Context Path(option):中的名字。中的名字。 n(3-2)如果你部署如果你部署.war文件还有更加简单的方式,下面还有个文件还有更加简单的方式,下面还有个Select WAR file upload 点击浏览选择点击浏览选择.war文件,然后点击文件,然后点击Deploy也可以。也可以。 Tomcat安装与配置安装与配置n(3)修改)修改server.xml文件部署文件部署Web应用应用nServer.xml是全局文件,不建议修改(尽量避免修改)是全局文件,不建议修改(尽量避免修改)n这种方式可
32、以不必将这种方式可以不必将webDemo目录拷贝到目录拷贝到webapps下,直接在下,直接在F:/部署。方法如下,更改部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,文件,找到以下内容找到以下内容(Xml代码代码):n npath:是访问时的根地址,表示访问的路径;如上述例子中,访问:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:该应用程序地址如下:http:/localhost:8080/webDemo/ nreloadable:表示可以在运行时在:表示可以在运行时在classes与与lib文件夹下自动加载文件夹下自动加载类包
33、。其中类包。其中reloadable=“false”表示当应用程序表示当应用程序 中的内容发生更中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为方便开发,在发布阶段应该设置为false,提高应用程序的访问速,提高应用程序的访问速度。度。 ndocbase:表示应用程序的路径,注意斜杠的方向:表示应用程序的路径,注意斜杠的方向“/”。 docBase可以使用绝对路径,也可以使用相对路径,相对路径相对可以使用绝对路径,也可以使用相对路径,相对路径相对于于webapps。 nworkdi
34、r:表示缓存文件的放置地址:表示缓存文件的放置地址 Tomcat安装与配置安装与配置n(4)自定义)自定义Web部署文件部署文件(推荐使用,不需要重启推荐使用,不需要重启Tomcat ) n在在conf/Catalina/localhost下创建部署配置文件,如下创建部署配置文件,如dd.xml,可自动部署可自动部署nnn注意此文件名注意此文件名dd将作为将作为Context中的中的path属性值属性值,不管不管文件里的文件里的path属性值如何设置也是无效的属性值如何设置也是无效的 n访问:访问:http:/localhost:8080/ddTomcat安装与配置安装与配置n(5) Web应
35、用以应用以.war文件的形式部署文件的形式部署 n可以将可以将JSP程序打包成一个程序打包成一个war包放在目录下,服务器会自动解开这个包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个包,并在这个目录下生成一个同名的文件夹。一个war包就是有特包就是有特定格式的定格式的jar包,它是将一个包,它是将一个Web程序的所有内容进行压缩得到。程序的所有内容进行压缩得到。 n打包打包warn进入项目文件夹进入项目文件夹F:/demoWeb后,键入如下命令:后,键入如下命令:jar cvf demoWeb.war */ . (注意最后有个(注意最后有个“. ”)。这样
36、在)。这样在F:/demoWeb下应该有下应该有demoWeb.war文件。文件。 (也可以打包到指(也可以打包到指定的地方,命令如下:定的地方,命令如下:jar cvf d:/demoWeb.war */ . ) n部署部署demoWeb.war文件非常简单,将刚才文件非常简单,将刚才xml文件中的文件中的docBase =“F:/demoWeb” 更改为更改为docBase =“F:/demoWeb.war” 或者或者直接将其拷贝到直接将其拷贝到webapps目录下就可以。然后重新启动服务器就目录下就可以。然后重新启动服务器就可以将可以将demoWeb.war部署为一个部署为一个Web应用
37、程序了。应用程序了。 n服务器将服务器将demoWeb.war文件解开,并且在文件解开,并且在webapps下面又生成下面又生成了一个了一个demoWeb文件夹,然后把文件夹,然后把demoWeb.war的内容拷贝到里的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,将面去了。我们可以通过以下方式取消自动解压缩,将xml配置文件配置文件中的中的unpackWAR 属性设置为属性设置为false 即可。即可。Tomcat安装与配置安装与配置n配置配置tomcat数据源数据源n从从tomcat5.5开始,开始,tomcat内置了内置了DBCP的数据源实现的数据源实现nDBCP是一个依赖是一
38、个依赖Jakarta commons-pool对象池机制对象池机制的数据库连接池的数据库连接池.DBCP可以直接的在应用程序用使用。可以直接的在应用程序用使用。n 提供数据源的方式:提供数据源的方式:n全局数据源(所有全局数据源(所有Web应用都可以访问)应用都可以访问)n局部数据源(单个局部数据源(单个Web应用可访问)应用可访问)n(1)下载)下载Mysql的的JDBC驱动:驱动:nmysql-connector-java-5.1.17-bin.jarn拷贝到拷贝到tomcat的的lib目录下目录下n(2)修改)修改conf/Catalina/localhost/dd.xml,增加增加定义
39、定义Tomcat安装与配置安装与配置nDd.xmlnnTomcat安装与配置安装与配置nnTomcat安装与配置安装与配置n测试数据源测试数据源tomcatTest.jspn%n/初始化初始化Context,使用使用InitialContext初始化初始化ContextnContext ctx=new InitialContext(); n/*通过通过JNDI查找数据源,该查找数据源,该JNDI为为java:comp/env/jdbc/dstest,分成两分成两个部分个部分java:comp/env是是Tomcat固定的,固定的,Tomcat提供的提供的JNDI绑定都必须绑定都必须加该前缀加该
40、前缀jdbc/dstest是定义数据源时的数据源名是定义数据源时的数据源名*/nDataSource ds=(DataSource)ctx.lookup(java:comp/env/jdbc/dstest);n/获取数据库连接获取数据库连接nConnection conn=ds.getConnection();n/获取获取StatementnStatement stmt=conn.createStatement();n/执行查询,返回执行查询,返回ResulteSet对象对象nResultSet rs=stmt.executeQuery(select * from news_inf);nwhi
41、le(rs.next()nnout.println(rs.getString(1) n+ t + rs.getString(2) + );n%MySQL安装与配置安装与配置nMySQL安装与配置安装与配置nMySql5.1或更高版本或更高版本n选择选择custom方式安装方式安装n选择选择detailed方式配置,配置时选择方式配置,配置时选择GBK编码方式编码方式n也可以修改:也可以修改:/my.ini:ndefault-character-set=gbkn用户名:用户名:root,密码:密码:123456MySQL数据库文件介绍数据库文件介绍 nMySQL的每个数据库都对应存放在一个与数据
42、库同名的文件的每个数据库都对应存放在一个与数据库同名的文件夹中,夹中,MySQL数据库文件包括数据库文件包括MySQL所建数据库文件和所建数据库文件和MySQL所用存储引擎创建的数据库文件。所用存储引擎创建的数据库文件。 n1、MySQL创建并管理的数据库文件:创建并管理的数据库文件:n.frm文件:存储数据表的框架结构,文件:存储数据表的框架结构,MySQL数据库文件名数据库文件名与表名相同,每个表对应一个同名与表名相同,每个表对应一个同名frm文件,与操作系统文件,与操作系统和存储引擎无关,即不管和存储引擎无关,即不管MySQL运行在何种操作系统上,运行在何种操作系统上,使用何种存储引擎,
43、都有这个文件。使用何种存储引擎,都有这个文件。n除了必有的除了必有的.frm文件,根据文件,根据MySQL所使用的存储引擎的不所使用的存储引擎的不同(同(MySQL常用的两个存储引擎是常用的两个存储引擎是MyISAM和和InnoDB),),存储引擎会创建各自不同的数据库文件。存储引擎会创建各自不同的数据库文件。MySQL数据库文件介绍数据库文件介绍n2、MyISAM数据库表文件:数据库表文件:n.MYD文件:即文件:即MY Data,表数据文件,表数据文件n.MYI文件:即文件:即MY Index,索引文件,索引文件n.log文件:日志文件文件:日志文件n3、InnoDB采用表空间(采用表空间
44、(tablespace)来管理数据,存储表)来管理数据,存储表数据和索引,数据和索引,nInnoDB数据库文件(即数据库文件(即InnoDB文件集,文件集,ib-file set):):nibdata1、ibdata2等:系统表空间等:系统表空间MySQL数据库文件,数据库文件,存储存储InnoDB系统信息和用户数据库表数据和索引,所有系统信息和用户数据库表数据和索引,所有表共用表共用n.ibd文件:单表表空间文件,每个表使用一个表空间文件文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引),存放用户数据库表数据和索引n日志文件:日志文件
45、: ib_logfile1、ib_logfile2MySQL数据库存放位置数据库存放位置 n1、MySQL如果使用如果使用MyISAM存储引擎,数据库文件类型就存储引擎,数据库文件类型就包括包括.frm、.MYD、.MYI,默认存放位置是,默认存放位置是nXp等:等:C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.1datanWin7: C:ProgramDataMySQLMySQL Server 5.1datan2、MySQL如果使用如果使用InnoDB存储引擎,存储引擎,MySQL数据库文件数据库文件
46、类型就包括类型就包括.frm、ibdata1、.ibd,存放位置有两个,存放位置有两个:n.frm文件默认存放位置是文件默认存放位置是C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.1data, nibdata1、.ibd文件默认存放位置是文件默认存放位置是MySQL安装目录下的安装目录下的data文件夹文件夹更改数据库路径与引擎更改数据库路径与引擎nMysql.ini:nbasedir=C:/Program Files/MySQL/MySQL Server 5.1/n#Path to the datab
47、ase rootndatadir=C:/ProgramData/MySQL/MySQL Server 5.1/Data/n# The default character set that will be used when a new schema or table isn# created and no character set is definedncharacter-set-server=gbkn# The default storage engine that will be used when create new tables whenndefault-storage-engin
48、e=INNODBMySQL安装与配置安装与配置n数据库操作:创建数据库和表数据库操作:创建数据库和表n进入进入/bin/mysql.bat或或nSet PATH=%PATH%; /binn在任意路径打在任意路径打mysql,即可进入即可进入mysql字符界面字符界面n登录登录: c:mysql uroot p123456n命令:命令:nmysql select version(), current_date;mysql select version(), current_date; nmysqlquitmysqlquitMySQL安装与配置安装与配置n创建并选择数据库创建并选择数据库: :nm
49、ysql CREATE DATABASE javaee;mysql CREATE DATABASE javaee;nmysql USE javaee;mysql USE javaee;nDatabase changedDatabase changedn创建表创建表: :nmysql SHOW TABLES;mysql SHOW TABLES;nEmpty set (0.00 sec)Empty set (0.00 sec)nmysqlcreate table news_infmysqlcreate table news_infn-( news_id int primary key auto_i
50、ncrement,-( news_id int primary key auto_increment,n- news_title varchar(255);- news_title varchar(255);n插入数据:插入数据:nmysqlinsert into news_inf valuesmysqlinsert into news_inf valuesn-(null , -(null , 疯狂疯狂JavaJava联盟联盟),),n-(-(null , );null , );MySQL安装与配置安装与配置n成批成批sql处理:处理:nmysqls
51、ource c:/test.sql;n其它,可采用图形界面的其它,可采用图形界面的Mysql管理器:管理器:nNavicat MySQLNavicat MySQL是一个强大的是一个强大的MySQLMySQL数据库服务器管理和数据库服务器管理和开发工具。它可以与任何开发工具。它可以与任何3.213.21或以上版本的或以上版本的MySQLMySQL一起工一起工作,并支持大部分的作,并支持大部分的MySQLMySQL最新功能,包括触发器、存储最新功能,包括触发器、存储过程、函数、事件、视图、管理用户,等等。过程、函数、事件、视图、管理用户,等等。 Navicat for Navicat for My
52、SQLMySQL有企业版和个人免费版有企业版和个人免费版 。nMySQL-FrontMySQL-FrontnphpMyAdmin,网页式的,网页式的,需要需要phpphp环境环境Eclipse的安装与使用的安装与使用n下载并安装下载并安装Eclipse IDE for Java EE Developer:neclipse-jee-helios-SR2-win32.zipn直接将压缩文件里的直接将压缩文件里的eclipse解压到某个目录即可解压到某个目录即可n安装安装Eclipse插件方式插件方式n在线安装在线安装nHelp-Install new softwaren使用本地压缩包安装使用本地压
53、缩包安装n选择选择Archiven手动安装手动安装n直接安装直接安装n将插件中的将插件中的plugins和和features分别复制到分别复制到Eclipse的的plugins和和features目录,并重启目录,并重启EclipseEclipse的安装与使用的安装与使用n扩展安装扩展安装n新建新建links目录目录nLinks目录下,创建文件目录下,创建文件jBMP.link,内容只有一行:内容只有一行:npath=n如如:d:pluginsjBPMn(d:pluginsjBPM)下建下建eclipseplugins和和eclipsefeaturesn将插件中的将插件中的plugins和和f
54、eatures分别复制到分别复制到d:pluginsjBPMeclipseplugins和和d:pluginsjBPMeclipsefeatures目录,并重启目录,并重启EclipseEclipse的安装与使用的安装与使用n在在Eclipse中配置中配置Tomcat服务器服务器n新建新建Web项目项目n导入导入Eclipse项目项目n导入非导入非Eclipse项目项目Ant的安装与使用的安装与使用nAnt简介简介n生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。随着
55、应用程序的生成过程变得更(也有可能转换为可安装的产品映像形式)。随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本,这就变得更加重要了。的自动化,以便及时产生一致的生成版本,这就变得更加重要了。 C 或或 C+ 中的传统项目经常使用中的传统项目经常使用 make 工具来做这件事情,工具来做这件事情, 其中生成任务是通过调用其中生成任务是通过调用 shell 命令来执行的,而依赖关系定义在每个生成文件之间,以便它们总是以命令来执行的,而依赖关系定义
56、在每个生成文件之间,以便它们总是以必需的顺序执行。必需的顺序执行。 n简单的说,简单的说,Ant是一个基于是一个基于Java,并且主要用于并且主要用于Java工程的构建工具。工程的构建工具。Ant本本意是意是Another Neat Tool,也就是另一种整洁的工具,取首字符就是也就是另一种整洁的工具,取首字符就是Ant。 n它有些类似于它有些类似于C中的中的make,但比但比make优越。现在存在的大多数优越。现在存在的大多数Build工具,工具,如如make、gnumake、nmake、jam等都存在这样或那样的不足,比如依赖等都存在这样或那样的不足,比如依赖于特定的平台、配置文件过于复杂
57、或者对格式无法检查而容易出错等。与这些于特定的平台、配置文件过于复杂或者对格式无法检查而容易出错等。与这些工具相比较,工具相比较,Ant的两个特性决定了它是一款优秀的的两个特性决定了它是一款优秀的Build工具:工具: n(1)基于)基于Java的实现。具有良好的跨平台性,同时可以通过增加新的的实现。具有良好的跨平台性,同时可以通过增加新的Java类来扩展类来扩展Ant的功能,而无需去了解不同平台上不同的脚本语言。的功能,而无需去了解不同平台上不同的脚本语言。 n(2)基于)基于XML的配置文件。的配置文件。Ant以以XML树来描述树来描述Target/Task的关系,的关系,文件结构清晰、易
58、读易写,并且利用文件结构清晰、易读易写,并且利用XML对格式的控制来避免由于配置文对格式的控制来避免由于配置文件的错误造成的件的错误造成的Build操作失败。操作失败。Ant的安装与使用的安装与使用nAnt的下载与安装的下载与安装n下载下载apache-ant-1.8.1-bin.zipn将其中的将其中的ant目录解压到磁盘的某个路径下即可目录解压到磁盘的某个路径下即可nAnt配置配置n配置环境变量:配置环境变量:nSET ANT_HOME=D:Ant181 n/注意是注意是Ant的安装目录,不是的安装目录,不是bin子目录子目录nSET PATH=%PATH%;%ANT_HOME%bin;n
59、在配置环境变量之前,请确认已经正确设置了在配置环境变量之前,请确认已经正确设置了JAVA_HOME系统变量系统变量n测试:测试:n打入打入ant命令,看到如下输出说明已成功安装了命令,看到如下输出说明已成功安装了Ant工具:工具: nBuildfile: build.xml does not exist!nBuild failedAnt的安装与使用的安装与使用n Ant的一些核心概念:的一些核心概念: nXML:构建文件是以构建文件是以XML文件来描述的,采用文件来描述的,采用 XML 格式有格式有很多好处,这里就不一一列举。很多好处,这里就不一一列举。 n陈述式语法:构建文件短小精悍,且易于
60、理解。陈述式语法:构建文件短小精悍,且易于理解。 n每个构建文件包含一个工程每个构建文件包含一个工程(project)。 n每个工程包含若干个目标每个工程包含若干个目标(target)。 n目标可以依赖于其他的目标目标可以依赖于其他的目标(depends)。 n目标包含任务目标包含任务(task)。 n易于使用易于使用 Java语言增加新的任务语言增加新的任务-易于扩展(自定义)。易于扩展(自定义)。 Build.xmln项目层次结构项目层次结构n:nSrc,classes,lib,dist,build.xmlnAnt生成文件默认名字是生成文件默认名字是build.xml,也可以是其他名字也可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年重庆市名校联盟高一(上)期中英语试卷
- 2026年邯郸市峰峰矿区公务员人员招聘考试备考试题及答案详解
- 2026年陕西省延安市事业单位人员招聘笔试参考题库及答案详解
- 2025年湖州市吴兴区事业单位人员招聘笔试试题及答案详解
- 2026年镇江市京口区公务员人员招聘笔试模拟试题及答案详解
- 2025-2026学年RAPELAY下载音乐说课稿
- 2026年汕头市金平区公务员人员招聘笔试备考题库及答案详解
- 2025-2026学年大班美术《相框》说课稿
- 2025-2026学年大班走迷宫说课稿
- 2026年辽源市西安区公务员人员招聘考试模拟试题及答案详解
- 公立医院领导人员管理办法-2017-2026完整对比版
- 2026广东惠州市生态环境局博罗分局补充招聘编外人员2人笔试备考试题及答案详解
- 2026年绥化市中考物理试卷(含答案及解析)
- 【中考真卷】湖南省2026年初中物理学业水平性考试
- 2026年北京朝阳区高三二模语文试卷答案讲评课件
- GB/T 13320-2025钢质模锻件金相组织评级图及评定方法
- 线上核酸培训课件模板
- 2025-2026 学年九年级历史上学期第一次月考卷(含答案)
- 《分析化学》(第五版)课件 第二章 误差和数据处理
- 无人机反制设备管理制度
- 盾构标准化施工手册
评论
0/150
提交评论