重温Java EE

  Java EE应用概述

  今天我们说的Java EE应用,往往超出了Sun所提出的经典Java EE应用规范,而是一种更广泛的开发规范。

1.1.1Java EE应用的分层模型

  Domain Object(领域对象)层:此层由系列的POJO(plain old java object)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。

  DAO(数据访问对象)层:此层由系列的Dao组件组成,这些Dao实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

  业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖Dao组件实现的业务逻辑方法。

  控制器层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

  表现层:此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并将显示处理结果。

1.1.2Java EE应用的组件

  表现层组件:主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是JSP,但JSP并不是唯一的表现层技术。表现层还可由Velocity、Freemarker和Tapestry等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型智能设备。

  控制层组件:对于Java EE的MVC框架而言,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负责处理调用业务逻辑方法,处理用户请求。

  业务逻辑组件:是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体的,因此我们要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据访问。因此,业务逻辑组件中不应该出现原始的Hibernate、JDBC等API。

  DAO组件:Data Access Object。这个类型的对象比较缺乏变化,每个DAO组件都提供Domain Object对象基本的创建、查询、更新、删除等操作,这些操作对应于数据表的CRUD的原子操作。当然,如果采取不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现与DAO组件的实现分离,我们为每个DAO组件都提供接口,业务逻辑组件面向DAO接口编程,从而提供更好的解耦。

  领域对象组件:Domain Object抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里。因此,每个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录访问方式。

  轻量级Java EE应用相关技术

  轻量级Java EE应用以传统的JSP作为表现层技术,以系列开源框架作为MVC层、中间层、持久层解决方案,并将这些开源框架有机的组合在一起,使得Java EE应用具有高度的可扩展性、可维护性。

1.2.1 JSP、Servlet 3.0 和JavaBean及代替技术

  。。。。。。

1.2.2 Struts2.2及替代技术

  Struts是全世界最早的MVC框架,其作者是JSP规范的制作者,并参与了Tomcat开发,所以Struts从诞生的第一天起,就备受Java EE应用者的青睐。多年来,Struts却是Java EE应用中使用最广泛的MVC框架,拥有广泛的市场支持。

  虽然Struts如此优秀,但在MVC框架领域还有另外两个代替者:JSF和Tapestry。  

1.3 Tomcat

1.3.2配置Tomcat的服务端口

  Tomcat的配置文件都放在conf目录下,控制端口的配置文件也放在该路径下。打开conf下的server.xml文件,务必使用记事本或vi等无格式的编辑器,不要使用如写字板等有格式的编辑器。地位于server.xml文件的68行处看到如下代码

<Connector port="8080" protocol="HTTP/1.1"
    ConnectionTimeout="2000"
    redirectPort="8443"/>

  如果需要让Tomcat运行多个服务,只需要复制server.xml文件中的<Service>元素,并修改相应的参数便可以实现一个Tomcat运行多个服务,当然必须在不同的端口提供服务。

  在Web应用开发阶段,通常希望Tomcat能列出Web应用根路径下所有页面,这样能更方便地选择需要调试的Jsp页面。默认情况下,出于安全考虑,Tomcat并不会列出Web应用根路径下的所有页面,为了让Tomcat列出web应用根路径下的所有页面,可以打开Tomcat的conf目录下的web.xml文件,在该路径的104、105两行,看到一个listings参数,该参数的默认是false,将该参数改为true即可让Tomcat列出Web应用根路径下的所有页面。

<init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value>
</init-param>

  Tomcat有三个控制台:一个是Server Status控制台,另一个是Manager App控制台,还有一个是Host Manager控制台。Status用于监控服务器状态,而Manager可以部署、监控Web应用,因此我们通常只使用Manager控制台即可。

1.3.4 部署Web应用

  利用Tomcat的自动部署

  利用控制台部署

  增加自定义的Web部署文件

  修改server.xml文件部署Web应用

  利用Tomcat自动部署方式是最简单、最常用的方式。我们只要将一个Web应用复制到Tomcat的webapps下,系统将会把该应用部署到Tomcat中。

  利用控制台部署Web应用也很简单,只要我们在部署Web应用的控制台输入即可。

  第三种方式则无须将Web应用复制到Tomcat安装路径下,只是部署方式稍稍复杂一点,我们需要在conf目录下新建Catalina目录,再在Catalina目录下新建localhost目录,最后在该目录下新建一个名字任意的XML文件--该文件就是部署Web应用的配置文件,该文件的主文件名将作为Web应用的虚拟路径。

  

时间: 2024-10-17 09:53:03

重温Java EE的相关文章

eclipse安装java ee插件方法步骤

1.本人以前使用的MyEclipse进行Javaweb开发,但是后来由于myeclipse实在太臃肿,经常在运行的过程中不流畅 (可能电脑内存也不是太高吧)   !所以坚决换用eclipse,但是问题来了,下载的eclipse因为是标准版所以也不支持Javaweb开发,所以要来配置一下开发环境,安装Javaee开发插件   ,以下为安装步骤 1.1 在Eclipse中菜单help选项中选择install new software选项 1.2 在work with 栏中输入 http://down

Java EE开发平台随手记1

过完春节以来,一直在负责搭建公司的新Java EE开发平台,所谓新平台,其实并不是什么新技术,不过是将目前业界较为流行的框架整合在一起,做一些简单的封装和扩展,让开发人员更加易用. 和之前负责具体的项目开发不同,不能只是功能实现就可以,还需要考虑更多的非功能性需求,比如性能.安全性.易用性.可维护性.易扩展性.兼容性等等,因此有很多在实际项目中觉得方便易用的功能不得不因种种原因而舍弃:另一方面,也常常会偶尔有一些新想法.新构想,但因缺乏实践论证,也往往没有加入进来:此外,对于平台中已经添加的那些

Java Web项目中缺少Java EE 6 Libraries怎么添加

具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build Path-->Java Build Path" 2.单击"Add Library..." 3.选择"User Library",单击"Next" 4.单击"User Libraries...",选择需要的Java EE 6 Libraries Java Web项目中缺少Java EE 6

InfoQ观察:Java EE的未来

原创 2017-03-06 Charles Humble 聊聊架构 作者|Charles Humble编辑|薛命灯 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题.我们借用了Geoffrey Moore在他的经典书籍<跨越鸿沟>里的所描述的模型,这个模型贴切地概括了技术的生命周期,它包含五个阶段:创新者(Innovators).早期采用者(Early Adopters).早期大众(Early Majority).后期大众(Late Majority)和落后

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,

SSH:Struts + Spring + Hibernate 轻量级Java EE企业框架

Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本.这个版本以前称为 J2EE.能够帮助我们开发和部署可移植.健壮.可伸缩且安全的服务器端Java应用程序.Java EE 是在 Java SE 的基础上构建的,它提供Web 服务.组件模型.管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0应用程序.

Java EE规范是如何制定的

我们经常做的JAVA EE开发实际上都是遵从了JAVA EE的规范进行的,那么这些规范是如何制定的呢? 这就不得不提到JCP这个组织了. JCP( Java Community Process)可以翻译为Java社区进程,这个组织是1998年由SUN公司创立的.JCP给公众了一个参与JAVA平台开发和维护的机会.那么我们是如何参与进去呢,这就不得不提到JSR(Java Specification Request Java标准请求). JSR是也就是java标准请求,可以由JCP的注册会员发起,然

java ee环境搭建

下载安装Java EE SDK 版本:Java Platform,Enterprise Edition 7 SDK (with JDK 7u45) 下载页面: http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-7-sdk-with-jdk-u45-2066865.html 文件名:java_ee_sdk-7-jdk7-windows.exe 安装路径:D:\glassfish4 环境变量设置 JAVA_HOME=D:\

开发者眼中的Spring与Java EE

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/07/spring-javaee 在Java社区中,Spring与Java EE之争是个永恒的话题.在这场争论中,来自两个阵营的布道师.架构师与铁杆粉丝都在不遗余力地捍卫着本方的尊严,并试图说服对方加入到自己的阵营当中,但结果却是双方都很难说服对方,每一方都有充分的理由表明自己的选择是正确的.参与到这场争论的有一些架构师,他们负责着平台的选择.那么对于普通开发者来说该如何思考