[Java Web] 2、Web开发中的一些架构
1、企业开发架构:
企业平台开发大量采用B/S开发模式,不管采用何种动态Web实现手段,其操作形式都是一样的,其核心操作的大部分都是围绕着数据库进行的。但是如果使用编程语言进行数据库开发,要涉及很多诸如事务、安全等操作问题,所以现在开发往往要通过中间件进行过渡,即,程序运行在中间件上,并通过中间件进行操作系统的操作,而具体一些相关的处理,如事务、安全等完全由中间件来负责,这样程序员只要完成具体的功能开发即可。

2、Java EE架构:
Java EE 是在 Java SE 的基础上构建的,.NET也是由Java EE而来。

2.1、四大容器:
Applet Container、Application Container、Web Container、EJB Container 各自负责,互不影响,如果要运行Web程序,则一定要Web容器。
2.2、Java EE组件:
Applet、Application、JSP/Servlet、EJB 每种容器运行着各自的组件,每个组件意味着一种程序开发。
2.3、Java EE服务:
HTTP(Hypertext Transfer Protocol):主要的通信协议
RMI-IIOP(Remote Method Invocation over the Internet Inter-ORB Protocol):远程方法调用
Java IDL(Java Interface Definition Language):Java接口定义语言,主要用于访问外部的CORBA服务
JTA(Java Transaction API):用于进行事务处理的API,但在Java EE中所有事务应交给容器处理
JDBC(Java Database Connectivity):为数据库操作提供一组API
JMS(Java Message Service):用于发送点对点的消息服务,需要额外的消息服务中间件支持
JavaMail:用于发送邮件,需要额外的邮件服务支持
JAF(JavaBeans Activation Framework):用于封装传递的邮件数据
JNDI(Java Naming and Directory Interface):“key-value"提供名称绑定,并依靠绑定的名字取得具体对象
JAXP(Java API for XML Parsing):专门用来XML解析的API
JCA(J2EE Connector Architecture):Java 连接器架构,通过此连接器可以连接不同开发架构的应用程序
JAAS(Java Authentication and Authorization Service):用于认证用户操作,可以让当前运行代码更加可靠
JSF(Java Server Faces):官方MVC实现组件
JSTL(JSP Standard Tag Library):JSP页面标签支持库
SAAJ(SOAP with Attachments API for JAVA)、JAXR(Java API for XML Registries):Web服务组件,主要用于异构的分布式服务开发
3、Java EE在企业应用环境中的位置:
只是中间层的一种组件!
4、Java EE核心设计模式:MVC(Mode-View-Controller)

5、Struts开发框架:
使用标准的MVC设计模式进行开发,则肯定进行过多的复杂设计,Struts是一套用于进行MVC开发的框架。显然这里Struts是对JSP和Servlet的一种综合,或变相应用。

[Java Web] 2、Web开发中的一些架构的更多相关文章
- Java 反射在实际开发中的应用
运行时类型识别(RTTI, Run-Time Type Information)是Java中非常有用的机制,在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型:还有一 ...
- [转]Java 反射在实际开发中的应用
一:Java类加载和初始化 1.1 类加载器(类加载的工具) 1.2 Java使用一个类所需的准备工作 二:Java中RTTI 2.1 :为什么要用到运行时类型信息(就是RTTI) 2.2 :RTT ...
- Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲
Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台: 微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...
- 转:Android开发中的MVP架构(最后链接资源不错)
Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...
- Java 泛型在实际开发中的应用
java泛型是对Java语言的类型系统的一种扩展,泛型的本质就是将所操作的数据类型参数化.下面我会由浅入深地介绍Java的泛型. 一:泛型出现的背景 在java代码里,你会经常发现类似下边的代码: p ...
- Java IO在实际开发中的应用
IO是java绕不过去的槛,在开发中io无处不在, 正如同 世界上本没有路,java io写多了,也就知道了大体是什么意思,在读完thinking in java 感觉就更清晰了,结合具体的业务场景, ...
- Android学习探索之Java 8 在Android 开发中的应用
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...
- Java 数据类型在实际开发中应用
在前边的博文中,我已经介绍了Java核心的容器IO等,现在我来说一下java中的数据类型.在java中,一切东西皆为对象(这句话意思是java中绝大数情况都用对象),极少数不是对象的,也存在与之对应的 ...
- 转: Android开发中的MVP架构详解(附加链接比较不错)
转: http://www.codeceo.com/article/android-mvp-artch.html 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解M ...
随机推荐
- css兼容tooltip提示框方法
最终效果图: 基本原理 先设定一个背景色的普通div盒子,然后使用上篇post得到的三角型图标,把div盒子设置为相对定位模式,三角型图标设置为绝对定位,位置相对于div盒子,调整到合适的位置.这样就 ...
- NGUI ScrollView总结
1顶级父类加boxCollider和UIDragScrollView脚本保证在item拖走后也能通过拖拽剩余区域的方式操作. 2下一级添加UIPanel在Clipping设定区域,注意如果设定soft ...
- NXP开源自动驾驶计算平台Bluebox 打造现实无人汽车
知名半导体制造商恩智浦NXP已经准备好了自家的自动驾驶计算开源平台Bluebox,将为汽车制造商提供现成的一体化自动 驾驶计算解决方案.专为自动驾驶设备的BlueBox中央计算引擎.不仅能够为无人驾驶 ...
- Selenium2+python自动化2-pip降级selenium3.0
selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...
- codeforces 732/D 二分
给出考试时间和考试需要准备的时间,问最早考完所有科目的时间 二分答案 NlogN 二分抄神犇的写法 感觉挺舒服的嘻嘻嘻 #include<bits/stdc++.h> using name ...
- NSPredicate谓词
NSPredicate——谓词(is) 作用:判断条件表达式的求值返回真或假的过程 使用步骤: . 定义NSPredicate对象并指定条件 . 调用谓词的evaluateWithObject方法判断 ...
- mysql时间查看以及定时器相关操作
1.查看事件 show events select * from mysql.event 2.查看是否开启定时器 0:off:1:on 开启定时器:set global event_scheduler ...
- Python:迭代器
迭代器:可以被next()函数调用并不断返回下一个值的对象称为迭代器. 可迭代对象:可以直接作用于for循环的对象. 基本方法:iter()和next() 迭代器创建: 例1: list = ['a' ...
- LeetCode340 Longest Substring with At Most K Distinct Characters
This is a question needs pay for , I have no money to pay ,so just write some test case by myself. I ...
- PHP static关键字
声明类成员或方法为static,就可以不实例化类而直接访问.不能通过一个对象来访问其中的静态成员(静态方法除外). 为了兼容PHP4,如果没有指定“可见性”,属性和方法默认为public. 由于静态方 ...