[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 ...
随机推荐
- WebForm---登陆状态保持(Cookies内置对象)
登录状态保持: 首先做一个登录界面,点击 登录按钮 protected void Page_Load(object sender, EventArgs e) { Button1.Click += Bu ...
- TortoiseSVN-1.8.11 安装时弹出2503错误导致安装失败解决办法
这个问题主要是由于msi格式文件在win8中默认不是以管理员身份运行造成,可通过命令行解决: 右键单击win8左下角启动图标,选择命令提示符(管理员): 输入:msiexec /package 要安装 ...
- js onkeypress与onkeydown 事件区别详细说明
keypress只适用于有字符输入的按键 而keyup/keydown包含了Ctrl, Shift之类的情况 Firefox在处理onKeyDown/onKeyPress事件时存在漏洞,恶意网页可能利 ...
- oracle SQL查询中间若干条记录
方法一:利用rownum和差集函数minus select * from ( select * from emp order by sal) where rownum<13 minus sele ...
- java基础十一[远程部署的RMI](阅读Head First Java记录)
方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出. 远程过程调用需要创建出4种东西:服务器.客户端.服务器辅 ...
- Java制作证书的工具keytool用法总结
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- NGUI Draw Calls优化(思路)
用NGUI做界面的时候发现不注意GameObject(或者说Widget)的depth的话,单独运行界面时,Draw Calls挺高的: 网上搜了一下,大把的博客说的都是类似以下的原则: (PS:以下 ...
- 技术英文单词贴--V
V validate 验证,确认,使生效 verify 核实,查实,验证 version 版本,译文 via 通过,凭借,经过 prep
- 揭开HTTP网络协议神秘面纱系列(三)
HTTP首部字段有四种类型:通用首部字段,请求首部字段,响应首部字段,实体首部字段. 通用首部字段: 首部字段 说明 Cache-Control 控制缓存的行为 Connection 逐跳首部.连接的 ...