JavaEE介绍和环境配置
一、 javaEE体系架构web回顾:web的核心技术就是servlet和JSP,然而组成一个基本的web应用程序还有:客户端浏览器、HTTP协议、javabean、xml、标记库、web服务器和web容器等技术,通过采用JSP+servlet+javaBean技术实现web应用的开发(也就是MVC模式),MVC中的每一个组件,她们都充当着不同的角色servlet就是充当控制器角色负责处理
一、 javaEE体系架构
web回顾:
web的核心技术就是servlet和JSP,然而组成一个基本的web应用程序还有:客户端浏览器、HTTP协议、javabean、xml、标记库、web服务器和web容器等技术,通过采用JSP+servlet+javaBean技术实现web应用的开发(也就是MVC模式),MVC中的每一个组件,她们都充当着不同的角色servlet就是充当控制器角色负责处理业务和控制业务流程,JSP充当视图角色负责输出响应的结果,javabean充当模型角色,负责具体的业务逻辑和业务数据。
详解:当客户端浏览器向web服务器发出HTTP请求,所请求的消息通过控制器,然后控制器从中获得信息,接着控制器把业务逻辑将信息交给一个适当的模型对象,这个模型对象与数据库进行交互,并且按照请求信息的要求进行处理、应答并收集信息,然后把控制权转交给控制器,控制权得到接过信息后决定采用什么样的视图向客户端浏览器显示响应信息,在这一过程中,控制器并不是直接将信息给某个视图做显示,通常这是一个包括把数据放置在适当的javaweb作用域范围对象的过程,这个作用域对象在控制器和视图之间共享。
Javaweb应用开发的层次:
表示层->业务层->持久层
表示层采用了HTML、jsp、XML等视图技术。
业务层中使用java的组件技术javabean实现业务逻辑,在持久层使用jdbc完成业务数据的持久化,在逻辑分层中采用MVC模式将表示层与业务层进行分离,这样便于修改和加入表示层,把处理过程放置在分离的业务层中也更便于测试。采用DAO模式将业务层与持久层分离,从而使得层与层之间进行数据传输。
Web应用的优缺点:
优点:1.web应用能够在servlet容器中运行,便于管理
负载小、对业务层对象的访问叫简单,可以在不同的Servlet之间移植。
然而Web应用也存在一定的缺陷:
1. 她只针对一个服务器和一个数据库,性能较低,应用有限。
2. 无法完成相应的事务处理。
二、JavaEE
1.什么是javaEE企业级应用?
JavaEE是一套设计、开发、汇编和部署企业应用程序的规范,目的与核心是提供相应的服务。
JavaEE体系结构的优缺点:
优点:分布式组件、应用程序的可移植性、可靠与稳定性。
缺点:较高的资源需求、较高的应用程序服务器费用
三、JavaEE学习大纲
Struts1.x架构
构建Struts开发环境
方法一:
1. 导入struts所依赖的jar(struts/lib目录下的所有jar文件)
2. 在web.xml中配置ActionServlet
示例:
<servlet>
<servlet-name>struts</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>struts</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3. 在WEB-INF目录下创建struts配置文件(默认配置文件名称为:struts-config.xml)
方法二:在项目上右键-->myEclipse-->add struts Capabilities
Struts内部机制
Struts开发流程
1. 导入struts所依赖的jar(struts/lib目录下的所有jar文件)
2. 在web.xml中配置ActionServlet
示例:
<servlet>
<servlet-name>struts</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>struts</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3. 在WEB-INF目录下创建struts配置文件(默认配置文件名称为:struts-config.xml)
4. 用户登陆表单
5. 创建FormBean(formBean中的属性必须和用户表单中的name属性一致)并在struts-config.xml配置formBean;示例如下:
<form-beans>
<!-- name:FormBean的别名;type:FormBean的全路径名称(包名+类名) -->
<form-bean name="userForm" type="com.form.UserForm"></form-bean>
</form-beans>
6. 创建Action并重写execute方法,然后在struts-config.xml配置Action:
<action-mappings>
<!-- path:请求Action的URI(必须以/开始);type:action的处理类(包名+类名);name:formBean的名称 -->
<action path="/user" type="com.action.UserAction" name="userForm">
<forward name="success" path="/wel.jsp"></forward>
<forward name="error" path="/index.jsp"></forward>
</action>
</action-mappings>
Struts配置文件——struts-config.xml
<struts-config>
<!-- 配置数据源 -->
<data-sources />
<!-- 配置FormBean -->
<form-beans />
<!-- 配置全局异常处理 -->
<global-exceptions />
<!-- 配置全局跳转 -->
<global-forwards />
<!-- 配置Action -->
<action-mappings />
<!-- 资源文件 -->
<message-resources parameter="com.struts.ApplicationResources" />
<plugIn/>
</struts-config>
ActionForm Bean开发技术
1. ActionForm
2. DynaActionForm
Action组件技术
1. Action
2. DispatchAction
使用Log4j记录日志
步骤:
1. 添加log4j依赖jar文件
2. 添加log4j配置文件
3. 加载log4j配置文件
4. 得到log4j日志生成器
5. 生成不同类型的日志
Struts标签库
Struts应用国际化
Struts数据校验
SiteMesh集成
Struts访问数据库
Hibernate
核心技术:Hihernate映射文件详解
Hibernate的基础语法(一)Configuration,SessionFactory,Session
Hibernate的基础语法(二)Transaction,RollBack,Commit
Hibernate的数据类型
Hibernate的实体映射方法(一),Set的映射
Hibernate的实体映射方法(二)List的映射
Hibernate的实体映射方法(三)Map的映射
Hibernate的复合主键的处理方法
Hibernate的大对象的处理方案,Blob的写入与读出
Hibernate的实体映射方案,及实体的粒度问题
HQL
Criteria
Hibernate的一对一映射,主键的关联技术
Hibernate的一对多映射,外键的关联技术
Hibernate的多对多映射。
Spring架构
Spring入门
Spring入门示例
Spring用做IoC容器:控制反转IoC
Spring用做IoC容器:依赖注入DI
Spring用做IoC容器:装载机制
Spring用做MVC框架:Spring的两大功用
Spring用做MVC框架:Spring MVC开发流程
Spring用做MVC框架:Spring三大组件
Spring标签库:Spring表单标签库
Spring标签库:Spring基础标签库
Spring应用国际化
Spring数据校验
Spring数据库开发技术
Spring+Hibernate
Spring+Hibernate+Struts
Struts2.18
Struts2入门
Struts2核心组件
Struts2标签库
Struts2应用国际化
Struts2数据校验
Struts2数据转换器
Struts2拦截器
EJB3.0
EJB基础
运行环境介绍及配置EJB运行环境
EJB入门实例
会话Bean
Remote接口和Local接口
拦截器与EJB注入
数据源的配置
实体Bean
持久化实体管理器ENTITYMANAGER
Java持久化查询语言(JPQL)
命名查询及本地化查询(sql)
一对一关联映射(单向、双向)
一对多关联映射
多对多关联映射
消息驱动Bean(MDB)
事务<一>----JTA事务
事务<二>----RESOURCE_LOCAL事务
JPA入门实例
实体管理器工厂
继承映射
ant
事务传播特性
Spring管理Ejb
四、JavaEE开发环境配置
J2EE是一个标准中间件体系结构,它不是一门编程语言,是运用Java技术开发企业分布式应用的标准。J2EE包含了多层应用开发模型,开发平台—APIs和服务,测试软件包以及参考实现。
目前,J2EE应用开发环境分为两大类:基于命令行的开发环境和集成开发环境。基于命令行的开发环境利用简单的文本编辑器编写程序代码,通过运行Java命令实现程序的编译、发布、运行等操作。这种开发方式对于开发人员要求较高,且比较繁琐、易出错,不易为初学者掌握。对于初学者最适合使用集成开发环境进行入门学习。最常见的J2EE集成开发环境有Borland公司的Jbuilder、IBM公司的WSAD(Websphere Studio Application Developer)和Sun公司的SUNone Studio等。但这些集成开发环境价格昂贵,且运行时对机器的硬件配置要求较高。而网络上一些开放源代码的免费集成开发环境为J2EE开发环境的构建提供了另一条途径。
Eclipse是IBM公司主导下的一款开源免费的、基于Java的可扩展开发平台。由于Eclipse自身不包含JDK(Java Development Kit,Java开发工具包),因此,要利用Eclipse开发J2EE应用程序,必须首先安装JDK。
另外,Eclipse只提供了通用的Java开发环境,为支持J2EE开发,还需要为Eclipse添加支持J2EE开发的专用插件。MyEclipse就是一个插件,与Lomboz一样是专为开发J2EE项目所附加到eclipse开发工具上的。MyEclipse不是免费插件,Lomobz是免费的,但是,如果要写javascript脚本时,又要安装另一个插件,而MyEclipse自带了很多插件,安装完MyEclipse后,基本上不需要再配置其他插件了,它将很多Java应用服务器、J2EE组件和Web应用开发向导工具集成到Eclipse中,可以帮助Java开发者在Eclipse环境内建立、测试和部署J2EE应用。
但是,J2EE编程属于服务器端应用的编程,因此J2EE程序的运行还需要一个Web应用服务器的支持。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat的优点是,它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
基于以上分析,本课程采用Windows XP+JDK+Eclipse+MyEclipse+Tomcat的开发环境来开发和测试J2EE应用程序。
二、JDK 的下载,安装和配置
2.1 下载JDK
JDK 的全称是 Java(TM) SE Development Kit,即Java 标准版(Standard Edition)开发工具包。这是Java 开发和运行的基本平台。JDK是一切Java应用程序的基础,所有的Java应用程序都是构建在JDK之上的。它是一组API,也可以说是一些Java Class......。下载JDK可以访问官方网站http://java.sun.com/javase/downloads/index.jsp ,一般来说下载最新版本即可,目前的稳定版本是JDK 6。本课程使用的是JDK5,它是与Java EE SDK1.5一起打包下载并安装的。其下载页面为http://java.sun.com/javaee/downloads/index.jsp。注意要下载基于Windows操作系统的安装程序。
2.2 安装JDK
将下载后的程序解压后,双击java_ee_sdk-5_01-windows.exe文件,接着就会使用Windows Installer 开始安装过程,根据向导指示安装即可。注意要记住JDK的安装路径。
2.3 配置JDK环境变量
1. 设置JAVA_HOME环境变量
第一个需要配置的环境变量是JAVA_HOME。在我的电脑上点击右键, 选择 属性,在
弹出的对话框中选择高级标签,然后点击环境变量按钮, 在出现的环境变量对话框的系统变量(S)栏目中点击新建按钮, 出现新建系统环境变量的对话框, 输入变量名为JAVA_HOME, 值为 JDK 安装目录,例如:C:\Sun\SDK\jdk (Tomcat 需要这个环境变量来查找 JDK)。
2.设置classpath和path环境变量
用类似的方法新建环境变量CLASSPATH,取值为 .(注意:是英文半角的字符点,表示当前目录),这个变量用来供Java 虚拟机查找要加载的类。一般将classpath设置成“CLASSPATH=.;%JAVA_HOME\lib\tools.jar;%JAVA_HOME\lib\dt.jar“
接下来需要把JDK 的应用程序路径添加到系统的Path 变量中,点击滚动条找到列表中名为Path 的变量,点击” 编辑(I)” 按钮, 即可修改PATH 的变量值。一般来说我们只需要在开头加%JAVA_HOME%\bin;(注意不要用中文全角的;),然后点击两次确定按钮即可。当这些变量设置完毕后,就可以在命令行里面检查是否设置成功。
注意:用户变量和系统变量的区别是用户变量只对Windows 的当前登录用户可用,而
系统变量则是对所有的用户都有影响。
三、Tomcat 服务器的下载,安装和运行
Tomcat是一款开源免费的Web服务器,可以在 http://tomcat.apache.org/ 下载并安装Tomcat 5 或者 6,本课程使用的是Tomcat5.5。建议下载压缩包版本(文件名是apache-tomcat-5.5.27.zip),而不是Windows Service Installer 的EXE安装文件。解压缩到磁盘目录, 记下安装路径例如D:\apache-tomcat-5.5.27, 和JDK的安装一样,为了避免日后产生错误,解压缩的路径不要带有空格,如Program Files。用解压缩工具来解压缩下载下来的ZIP格式的压缩包的时候(例如WinRAR)不要解压缩成了c:\apache-tomcat-6.0.14\apache-tomcat-6.0.14 这样的安装路径。
在 Windows 下面不需要设置CATALINA_HOME 这个变量也可以运行Tomcat,如果你配置了这个变量,那么你的电脑上将永远只能启动设置了CATALINA_HOME 的那个Tomcat,换句话说如果你想多个Tomcat 版本并存,就不能设置CATALINA_HOME。而使用MyEclipse进行开发的时候,也不需要这个变量。如果你想设置,就新建环境变量,名为CATALINA_HOME,取值为Tomcat的安装目录,例如D:\apache-tomcat-5.5.27。
进入Tomcat 安装目录下的bin子目录,可以看到startup.bat 和shutdown.bat。双击starup.bat 启动Tomcat 服务器,将产生如下的输出信息:
当看到出现信息: Server startup in 1937 ms 的输出后,Tomcat 就启动完毕了。反之则可能出现错误,无法启动。要关闭Tomcat 服务器,可以关闭这个CMD 窗口,也可以双击运行shutdown.bat。
接着在浏览器中键入http://localhost:8080/ 来测试是否运行成功。如下图所示:
注意:有的时候您可能想修改Tomcat 的默认监听端口,请用文本编辑器打开Tomcat安装目录/conf/server.xml, 找到如下的定义:<Connector port="8080" … ,替换8080 为你想要的端口即可。假设改成80,就可以省略端口这样访问:http://localhost/ 否则是 http://localhost:新端口/ 或者 http://127.0.0.1:新端口/ 。Localhost或者 127.0.0.1 是个特殊的网络地址,它就代表你本机的地址。
另外,Tomcat 只能启动一次,如果一下启动两个Tomcat,会报这样的异常:java.net.BindException: Address already in use: JVM_Bind。除非是两个安装在不同端口的Tomcat 才能同时启动。
四、Eclipse 3.2的下载,安装和运行
Eclipse 是一款基础的,开源免费的Java开发工具,目前比较流行。Eclipse 3.2可以在 http://www.eclipse.org/ 下载。
Eclipse 3.2分出了几个类型的下载包,第一个是普通的Java开发包,我们下载它就可以了,点击Eclipse IDE for Java Developers 就可以下载了。第二个是提供有限的Java EE开发支持的,包括EJB,JSP, JSF的开发;第三个是C/C++的开发包;第四个是专门做插件和RCP(Rich Client Platform, 富客户端平台,IBM主推的基于Eclipse的桌面应用开发平台,提供有限的系统底层调用和仿Eclipse外观的界面)开发的;第五个是传统的Eclipse下载包,包括Eclipse平台,Java开发工具和插件开发。
下载后得到一个压缩包eclipse-SDK-3.2.1-win32.zip,解压缩到D:\后会自动得到D:\eclipse 这个目录,这样就算安装完毕了。要运行,进入目录D:\eclipse,双击eclipse.exe,就可以启动并运行Eclipse了。启动过程中会提示你选择workspace,点击OK 按钮就可以继续启动,如下图所示:
注意:如果你不希望以后看到这个提示,选中复选框Use this as the default and do notask again 即可。
第一次启动后主界面还显示一个欢迎页面(Welcome),点击上面的图标关闭欢迎页面,之后可以做一些基础的Java 应用开发。这时界面如下所示:
至此Eclipse 就算安装完毕了。
注意:在实际开发中不可避免会遇到一些奇怪的问题,导致解压缩安装的Eclipse 无法运行。最典型的一种莫过于电脑上已经安装了正确版本的JDK 但是却在启动时报错的问题。遇到这种情况,首先您应该检查下载的Eclipse 安装包是不是完整,压缩包有无损坏。最好是从官方站点下载一个。然后还有一种问题,那就是除了正确版本的JDK 外,还安装了一些别的低版本的JDK,例如安装Oracle 或者某些软件后,会自己安装一些JDK1.3 或者更低版本的JDK。Eclipse 启动的时候先从Eclipse 所在目录的jre 目录下寻找java.exe,然后再从环境变量PATH 中找,然后再从注册表中寻找。问题往往出现在从注册表中寻找时。那么不用着急,可以用两种方式来解决。第一种,将JDK 安装目录下的jre 子目录完整复制到Eclipse 安装目录下,例如:从C:\jdk1.6.0\jre 复制到c:\eclipse\jre,复制完成后应该能够找到java 解释器程序c:\eclipse\jre\bin\java.exe,之后再启动Eclipse,就好了。还有另一种方式,是在eclipse 目录下创建一个启动批处理文件run.bat,内容写入:eclipse.exe –vm C:\jdk1.6.0\bin\javaw.exe。这个命令指定了Eclipse 启动时应该使用哪个JVM,也就是用哪个javaw.exe。以后运行的时候双击这个批处理文件启动即可。
五、MyEclipse 的下载,安装和运行
MyEclipse 是一款商业的基于Eclipse的Java EE集成开发工具,换句话说不是免费产品。官方站点是http://www.myeclipseide.com/。MyEclipse 的安装分为插件版本和ALL in ONE 版本,其中ALL in ONE 版本无需自己另外下载安装和配置JDK,Eclipse 3,因此如果你打算以最快的速度装好MyEclipse,请选择ALL in ONE 版本。
5.1 下载
打开首页后点击页面中的下载按钮,之后来到MyEclipse 5的下载页面,需要接受协议然后才能进行下载。点击DOWNLOAD按钮后来到真正的下载页面,下载MyEclipse5插件安装程序。
5.2 插件(PLUG-IN)版本的安装
在插件版本的安装过程中,接受协议后将会出现一个选择现有Eclipse 3.2安装目录的对话框,如下图所示:
点击Choose…按钮后选中安装好的Eclipse 3.2所在目录例如D:\eclipse 然后一路点击Next 按钮即可。
5.3 运行
点击Windows 系统的开始菜单后选择所有程序,然后选择MyEclipse 5.5 的快捷方式组里面的MyEclipse 5.5.1 即可运行,启动过程中会提示你选择workspace,点击OK 按钮就可以继续启动。第一次启动后主界面还显示一个欢迎页面(Welcome),点击上面的图标关闭欢迎页面,之后就可以进行开发了。这时界面如下所示:
如果你购买或者获得了MyEclipse 的注册码, 可以选择菜单 MyEclipse >Subscription Information…来输入,这样你就可以没有时间和功能限制的使用 MyEclipse的所有功能了。
如果要卸载MyEclipse 则点击Uninstall MyEclipse 5.5.1 后安装提示一步步点击Next按钮即可。
至此,一个J2EE开发环境就搭建起来了,我们现在可以开始J2EE开发之旅了。
更多推荐
所有评论(0)