一,Remote EJB 服务接口定义: 1 package yjmyzz.ejb.server.helloworld; 2 3 public interface HelloWorldService { 4 5 public String sayHello(String name); 6 7 } 实现: 1 package yjmyzz.ejb.server.helloworld; 2 3 import javax.annotation.security.RolesAllowe
J2ee开发主要是浏览器和服务器进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器。可以看出服务器在这种架构是非常重要的。 这几天接触到两种Java的web服务器,做项目用的Tomcat,看视频看的是WebLogic Server(WLS),都是web服务器,有什么区别和联系呢? (一)先简单介绍一下这两种服务器。 WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic Server 9.0是迄今为止发布的最卓越的BEA应用服务器。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。完全遵循J2EE 1.4规范。 Tomcat服务器是一个免费的开源的Web 应用服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且很重要的是她免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。而且由于开源,它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 (二)相同点: WebLogic和Tomcat都是基于java的基础架构来满足实时处理需求,不同的版本与jdk版本兼容和有所不同;因为都是要和前台交互,所以他们都基于sun公司的servlet来实现的。 (三)不同点: 功能性: WebLogic更加强大。weblogic是j2ee的应用服务器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其他如JAVA编辑等工具,是一个综合的开发及运行环境。 WebLogic应该是J2EE Container(Web Container + EJB Container + XXX规范)! Tomcat只能算Web Container,是官方指定的JSP&Servlet容器。只实现了JSP/Servlet的相关规范,不支持EJB(硬伤啊)!不过Tomcat配合jboss和apache可以实现j2ee应用服务器功能 一般来说考虑stucts等架构tomcat就可以了,但如果考虑EJB的话,WebLogic是比较好的选择。 扩展性: 用WebLogic运行标准的java可能并不是最好的方式,WebLogic里支持他自己的一些东西,这些东西虽然是在纯java基础上开发的,但其他工具里都没有。WebLogic Server凭借其出色的群集技术,拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。 WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错 。 无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的 所以,在扩展性方面WebLogic是远远超越了Tomcat。 费用上: Tomcat开源免费。 WebLogic不开源不免费。 总之,在功能强大和扩展性和可用性等方面WLS比Tomcat好很多,但这也不能说明WLS适合每一方面,从Tomcat的使用流行度便可以看出,Tomcat虽功能有限,但也很受欢迎。其实关键看你要做什么。Tomcat 是免费开源的jsp,servlet引擎,入门级别的Web服务器,刚入门的IT人使用Tomcat简单易上手。而且它一个轻量级应用服务器,最重要的是它免费,所以在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat比较轻巧,消耗资源较少。当然,项目大的时候,WLS肯定再合适不过,而且Tomcat也无法满足太多需求,但是,WLS的费用也是不可小觑的。 总之,关键看你做什么,权衡利弊做选择。 此外,还有其他J2EE Application Server,例如: IBM的websphere、Sun的Glassfish、resin等。Apache全球应用最广泛的http服务器,免费。同样开源免费的JBoss
EJB,对于新生代程序员来说,是一个既熟悉又陌生的名词,EJB,大家都听说过,但是不一定都了解过,EJB是一种开发规范,而不是像Spring Framework一样是一个开源框架,EJB需要大量的XML配置和编码,增加了开发人员的工作负担,学习曲线相对陡峭,因此逐步被ssh取代,而后是s2sh 、ssm、 到现在的springboot微服务。
我们经常会被Web服务器、Web容器和Web中间件这三个概念搞混。因为我们常见的很多网站要么是由IIS搭建,要么是由Apache、Tomcat、Ngnix搭建。所以,我们会把他们都叫成是Web服务器,因为他们都提供了Web服务,可以让我们通过http协议访问到。但是又有很多地方会说Tomcat是Servlet容器,而又有很多地方会说Tomcat是Web中间件!那么,他们到底是Web服务器还是容器,还是Web中间件呢???
Apache Shiro是一个功能强大且灵活的用于处理认证、授权、企业级会话管理和加密的开源安全框架。
前言 本文是为想在JBOSS环境下进行EJB开发的读者而写的,在阅读本文之前,你最好对EJB有一个基本了解。 JBOSS是一个开放源码的免费EJB服务器,它实现了其它J2EE所规定的大多数功能,现在sun公司已经把JBOSS作为J2EE1.4的标准实现服务器了,本文就带领大家从Jboss3.2.6的安装开始,一直到开发出一个完整的”hello,world”的ejb为止。 JBOSS的安装与启动 如果你是第一次使用JBOSS,你一定会感到很沮丧,因为它虽然是开放源码,并可以免费下载,但是它的
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Bootstrap 实例 - 滚动监听(Scrollspy)插件</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body>
总结:Apache/Tomcat/JBOSS/Nginx区别 . 1、Apache是Web服务器,Tomcat是应用(Java)服务器。Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。Apache支持静态页,Tomcat支持动态的。 2、Jetty:Tomcat内核作为其Servlet容器引擎,并加以审核和调优.大中型系统可以应用。能够提供数据库连接池服务,还支持其他 Web 技术的集成,譬如PHP、.NET 两大阵营. 3、JBoss是一个管理EJB的容器和服务器,但JBoss核心
Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。开发Java Web应用所采用的服务器主要是与JSP/Servlet兼容的Web服务器。
1.一般本地开发的话,小项目,或者是个人开发建议使用tomcat。 2.linux系统建议使用jetty或apache hpptd 3.大型的项目就用JBOSS或webloigc
JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣,目前国内主流开发架构大多采用SSH,很少有JSF 2.x + EJB 3.x的应用,但从我个人感觉来看,特别是对于从.NET转型到JAVA的web程序员而言,JSF中的很多概念其实跟.NET很接近,国外已经有越来越多的项目在采用JSF + EJB3做为技术选型,下面将详细介绍JSF的开发环境搭建.
上一篇已经知道了JMS的基本操作,今天来看一下ejb3中的一种重要bean:Message Drive Bean(mdb) 如果要不断监听一个队列中的消息,通常我们需要写一个监听程序,这需要一定的开发量,而且如果要实现高并发处理,也不易扩展,而MDB则自动实现了该功能,简单点讲,MDB的应用部署到jboss后,能自动监听目标队列,一旦有消息接收,会触发onMessage事件,开发人员可以在该事件处理中扩展自己的业务逻辑. 一、定义一个MDB 1 package mdb; 2 3 4 5 im
在正式做架构分析之前,我们需要明确两个概念:web server和web container的区别。
在 Java 近20年的历史中,它经历过很好的时代,也经历过饱受诟病的时代。尽管有很多粗糙的地方,如 applet、企业级JavaBean(Enterprise JavaBean,EJB)、Java 数据对象(Java Data Object,JDO)以及无数的日志框架,但是作为一个平台,Java的历史是丰富多彩的,有很多的企业级软件都是基于这个平台构建的。Spring是Java历史中很重要的组成部分。
作为最受欢迎的编程语言之一,Java 已经走过了 20 个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到 Java 语言的身影。从 1995 年的第一个版本到现在的 Java 1.8,我们甚至能从Java 的版本迭代中看到不同时代编程语言关注的重点。经过了过去 20 年的发展,Java 已经成为如今使用最为广泛的企业级语言。为了庆祝 Java 的第 20 个生日,InfoQ 为此采访了 Java 技术专家彭晨阳(网络 ID:板桥)。
在最近半个世纪里,计算机软件的作用发生了很大的变化。硬件性能的极大提高、计算机结构的巨大变化、存储容量的大幅度增加以及种类繁多的输入、输出方法都促使基于计算机的系统更加先进和复杂。Web应用属于计算机软件的子集,在此期间也在快速的发展中。从早期的企业黄页,到现在的各种移动端应用、云服务,都离不开Web技术的不断迭代升级。从架构层面上看,早期的应用大部分是C/S结构的,C/S结构系统大多分为两层,客户端实现用户展示和部分逻辑,服务端实现数据存储和部分逻辑。到了面向对象出现的时候,应用开始转向三层结构即表现层展示用户界面,领域层实现业务逻辑,数据层存取数据。这样的分层使不同层级的开发人员可以专注于各自部分的技术,通过服务接口调用彼此合作。上个世纪90年代Web的出现,应用结构开始从C/S结构转变成B/S结构,Web应用的兴起,也让Web技术得到了巨大的发展。Web技术的发展很多也是遵循着分层思想,分层使层与层之间实现了解耦和复用,慢慢的层级之间结构化越来越清晰,实现了层级的标准化。下面我们沿着Web的发展阶段,分析一下一些主要的Web技术。
在servlet里面可以通过 getServletContext().getInitParameter(“context/param”)得到
一、Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行。 tomcat是一个中间件,真正起作用的,解析java脚本的是jdk。 jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库。 最主流的jdk为sun公司发布的jdk
http://blog.csdn.net/jiaolong724/article/details/21089347 RPC(remote produce call) RPC是远程过程调用协议,它是基于C/S模型调用的机制,客户机向服务器端发送调用请求等待服务器应答,是一种典型的请求应答机制,大致过程可以理解为本地分布式对象向本机发请求,不用自己编写底层通信本机会通过网络向服务器发送请求,服务器对象接受参数后,经过处理再把处理后的结果发送回客户端。 它是早期的支持分布式一些,缺点rpc是面向过程的远程调用
Servlet和JSP是统一的,广义上的Servlet包含JSP和Servlet,真正提供服务的是Servlet。JSP必须被服务器编译成Servlet,真正运行在Web服务器内的是Servlet。
何为容器: 容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用。在 J2EE 规范中,相应的有 WEB Container 和 EJB Container 等。
现在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等。下面对这四种Java EE容器进行了一番简单的比对。 1. Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群。 现在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等。下面对这四种Java EE容器进行了一番简单的比对。 1. Tomcat是Apache鼎力支持的Java Web应用服务器(注:serv
在分析Tomcat源码之前,我们先来看下Tomcat源码的结构组成,这样会更加的有利于我们更好的来分析源码。
自从Java EE5 之后就引入了@PostConstruct和@PreDestroy,这两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作。此文主要说明@PostConstruct。
Java的web工程中的web.xml文件有什么作用呢?它是每个web工程都必须的吗?
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:
EJB:EJB(Enterprise JavaBeans)--J2EE核心组件,EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:
一、WebLogic的介绍 WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic Server 9.0是迄今为止发布的最卓越的BEA应用服务器。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。完全遵循J2EE 1.4规范。
说明:Tomcat服务器上一个符合J2EE标准的Web服务器,在tomcat中无法运行EJB程序,如果要运行可以选择能够运行EJB程序的容器WebLogic,WebSphere,Jboss等 Tomcat的下载: http://tomcat.apache.org/
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136303.html原文链接:https://javaforall.cn
Spring 框架是一个开源 Java 平台,它为非常容易和非常快速地开发健壮的 Java 应用程序提供了全面的基础设施支持。Spring 框架最初由 Rod Johnson 编写,并于 2003 年 6 月在 Apache 2.0 许可下首次发布。本教程是基于 2015 年 3 月发布的 Spring Framework 4.1.6 版编写的。
目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选。
Apache software foundation 迁移到了google code, 并且改名为
1、B/S与C/S的联系与区别。 C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、InFORMix或 SQL Server等数据库。在这种结
A 有事务,B使用A的事务。(支持当前事务) A没有事务,B创建新的。()
Apache Shiro是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。
访问控制不严导致的漏洞 Jboss管理控制台 Jboss4.x jboss 4.x 及其之前的版本 console 管理路径为 /jmx-console/ 和 /web-console/ 。 jmx-console的配置文件为
本文我们将先来介绍JPA以及OpenJPA之间的关系,然后通过一个手把手的应用案例来讲述 Springboot 和 Openjpa 整合 GBase8s 。那么就让我们开始吧。
Authentication: Sometimes referred to as ‘login’, this is the act of proving a user is who they say they are.
而shiro就是一个封装以上需求操作的开源框架。它能帮助我们更好更方便的做好web应用的安全管理。而不需要我们每次都去手动的重新写一整套认证和权限管理的东西。
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
业界经典10年畅销图书《Java面向对象编程》的姊妹篇《Java网络编程核心技术详解(视频微课版)》现已上市,该书基于全新Java技术并配备视频微课,以行云流水般的语言诠释了Java网络编程核心。
(多选题) 1.以下哪些不是Java保留字__________ A. private B. Final C. class D. Throws E. Throw F. take 2.指出以下代码的输出结果_____________ public static void main(String args){ int i=0; int j=i++; j=j+i; System out print in(++j);} A. 1 B. 2 C.3 D.4 3.根据以下4个类定义,指出main函数代码的输出结果___________ public class A public void primitive(){System out print in(“aaa”);} public class B extends A{system out print in(“bbb”);} public class C extends B{public void print Me(){} public class D extends B{} public static void main(string [] ss){A[]aa=new A[]{new A(),new B(),new C(),new D()}; for(int i=0;i<aa.length;j++){aa[i].print Me();} A.aaa bbb bbb bbb B.bbb bbb bbb bbb C.aaa bbb bbb D.aaa bbb E.aaa aaa aaa aaa F.aaa aaa aaa 4.针对下列代码,描述正确的是___________________ public class ClassA{ private int i; public ClassA(int i){this=I;} public int get[(){return i;} public void setl(int i){this i=i;} public class ClassB(public void too(final ClassA a){a.set(2)}; A.上述代码在编译时会出错,不会通过编译。 B.上述代码编译时没问题,但运行时会出异常。 C.上述代码编译和运行都没问题,但包含逻辑错误。 D.上述代码不存在任何问题。 5.针对下列代码,描述正确的是________________ public class ClassA{private int i; public ClassA(int i){this i=i;} public int get(){retum i;} public void set(int i){this i=i;} public class ClassB extends ClassA{public ClassB(){} public void setI(int i){} A.上述代码在编译时会出错,不会通过编译。 B.上述代码编译时没问题,但运行时会出错。 C.上述代码编译和运行都没问题,但包含逻辑错误。 D.上述代码不存在任何问题。 6.针对以下代码,描述正确的是:_______________ public class A Class{ public string name; public int size; public A Class(int size, string name){ this name=name; this size=size;} public bookan equals(object o){ if(this=o){return true;} if(o=null (name=null){return false;} A Class that=(A Class); Return this name squads(that name) Public int bash code(){return name hash code();} Public class ClassGroup{ Sets=new HashSet(); Public ClassGroup(){ s.add(new AClass(23,””)); s.add(new AClass(31,””));} public void sbowMembers(){for (iterant itar=siterator();itar.hasnext();){ Cc=(c)itar next(); System out printin(c.name);} A.上
Spring的模块化设计和Java 9 的模块化设计不是对等的,不过Spring 的模块化确实可以运用到Java 9 的模块化里面去 ,那是为什么呢,那是因为在Spring 的某个版本开始,它将它的模块划分为更细粒的Jar 包,这些Jar包可以按需应用分配的方式来依次依赖,比如它的核心模块Spring-core,或者Spring-JDBC或者Spring-context这些模块,按照完全统计目前已经有了大概有20多个模块
3.4 Spark通信机制 前面介绍过,Spark的部署模式可以分为local、standalone、Mesos、YARN等。 本节以Spark部署在standalone模式下为例,介绍Spark的通信机制(其他模式类似)。 3.4.1 分布式通信方式 先介绍分布式通信的几种基本方式。 1. RPC 远程过程调用协议(Remote Procedure Call Protocol, RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC假定某些传输协议的存在,如TCP或UD
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能
领取专属 10元无门槛券
手把手带您无忧上云