Java EE是不是就是Java-web?,第1张

不是,javeee是java企业版,包括web(其实是servlet和jsp),但不限于web。

下面是一段介绍:

  JAVAEE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对JAVAEE中的13种技术规范进行简单的描述(限于篇幅,这里只进行简单的描述):

  1、JDBC(Java Database Connectivity)   JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。

  2、JNDI(java Name and Directory Interface)   JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。

  3、EJB(Enterprise JavaBean)   JAVAEE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现JAVAEE的唯一途径。正是由于JAVAEE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

  4、RMI(Remote Method Invoke)   正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。

  5、Java IDL/CORBA   在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。

  6、JSP(Java Server Pages)   JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

  7、Java Servlet   Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。

  8、XML(Extensible Markup Language)   XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。 XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。

  9、JMS(Java Message Service)   JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另 一种方式来对您的应用与旧的后台系统相集成。

  10、JTA(Java Transaction Architecture)   JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。

  11、JTS(Java Transaction Service)   JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

  12、JavaMail   JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。

  13、JAF(JavaBeans Activation Framework)   JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF

1xml

2 wsdl: webservice description language web服务描述语言

通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书

3soap simple object access protoacl (简单对象访问协议)

限定了xml的格式

soap 在http(因为有请求体,所以必须是post请求)的基础上传输xml数据

请求和响应的xml 的格式如: <Envelop>

<body>

//

</body>

</Envelop>

operation name:服务提供的方法

静态方法不能发布为外部服务

运用jkd自带的代码生成访问服务器的客户端代码 E:/wsimort -s http://testcm/wsdl

我们可以把webservice看做是web服务器上的一个应用,web服务器是webservice的一个容器

函数的参数在 http://testcm/xsd=1

JAX-WS是指 java api for xml -WebService

//测试 WebService服务的 explorer

Web Service Explorer 可以显示返回的xml格式

targetNamespace 默认为倒置的包名

客户端调用WebService的方式:

1通过wximport生成代码

2通过客户端编程方式

3通过ajax调用方式

4通过 URL Connection 方式调用

请求过程分析:

1使用get方式获取wsdl文件,称为握手

2使用post发出请求

3服务器响应成功过

描述 Java Web 项目所用的技术栈需要列出项目中所使用的技术。通常包括:

后端技术:Java 语言、Servlet、JSP、JavaBean、JDBC、Spring、Struts、Hibernate 等。

前端技术:HTML、CSS、JavaScript、jQuery、Bootstrap、Ajax 等。

数据库技术:MySQL、Oracle、SQL Server 等。

其他技术:Tomcat、Apache、Nginx 等 Web 服务器;Maven、Gradle 等项目管理工具。

具体技术栈内容可以根据项目需求来选择。

 自从计算机软件开发进入网络时代 就开始涉及到通讯问题 在客户/服务器(也叫C/S应用)时期 每个软件都有自己的客户端和服务器端软件 并且客户端和服务器端之间的通讯协议差别也很大 后来随着互联网的发展 基于浏览器/服务器的应用逐渐成为主流 通讯协议也统一到HTTP协议 但是 在HTTP协议之上 如何处理来自客户端的请求信息 以及如何对请求进行回应 则经历了很长时间也没有统一下来 目前 对于这个问题的解决方案主要有两种 一个是CGI 另一个是Servlet

  CGI(Common Gateway Interface) 通用网关接口

 通用网关接口 简称CGI 是一种根据请求信息动态产生回应内容的技术 通过CGI Web 服务器可以将根据请求不同启动不同的外部程序 并将请求内容转发给该程序 在程序执行结束后 将执行结果作为回应返回给客户端 也就是说 对于每个请求 都要产生一个新的进程进行处理 因为每个进程都会占有很多服务器的资源和时间 这就导致服务器无法同时处理很多的并发请求 另外CGI程序都是与操作系统平台相关的 虽然在互联网爆发的初期 CGI为开发互联网应用做出了很大的贡献 但是随着技术的发展 开始逐渐衰落

  Servlet

 Servlet最初是在 年由James Gosling 提出的 因为使用该技术需要复杂的Web服务器支持 所以当时并没有得到重视 也就放弃了 后来随着Web应用复杂度的提升 并要求提供更高的并发处理能力 Servlet被重新捡起 并在Java平台上得到实现 现在提起Servlet 指的都是Java Servlet Java Servlet要求必须运行在Web服务器当中 与Web服务器之间属于分工和互补关系 确切的说 在实际运行的时候Java Servlet与Web服务器会融为一体 如同一个程序一样运行在同一个Java虚拟机(JVM)当中 与CGI不同的是 Servlet对每个请求都是单独启动一个线程 而不是进程 这种处理方式大幅度地降低了系统里的进程数量 提高了系统的并发处理能力 另外因为Java Servlet是运行在虚拟机之上的 也就解决了跨平台问题 如果没有Servlet的出现 也就没有互联网的今天

 在Servlet出现之后 随着使用范围的扩大 人们发现了它的一个很大的一个弊端 那就是为了能够输出HTML格式内容 需要编写大量重复代码 造成不必要的重复劳动 为了解决这个问题 基于Servlet技术产生了JavaServet Pages技术 也就是JSP Servlet和JSP两者分工协作 Servlet侧重于解决运算和业务逻辑问题 JSP则侧重于解决展示问题 Servlet与JSP一起为Web应用开发带来了巨大的贡献 后来出现的众多Java Web应用开发框架都是基于这两种技术的 更确切的说 都是基于Servlet技术的

  Java Servlet与Web容器之间的关系

 Java是一种动态加载和运行的语言 也就是说当应用程序持有一个类的地址(CLASSPATH)和名称(包名和类名)的情况下 可以在程序运行期间任何时候加载这个类 并创建和使用该类的对象 Servlet就是基于这个机制与Web容器融合在一起的 目前已知的所有支持Java Servlet的Web容器都是采用Java开发的 当Web容器接收到来自客户端的请求信息之后 会根据URL中的Web元件地址信息到Servlet队列中查找对应的Servlet对象 如果找到则直接使用 如果没有找到则加载对应的类 并创建对象 也就是说 Servlet对象是在第一次被使用的时候才创建的 并且一旦创建就会被反复使用 不再创建新的对象 所有创建出的Servlet对象会在Web服务器停止运行的时候统一进行垃圾回收

 为了解决客户端请求地址与Java Servlet之间对应关系问题 Web容器需要一个用来描述这种对应关系的文件 一般是web xml文件 如果一个Web应用程序中存在很多个Servlet 那么web xml会变得非常庞大 在Servlet 规范推出之后 允许在Servlet代码中使用声明式语法来代替web xml中的描述信息 这才让web xml瘦身下来 下图是这个过程的一个示意图

 

lishixinzhi/Article/program/Java/hx/201311/26848

 概念一直是学习计算机软件开发中经常遇到的问题 也是软件行业最喜欢创造的东西 很多时候 学习计算机软件开发遇到困难都是因为对某些概念的不理解 而不是因为技术本身有多么复杂 Java Web作为Java EE技术体系的一部分 应该是目前所有Web开发技术中最复杂的一种 很多初学者 或者是从ASP PHP转移过来的开发者都会遇到概念方面的困难

 其实很多概念都是非产简单的 只是因为厂家为了宣传需要 将概念复杂化 学术化 导致学习者觉得这些概念非常深奥 难以理解 在这里 我们首先去澄清Java Web开发中几个常用的基本概念 当然理解这些概念的前提是需要你具备一定的计算机系统 面向对象等方面基础知识

  Web容器

 所有的程序运行都需要有一个必要的运行环境 这个环境可以是软件 也可以是硬件 或者是软件和硬件的结合 比如说Windows操作系统需要运行在硬件基础上 Office软件需要运行在操作系统上 并且程序与运行环境之间会有一定的数据交换 比如操作系统会将运行指令传递给硬件 硬件也会将指令运行结果传递给操作系统 Java Web程序也需要一个运行环境才能够执行 这种运行Java Web程序的环境被称为Web容器 Java Web程序与Web容器之间存在数据交互 目前主要存在两种类型的Java Web容器 一种是独立的Java Web容器 在这种容器里面只能运行Web程序 这种容器一般也叫做Web服务器 如Tomcat等 另一种是与其他Java EE容器混合在一起的Web容器 Web容器负责运行Web程序 其他容器负责运行EJB等程序 如WebLogic等

 当用户通过浏览器等Web客户端软件向服务器发出一个请求之后 首先接收到这个请求的是Web容器 Web容器会将请求信息封装到一个HttpServletRequest类型的Java对象中 并将对象传递给Java Web程序 对于每个请求 Web容器还会创建一个HttpServletResponse类型对象 该对象的作用是用来保存需要返回到浏览器等客户端的内容 Java Web程序可以从HttpServletRequest提取用户发出的请求信息 进行适当的处理之后 将处理结果放置到HttpServletResponse中 然或由Web容器解析HttpServletResponse对象内容 并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端 在这个过程中 HttpServletRequest和HttpServletResponse就如同两条渡船 负责在Web容器和Java Web程序之间传递信息 需要注意的是 这两个对象仅存在于Web容器和Java Web程序当中 与浏览器没有关系 下图是这个过程的示意图

 

  Web应用

 Web应用 可以认为是Web程序的另一个名称 缺的的定义就是运行在Web容器当中的 能够完成完整功能的应用程序 Java Web应用由一系列编译之后的Java类 静态 静态HTML文件 配置文件等构成 通过Java Web应用可以就收用户的输入和请求 并对请求信息进行加工处理 访问数据库 对用户的请求给出回应 开发Java Web应用程序处理需要遵守Web应用的一些特殊规范要求以外 与开发其他类型的应用程序并没有本质区别 目前Web应用主要有两种类型 一种是以展示为目的的Web应用 这种应用会以HTML等标记文本或者浏览器所能识别的媒体格式最为请求返回内容 用户可以通过浏览器等客户端操作这类应用 另一类是以服务为目的的Web应用 这类应用不提供图形操作界面 只提供方法调用结构 比如Web服务 该类应用一般只能被其他应用程序调用和访问

  Web元件

 Web元件是构成Web应用 能够对来自浏览器等客户端请求做出回应的基本单元 在Java Web应用中 所提供的Web元件有Servlet JavaServer Pages(JSP) JavaServer Faces(JSF)等 另外还可以使用其他类型Web应用同样使用的内容 比如HTML文件 静态等 事实上Java Web只提供了一种Web元件元件 就是Servlet JSP JSF等都是基于Servlet的衍生技术 Servlet实质就是一个有特殊继承关系要求的Java类 理解Servlet就基本上完全理解Java Web技术了

  Web模块

 在Java EE技术体系中 除了Java Web以外 还包括EJB等其他技术 每个技术体系会运行在各自的容器当中 不同的部分组合在一起构成完整的Java EE应用 每个部分根据自己的特点被称为Java Web模块或者EJB模块 之所以把他们称为模块 是因为希望Java EE应用不同部分能像积木一样组合出更大 更复杂的应用出来 并且每个部分保证其独立性 不同的模块都有自己特定的目录结构要求 Java Web模块的目录结构要求如下

 ◆应用文档根目录 改目录是Java Web模块的最上层目录 组成Web模块的所有Web元件以及配置文件等都包含在该目录或者子目录下 在改目录下可以直接存放HTML文件 文件等

 ◆WEB INF目录 改目录位于应用文档根目录下 用来保存那些不希望被浏览器等客户端访问的文件 比如发布描述文件 编译之后的类文件 因为这些文件是由由Web容器进行解释或者执行的 浏览器不可以直接看到这些文件 只能看到这些文件的执行结果

 ◆web xml文件 该文件位于WEB INF目录下 是Web应用的部署描述文件 用来与定义Web应用运行相关的信息 比如执行逻辑 Servlet等Web元件的访问路径等 改文件的格式必须符合所使用的Servlet版本的规格要求

 ◆classes目录 该目录位于WEB INF目录下 用来保存编译之后的Java类文件 比如Servlet 辅助类 其他业务处理类等

 ◆tags目录 该目录位于WEB INF目录下 用来保存那些标签库的标签描述文件

 ◆lib目录 该目录位于WEB INF目录下 用来保存Web应用运行所依赖的 经过打包之后的Java类文件 打包格式一般是 jar格式

 对于Java Web模块目录中WEB INF web xml classes tags lib这些内容以外 用户可以根据自己的需要在Web应用文档根目录下创建其他目录 比如可以为 不同用途的HTML或者JSP单独创建目录 还可以为不用的Java类在classes下创建包目录 如果在你的Web应用中没有使用到Servlet 过滤器 监听器等Java Web元件 可以没有web xml文件 如果没有使用到标签 则可以没有tags目录

 Web模块的发布工作 可以直接以目录的形式发布 也可以打包成jar格式文件进行发布 因为用途和内容的特殊性 打包文件的扩展名会采用 war而不是 jar 另外如果不是发布到独立的Web服务器上 而是发布到与其他Java EE一起使用的企业应用服务器上 还需要编写一个与企业应用服务器相关的配置文件 这个文件对于不同的企业应用服务器也不同 比如发布到glassfish服务器上 需要编写的文件时sun web xml

lishixinzhi/Article/program/Java/hx/201311/26761

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Java EE是不是就是Java-web?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情