1、  为什么需要JavaEE

我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展。当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担。

为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发

2、  什么是JavaEE

JavaEE是一个开发分布式企业级应用的规范和标准。

Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Platform Micro Edition,Java标准版)、适用于企业应用的JavaEE(Java Platform Enterprise Edition,Java企业版)。

3、  JavaEE包括的技术

JavaEE应用程序是由组件构成的。J2EE组件是具有独立功能的单元,他们通过相关的类和文件组装成JavaEE应用程序,并与其他组件交互。

JavaEE包括的技术有:Web Service、Struts、Hibernate、Spring、JSP、Servlet、JSF、EJB、JavaBean、JDBC、JNDI、XML、JavaSE。

4、  什么框架

框架即Framework,我们可以把框架理解为某种应用的半成品,就是一组组件,供用户选用,完成用户自己的系统。简单地说就是使用别人准备好的组件,来实施自己的项目。

5、  JavaEE与框架的关系

框架技术是在JavaEE的基础上形成的,而应用程序是在框架的基础上创建的。

6、  JavaEE的体系结构

应用程序的三层结构如下:

表示层:由用户界面和用户生成界面的代码组成。

中间层:包含系统的业务和功能代码。

数据层:负责完成存取数据库的数据和对数据进行封装。

三层体系结构的优点:

一个组件的更改不会影响其他两个组件。例如:如果用户需要更换数据库,那么只有数据层组件需要修改代码。同样,如果更改了用户界面设计,那么只有表示层组件需要修改。

由于表示层和数据层相互独立,因而可以方便地扩充表示层,使系统具有良好的可扩展性。

代码重复减少,因为在3个组件之间尽可能地共享代码。

良好的分工与协作。这将使不同的小组能够独立地开发应用程序的不同部分,并充分发挥各自的长处和优势。

7、  JavaEE技术内容

JavaEE技术体系结构可分为:表示层技术、中间层技术、数据层技术。JavaEE还涉及到系统集成的一些技术。

7.1、表示层技术

HTML

JavaScript

Ajax

Ajax是几种技术的整合。Ajax的主要功能是异步地向服务器端发送请求,处理数据或者根据返回的数据重新显示页面。

7.2、中间层技术

JSP

显示动态内容的服务器网页。

Servlet

接收客户端请求,并做出响应的Java程序。

Servlet是中间层技术的重要组成部分,它控制着其他的组件。

JSTL

辅助JSP显示动态内容的标准标签库。

JavaBean

JavaEE的模型组件。

中间层的框架技术

Struts框架:Struts主要是扩展了Servlet。

7.3、数据层技术

JDBC技术

JDBC(Java Database Connectivity):Java数据库连接。

使用JDBC操作数据库中的表和数据。

数据层框架技术

数据层框架,Hibernate提供了以对象的形式操作关系型数据库数据的功能。

7.4、系统集成技术

在一些大型项目中,整个应用程序被分成若干个模块,由不同的开发团队同步进行开发,有可能他们使用的技术也是各不相同的,在每个功能模块开发结束后,所要做的事情就是把这些零散的模块,整合成一个整体,这才是我们也是客户所要的东西,这时我们就要用到有关系统集成的技术(Web Service)。

JAX-WS技术

JAX-WS(Java API for XML Web Service)是JavaEE平台的重要组成部分。

JAX-WS简化了使用Java技术开发Web服务的工作。

JNDI

JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,命名服务把对象和名称联系在一起,并且可以通过名称找到相应的对象。

8、  HTTP(HyperText Transfer Protocol,超文本传输协议)协议

HTTP是一个无状态协议,它基于客户端/服务器模型。HTTP客户端(如浏览器)需要与服务器建立一个连接,并将一则请求消息通过连接发送到HTTP服务器,以请求相应的资源。然后服务器返回带有请求资源的响应消息。当响应结束后,就断开连接,彼此并不保存连接信息。所以HTTP是无状态协议。

HTTP使用端口发送和接收消息。端口是协议发送和接收数据的信道或机制。80端口是为HTTP开发的,主要用于在WWW(World Wide Web,万维网)服务上传输信息。浏览网页服务默认的端口号是80。

9、  使用MyEclipse提供的数据监控工具TCP/IP Monitor来进行数据监控。

TCP/IP Monitor(TCP/IP 监控器)的配置步骤:

Window(窗口)--->Preferences(首选项)--->Run Debug(运行/调式)--->TCP/IP Monitor(TCP/IP 监视器)

注意:如果没有找到,则按以下路径查找:

Window(窗口)--->Preferences(首选项)--->MyEclipse ---> Internet Tools(因特网工具)---> TCP/IP Monitor(TCP/IP 监视器)

然后选中Show the TCP/IP Monitor view there is activity(显示TCP/IP监视器视图,用来查看什么时候有请求和响应)。

单击“Add”按钮,弹出New Monitor窗口。

Local monitoring Port:填写8088。本机监控端口,也就是Monitor实际监听的端口。

Host name:填写localhost或127.0.0.1。欲监控的主机名称,监听对象的设置。

Port:填写8080。欲监控的端口号,你想要监听的端口号,你的请求发送到Local monitoring Port后会转到这个端口。

Type:选择HTTP。要监控的类型。

Timeout:0 。

单击确定按钮,然后单击Start(启动)按钮启动监视器。

然后启动tomcat,在地址栏中输入:http://localhost:8088/项目名(或上下文路径)。在MyEclipse中会出现“TCP/IP Monitor”窗口,可以看到监听的数据了。

可以单击窗口右上角的ValidateWS-I Message Log File图标(图标上有个勾)添加记录文件。

下面对某一请求示例进行分析:

客户端发送的消息为文本流,由以下内容组成:

请求行:包括方法、统一资源标识符(URL)和HTTP协议版本。

头信息:典型的请求消息类似于以下内容。

GET /monitor/test.jsp?username=xinxin&userpassword=1234 HTTP/1.1

Host: localhost:8080

User-Agent: Mozilla/5.0(Windows;U;Window NT 5.1;zh-CN;)

Accept: text/xml,application/xml, text/html; text/plain;

第一行使用GET方法提交请求数据,并指定正在使用的是HTTP协议1.1版本。后续行包括头信息,User-Agent头指示客户端使用的浏览器类型是Mozilla,Accept头信息提供有关客户端可以接受的MIME类型列表。在头信息之后,客户端发送一个空白行,指示请求消息结束。请求消息由服务器进一步处理,并且生成相应的响应消息。

下面是响应示例:

HTTP/1.1 200 OK

Server: JavaWebServer

Last-modified: Tuesday, 21-Aug-07 11:12:10 GMT

Content-length: 100

Content-type: text/html

第一行为状态行。状态行中的状态码200指示已成功处理请求,因此描述为“OK”,404是找不到被请求的网页时遇到的状态码。其他行是头信息,Server头指定服务器上使用的软件,Last-modified头指示被请求文件的最后修改日期,Content-length头指定文件的大小(以字节表示),Content-type头指定文档的MIME类型。例如,text/plain指示未格式化的文本文档。text/html指示格式化的Web文档。

10、 get和post发送方式

post:post方式会将表单的内容通过http发送,在地址栏中看不到表单的提交信息,比较安全,而且使用post方式发送信息没有字符长度的限制。

get方式:表单内容经过编码之后,通过URL发送,可以在地址栏中看到表单信息,不安全。使用get方式发送信息时有255个字符的限制。get请求的页面可以设置为书签或使用邮件发送,而post不可以。

JavaEE的更多相关文章

  1. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  2. javaEE设计模式——门面模式

    1.本节内容 门面模式的意图介绍 门面模式带来的好处 门面模式的应用场景 实现模式的3中方式:POJO.无状态与有状态回话Bean门面 有状态与无状态回话Bean门面的重要差别 关于门面模式使用的警告 ...

  3. 【解决方案】cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-r

    [JAVA错误] cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One o ...

  4. [JavaEE笔记]Cookie

    引言 由于 Http 是一种无状态的协议,服务器单从网络连接上无从知道客户身份. 会话跟踪是 Web 程序中常用的技术,用来跟踪用户的整个会话.常用会话跟踪技术是 Cookie 与 Session. ...

  5. JavaEE开发基础

    1 JavaEE简介 Java平台有三个版本,分别是JavaSE(Java Platform, Standard Edition),JavaEE(Java Platform, Enterprise E ...

  6. javaEE基础08

    javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ...

  7. JavaEE:JavaEE技术组成

    Java平台版本: JavaSE:Java Platform Standard Edition,标准版,用来开发桌面应用系统: JavaEE:Java Plateform Enterprise Edi ...

  8. JavaEE中Web服务器、Web容器、Application服务器区别及联系

    在JavaEE 开发Web中,我们经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server),等容易混淆不好理解名词. ...

  9. Linux服务器oraclejdk与openjdk共存并配置JavaEE开发环境

    由于本人学业的需要,需要在linux中搭建JavaEE开发环境,与windows的同学协同开发. JDK 由于fedora默认使用openjdk,移除多多少少会出现点问题,由于很多开源软件默认使用到它 ...

  10. JavaEE Spring

    1.  Spring以一己之力撼动了Sun公司的JavaEE传统重量级框架(EJB),逐渐成为使用最多的JavaEE企业应用开发框架. 2.  Spring是分层的JavaEE应用一站式的轻量级开源框 ...

随机推荐

  1. ASP.NET MVC 5 学习教程:快速入门

    起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...

  2. SQL注入技术专题—由浅入深【精华聚合贴】

    SQL注入技术专题—由浅入深[精华聚合贴] 不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企 ...

  3. iOS菜单滚动联动内容区域功能实现

    平时开发APP中关于此功能还是比较经常碰到,本实例借用三个开源的插件,并对其中一个进行修改调整实现出想要的效果:本文重点介绍修改的内容跟三个插件的运用,这三个插件还可以各自扩展到其它项目的运用: 效果 ...

  4. 如何在Eclipse卸载之前添加的android 的 ADT

    Android开发环境配置中,怎么卸载ADT? 在Android开发环境配置中,可能会遇到很多问题,其中ADT安装失败需要卸载,怎么卸载呢?下面讲一种方法,希望能够对你有所帮助. 我采用的是Eclip ...

  5. 基础学习day02--标识符、关键字、数据类型与运算符

    一.标识符和关键字   关键字: 就是被java语言赋予了特殊含义的单词. 特点就是所有的关键字都是小写.   标识符: 就是给包.类.接口.方法.变量名起的名字. 规则:1.以数字.字母._以及$符 ...

  6. Swift 中的函数(下)

    学习来自<极客学院:Swift中的函数> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation /******** ...

  7. IO流01--毕向东JAVA基础教程视频学习笔记

    提要 01 IO流(BufferedWriter)02 IO流(BufferedReader)03 IO流(通过缓冲区复制文本文件)04 IO流(readLine的原理)05 IO流(MyBuffer ...

  8. SAM4E单片机之旅——15、触屏输入与SPI通信

    开发板上配了一个电阻触摸屏,它的控制器是ADS7843,使用SPI进行通信.这次实现的功能是通过SPI接口与该控制器交互,获取触摸屏点击的坐标,并显示在LCD上.略为难点的是SPI作为同步时钟的一种, ...

  9. PHP错误日志控制(display_errors和error_reporting)

    display_errors和error_reporting是php程序调试过程中两个非常重要的参数,下面就来介绍一下这两个错误日志的配置如何开启和关闭: 我们知道在产品的生产环境肯定是不能够显示错误 ...

  10. 设计模式C#实现(八)——原型模式

    原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.(要创建一个对象,这个对象为实现原型接口,方法是原型克隆.克隆只是方法而不是原型模式的目的,创建对象才是目的) UML类图: ...