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. 最熟悉的陌生人-------MVC

          以前开发iOS程序的时候用的最多的是MVC的设计模式,这种软件架构的模式是由:模型(Model)[屏幕中展示的].视图(View)[如何展示的]和控制器(Controller)[程序的数据 ...

  2. 【译】Dependency Injection with Autofac

    先说下为什么翻译这篇文章,既定的方向是架构,然后为了学习架构就去学习一些架构模式.设计思想. 突然有一天发现依赖注入这种技能.为了使得架构可测试.易维护.可扩展,需要架构设计为松耦合类型,简单的说也就 ...

  3. zend framework2学习(一)初步入门

    声明:本人菜鸟一枚,由于项目中需要用到zf2框架进行开发,在此记载学习使用过程中的点点滴滴.才疏学浅,请多指教............. ------------------------------- ...

  4. ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

    The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramewor ...

  5. 汉化入门之ExplorerControls

    第一次汉化,高手勿喷. 01.问题描述 在ArcGIS中有个添加数据窗口,如果在应用程序中直接调用它,则风格一致性则存在问题,很多时间我们都自定义添加数据窗口,我曾经也尝试过.详见ExplorerCo ...

  6. iOS启动图和开屏广告图,类似网易

    iOS启动图和开屏广告图,类似网易 启动图是在iOS开发过程中必不可少的一个部分,很多app在启动图之后会有一张自定义的开屏广告图,点击该广告图可以跳转到广告图对应的页面.今天呢,和大家分享一下如何添 ...

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

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

  8. javascript 全局变量 局部变量 var 与不加var的区别

      一.外部的为全局,内部的为局部变量.   二.加var为局部变量(在方法内),不加var为全局变量(当方法内有一次使用后) <script type="text/javascrip ...

  9. 数据库性能优化之SQL语句优化

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等是体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统 ...

  10. cmd常用命令 和 sql server相关基础

    在Java开发中 ms sql server 接触算是比较少的,本文记录一些ms sql server的基础知识. 1. 为表字段增加索引:create index user_openid on us ...