重定向发起两次请求,第一次发送数据,第二次处理数据,当刷新页面时,是发起第二次处理数据的请求,但是由于第一次没有发送数据,所以不会产生重复数据。
J2EE包括哪些技术
J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的J2EE,提供一个平台湾搞独立立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
1)Servlet
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
2)JSP
JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
3) EJB
EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。
4)JDBC
JDBC(JavaDatabase Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)。
对于开发分层的好处在于:
(1)降低耦合,通过接口规范的方式访问,提高效率和共享效率,以及对于调用层不需要知道底层实现就可以很好的进行切割。
分层:分为代码级别的分层和服务器级别的分层。
代码级别的分层好处在于降低耦合,上层依赖下层,通过接口访问下层,不需要知道接口实现。
服务器级别的分层,在于增强上层的负载能力,避免在同一服务器下由于服务层某一服务相对比较消耗资源而占用资源过多,导致其他的请求等待执行,导致相应比较慢。通过web层访问服务层服务器,从而把占用资源比较多的服务放到独立服务器,从而提高web层的访问效率。有的web访问业务很简单,很快就能相应,而又的比较慢,可能都不需要访问服务层,或服务层通过集群负责的方式调用服务层,大大提升访问效率。
举例按照代web->service->dao三层访问,架构演变
(1)部署的在服务器Server-A中,action直接在同一虚拟机中调用service就ok了。
如果Server-A最大支持100的并发请求,那么如果10个用户提交生成订单并扣款并生成镜像文件,比较消耗资源,占用CPU98%,而此时其他的90个登陆请求访问服务器,而此时,由于CPU占用资源过多,那么就会导致另外的90个请求在等待,那么效率此时执行的10个请求完成,那么给用户带来的体验就十分差。
(2)此时会考虑再增加web服务器,但用户访问并发量上来后,那么又会带来同样的问题
(3)发现提交订单的业务比较占用资源,那么就把该占用资源的服务层,分离到单独的应用服务器中,通过SOA方式调用服务,
(4)这样web应用服务器能够比较快的处理客户端请求响应,而占用资源的则单独服务放到单独服务器中执行,把webserver中的占用资源压力分流到单独的应用服务器中。同时服务层的服务器也可以采用集群的方式来响应服务。
好处:
降低web应用服务器中比较占用资源消耗的时间片。
增强web应用服务器层的访问吞吐量。
服务层独立出去可以更好的提供服务,可以通过集群的方式提供服务,增加吞吐量
可以大大增强系统的稳定性和安全、效率。
web层通过集群,服务层通过集群等等好处。
;web容器只能来进行静态网页之间的交往,但是当需要显示JSP和Servlet的时候要用到web服务器,即:一般的情况下web容器和web服务器在一个软件(Tomcat)上就能体现出来。web服务器(Tomcat)和应用服务器(Jboss)之间的区别,web服务器主要用在显示层(JSP和servet),而应用服务器是用在业务逻辑层的,从某种意义上web服务器属于应用服务器的子集。
servlet服务器属于web服务器,用来管理servlet的生命周期,而应用服务器(Jboss)是将业务层的bean在容器中管理。
tomcat属于web服务器,jboss,weblogic,webspere属于应用服务类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)