java 漫谈

CORBA技术和Java技术的结合-Java IDL
一、什么是Java IDL
----Java IDL(Interface Definition Language)可实现网络上不同平台上的对象相互之间的交互,该技术基于通用对象请求代理体系结构CORBA规范说明。IDL是不依赖于语言的接口定义语言,所有支持CORBA的语言都有IDL到该语言的映射。就像其名字所表示的那样,Java IDL支持到Java语言的映射。CORBA规范说明和IDL映射是由OMG(Object Management Group)定义的。OMG由700多个成员组成,Sun公司是其成员之一,它在定义IDL到Java映射的工作中起了主要作用。
----JDK1.1给Java开发人员提供了开发100%纯Java分布式应用的功能,即远程方法调用Java RMI。而Java2平台提供的Java IDL可以在分布式应用中使用非Java语言,也就是说,Java2平台提供的ORB(Object Request Broker)可以和任何遵从CORBA规范的ORB互操作,包括IONAT echnologies的Orbix、Visigenic Software的Visi Broker、IBM的Component Broker等。目前,主要的Web浏览器(MicrosoftIE4.0和NetscapeNavigator4.0)实现的主要是JDK1.1中的功能。不过,利用Sun公司提供的Java插件(Plug-in)可以使浏览器具备Java2平台的所有特征。
----需要说明的是,Java2平台提供了两种不同的方法来构造分布式应用系统,即Java RMI和Java IDL,它们具有相似的特征和功能,Java RMI支持用Java语言写的分布式对象,Java IDL可以与支持CORBA的任何程序设计语言如C、C++、COBOL等写的分布式对象交互。这两种方法各自具有不同的特点:
----(1)100%纯Java和对遗产应用系统(legacy system)的支持。Java RMI是对分布式应用系统的100%纯Java解决方法,具有Java的"Write once, run anywhere"的优点。用Java RMI开发的应用系统可以部署在任何支持Java运行环境的平台上。
----相反,Java IDL是基于CORBA规范标准的技术,可以远程调用非Java语言编写的对象,因此Java IDL提供了对那些用非Java语言开发的遗产应用系统的支持。
----(2)使用不同的通信协议。Java RMI和Java IDL目前使用不同的通信协议,Java IDL使用CORBA/IIOP协议,IIOP(Internet Inter-ORBProtocol)协议可以使位于不同平台上、用不同语言写的对象以标准的方式进行通信;Java RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信,JRMP是专为Java的远程对象制定的协议,不过Sun和IBM已经宣布将来会支持在RMI中使用IIOP协议,以便和遵从CORBA规范的远程对象通信。
----(3)通过引用调用对象还是通过值调用对象。在Java IDL中,客户端通过引用与远程对象交互,即客户机使用桩(Stub)对远程服务器上的对象进行操作,但并不拷贝服务器上的对象。
----相反,RMI使得客户机可以通过引用和远程对象交互,也可以把远程对象下载到客户机运行环境进行操作,由于在RMI中使用的对象都是Java对象,因此RMI使用Java中的对象串行化(Serialization)功能在服务器和客户机之间传输对象。不过CORBA规范的以后版本将包括按值调用对象的功能。
----Java RMI和Java IDL各有自己的优缺点,从某种意义上说,RMI可以看作是RPC(Remote Procedure Calls)的面向对象版本。RMI的最大优势是可以用它来提供100%纯Java的解决方案,这意味着构造RMI应用系统将比较简单,但这也正是基于RMI的应用系统的一个缺点,即只能在Java环境中运行,不能充分利用遗产应用系统。
----Java RMI和Java IDL均可满足一定范围的用户需求,都适用于一定范围的应用,两者之间存在着重叠,有些应用可使用两者中的任何一种技术开发,但对于某些应用来说,采用其中的某一种比采用另一种更为恰当。
二、使用CORBA和Java IDL
----从1989年以来,OMG一直致力于开放的软件总线体系结构CORBA的规范说明的定义,利用CORBA,不同供应商开发的、运行在不同平台上的构件可以互操作,而不管该对象位于何处,用什么语言实现。Java IDL使得Java也支持CORBA规范说明。作为Java企业计算API的一部分,Java IDL可以保证企业异质计算中的无缝互操作性和可连接性。
----CORBA对象和一般的程序设计语言中的对象的区别在于:
  CORBA对象可以位于网络中的任何位置;
  CORBA对象可以和其他平台上的对象交互;
  CORBA对象可以用任何程序设计语言编写,只要有IDL到该语言的映射即可(目前已包括到Java、C++、C、Smalltalk、COBOL、Ada等语言的映射)。
----接口定义语言IDL用于定义CORBA对象的接口,所有的CORBA对象都支持IDL接口。IDL语法和C++非常类似,利用Java IDL,可以在Java中定义、实现、存取CORBA对象。对于每个IDL,idl to java生成一个Java接口和其他一些必要的.java文件,包括一个客户端桩(Stub)和服务器端骨架(Skeleton)。
----为了使用Java IDL,需要有idl to java编译器,idl to java产生和任何遵从CORBA规范的ORB一起工作的客户端桩和服务器端骨架,Java2平台中包括CORBAAPI和ORB,使得Java应用系统通过IIOP协议可以调用远程的CORBA对象,JavaORB支持暂态(Transient)CORBA对象,提供了暂态名字服务器把对象组织成树目录结构,名字服务器遵从CORBA中COS规范说明的命名服务规范说明(Naming Service Specification)。
----图1说明了从客户端到服务器发送一个消息请求的过程,其中客户端也可以是一个CORBA对象:
----客户机不需要了解CORBA对象的位置与实现细节,也不需要了解哪个ORB用于存取对象。
----在客户端,应用系统包括远程对象的引用,对象引用使用桩方法作为远程方法的代理,这个方法事实上在ORB中的,所以调用桩方法会调用ORB的连接功能,ORB会把对桩方法的调用传递到服务器端。
----在服务器端,ORB利用骨架代码把远程调用转换成本地对象的方法调用,骨架需要对调用和参数的格式进行转换。同时,当方法返回时,骨架对结果进行变换,然后通过ORB把结果返回给客户机。
----不同的ORB之间通过IIOP协议进行通信,IIOP是建立在TCP/IP之上的协议。
----CORBA目前还处于发展阶段,一些标准还在定义之中,但CORBA中的大部分基本结构已经定义,许多软件供应商已根据CORBA的定义作了很多开发工作,Java IDL就是该规范说明的一个实现。但在Java2平台中,并没有实现CORBA规范说明中的所有特征,如:
  接口库:在一般的Java IDL操作中并不需要接口库,Java客户机可以存取其他的接口库,如C++ORB提供的接口库;
  RMI/IIOP协议;
  按值调用对象;
  IDL中的一些类型如wchar、wstring、longdouble等。
三、IDL到Java的映射
----为了使Java支持CORBA规范说明,需要一个把IDL中的元素映射为Java中元素的标准途径,Sun已经制订了两者之间的映射规则,并提供了编译器idl to java,以便从IDL得到相应的桩和骨架。
----下表列出了一些IDL中元素和Java中元素的映射关系。
----和Java中的接口一样,IDL接口不包含方法的具体实现,Java开发人员需在Java类中提供对这些方法的具体实现。
四、使用Java IDL开发应用的过程及实例
----用Java IDL开发分布式应用系统一般可分为五个步骤:
----1.定义远程接口
----用IDL定义远程对象的接口,使用IDL而不是Java语言是因为idl to java编译器可以自动地从IDL产生Java语言的桩和骨架源文件,以及和ORB连接时所需要的一些代码。使用IDL,开发人员可以用其他语言来实现客户机和服务器。如果要为一个已经存在的CORBA服务实现客户机,或为一个已经存在的客户机实现服务,则首先要给出IDL接口,然后运行idl to java编译器产生桩和骨架,在此基础上再进行实现。
----2.编译远程接口
----在IDL文件运行idl to java编译器,产生Java版本的接口,以及桩和骨架代码文件,这些代码文件使得应用程序可以和ORB相连接。
----3.实现服务器
----把idl to java编译器产生的骨架和服务器应用程序集成在一起,除了要实现远程接口中的方法之外,服务器代码还要包括启动ORB以及等待远程客户机的调用等部分。
----4.实现客户机
----类似地,以桩作为客户端应用程序的基础,客户机建立在桩之上,通过Java IDL提供的名字服务查询服务器,获得远程对象的引用,然后调用远程对象中的方法。
----5.启动应用程序
----一旦实现了服务器和客户机,就可以启动名字服务,接着启动服务器,然后运行客户机。
----下面以一个经典的HelloWorld程序来说明具体的开发过程。HelloWorld包含一个操作,该操作返回一个字符串并打印出来,Client和Server之间的通信过程如下:
----(1)客户端应用程序或小应用程序调用HelloServer的sayHello操作;
----(2)ORB把调用传递到已注册的服务对象;
----(3)服务对象运行sayHello方法,返回一个Java字符串;
----(4)ORB把该字符串返回给客户机;
----(5)客户机打印该字符串的值。
----尽管HelloWorld程序比较简单,但它涉及到的任务和几乎任何一个使用CORBA静态调用的分布式应用系统所涉及到任务相同,图2说明了如何用CORBA在客户机和服务器之间实现经典的"HelloWorld"程序。
----首先是定义Hello.idl,下面是用IDL描述的Hello.idl,只有一个操作(方法),该操作返回一个字符串。
  Module Hello App
  {
  interface Hello
  {
  stringsay Hello ( );
  };
  };
----然后把Hello.idl文件映射为Java源代码文件,用以下命令编译Hello.idl文件:
----idl to javaHello.idl
----根据命令行中的不同选项,idl to java编译器产生不同的文件,上面这条命令将创建子目录HelloApp并在其中产生五个文件:_HelloImplBase.java、_HelloStub.java、Hello.java、HelloHelper.java、HelloHolder.java。
----要完成该应用程序,还要分别在这五个文件的基础上提供服务器端和客户机端的实现。
----CORBA服务器程序的结构和大部分Java应用程序的结构一样,即导入所需要的包,声明服务器类,定义main方法,处理一些例外等。另外,CORBA服务器要有一个ORB对象,每个服务器实例化一个ORB,并向其注册服务对象,因此当ORB接收到调用请求时可以寻找到服务器。最后是服务对象的管理,服务器是一个进程,实例化了一个或多个服务对象,服务对象具体实现接口中说明的操作。HelloServer和命名服务一起工作,使得服务对象对于客户机来说是可用的,服务器需要对名字服务的对象引用,可以向名字服务注册,并保证向Hello接口的调用被路由到其服务对象上,最后是等待客户机的调用。
----CORBA客户机的结构和大部分Java应用程序的结构基本相似,即导入所需要的包、声明应用类、定义main方法、处理一些例外等。另外和服务器程序一样,一个CORBA客户机也需要本地的ORB来执行所有的配置工作,每个客户机实例化一个org.omg.CORBA.ORB对象,然后向该对象传递一些必要的信息以进行初始化,最后是利用ORB取得所需要的服务。一旦一个应用有了ORB,即可通过ORB来确定应用所需要的服务的位置,在本例子中即是Helloserver。为了调用CORBA对象中的操作,客户端应用要有对该对象的引用,有很多种方法可以得到这种引用,如调用ORB.resolve_initial_references或使用其他的CORBA对象(如命名服务),当在分布式环境中没有命名服务可用时,CORBA客户机使用字符串化对象引用(Stringifiedobjectreference)来得到其第一个对象。

 

Java Applet介绍
 
什么是 Applet
    Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。
    当用户访问这样的网页时, Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络l浏览器。由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽或者Modem存取速度的限制。用户可以更好地欣赏网页上Applet产生的多媒体效果。
    在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。
Applet的工作原理
    含有Applet的网页的HTML文件代码中部带有<applet> 和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
例2.1带有一个Applet的主页
(html>
<title>An Example Homepage </title>
<hl> Welcome to my homepage! </hl>
This is an example homepage, you can see an applet in it。
<p>
<applet code=“Example.class” width = 300 height=300>
<param name = img value="example.gif">
</applet>
<html>
    上面这个例子就是一个简单主页的HTML文件代码。代码第五行中的<P>,是为了确保Applet出现在新的一行,也就是说,<P>的作用象一个回车符号,若没有它, Applet将会紧接着上一行的最后一个单词出现。代码第六、七两行是关于Applet的一些参数。其中第六行是必需的Applet参数,定义了编译后的包含Applet字节码的文件名,后缀通常为“.class”;和以象素为单位的Applet的初始宽度与高度。第七行则是附加的Applet参数,它由一个分离的<param>标记来指定其后的名称和值,在这里是img的值为“example.gif’,它代表了一个图形文件名。
    Applet的下载与图形文件一样需要一定的时间,若干秒后它才能在屏幕上显示出来。等待的时间则取决于Applet的大小和用户的网络连接的速度。一旦下载以后,它便和本地计算机上的程序以相同的速度运行了。
    Applet在用户的计算机上执行时,还可以下载其它的资源,如声音文件、图像文件或更多的Java代码,有些Applet还允许用户进行交互式操作。但这需要重复的链接与下载,因此速度很慢,这是一个亟待解决的问题,可以想到的一个好办法是采用类似高速缓存的技术,将每次下载的文件都临时保存在用户的硬盘上,虽然第一次使用时花的时间比较多,但当再次使用时,只需直接从硬盘上读取文件而无需再与Internet连接,便可以大大提高性能了。
从哪里得到App1et
    自从Java日益流行之后,世界各地的爱好者们便不断创造出各种各样的Applet。这里列出了几个较大的Applet收集站,读者可以去逛一逛,看看这些Applet的效果如何,相信会使人流连忘返的。
http://www.gamelan.com
    这是Intemet上最负盛名的Applet收集站,它按照小应用程序的用途加以分类,并列出了它们的说明、功能和程序代码,其规模和种类之多,令人叹为观止。
http://www.jars.com/
    这个站点的特色是对它收集的小应用程序都加以评分,JARS是小应用程序评价服务(Java Applet Rating Services)的简称。许多Java开发者均以能获得其好评为荣。
http://www.yahoo.com/Computers_and_Internet/Languages/Applet/
    这个URL可真够长的!这是Yahoo公司提供的小应用程序目录,收集的数量虽然稍逊于Gamelan,但也很可观了。
http://home.netscape.com/comprod/products/navigator/version_2.0 /java_applets/
    这是网景公司提供的小应用程序演示网页,同时也提供一些Java信息。
http://java.wiwi.uni_frankfurt.de/
    这是一个小应用程序的信息站点,提供了许多实用信息,读者可以借助这里的数据库,查询自己感兴趣的小应用程序的相关信息。

 

动态网页制作技术JSP与ASP的比较
    总的来讲,JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有许多相似之处。两者都是为基于WEB应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使网站建设与发展变的较为简单与快捷。
  尽管JavaSever Pages 技术和微软的Active Sever Pages在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。
一、JSP 技术:开放的技术
  JSP和ASP技术明显的不同点:开发人员在对两者各自软件体系设计的深入了解的方式不同。JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP技术主要依赖微软的技术支持。
1、平台和服务器的独立性
    JSP技术依附于一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。
    由于ASP是基于Activex控件技术提供客户端和服务器端的开发组件,因此ASP技术基本上是局限于微软的操作系统平台之上。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。尽管ASP技术通过第三方提供的产品能够得到组件和服务实现跨平台的应用程序,但是Activex对象必须事先放置于所选择的平台中。
2、开放的开发过程,开放的原代码
    SUN应用JAVA社团性过程开发JSP技术。自从1995年,SUN已经用这种开放过程方法同国际JAVA组织合作开发和修改了JAVA技术与规范。针对JSP的产品,SUN授权了工具提供商(如Macromedia),结盟公司(如Apache,Netscape),最终用户,协作商及其他。最近,SUN将最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代码发放给Apache,以求JSP与Apache紧密的相互发展。Apache,SUN和许多其他的公司及个人公开成立一个健壮的咨询机构以便任何公司和个人都能免费取得信息。
    JSP应用程序界面(API)毫无疑问已经取得成功,并将随JAVA组织不断开放扩大继续完善。相反,ASP技术仅依靠微软本身的推动,其发展是建立在独占的,封闭的开发过程基础之上。
ASP技术 JSP技术
    WEB服务器 微软的IIS或个人WEB服务器 任何WEB服务器包括Apache,Netscape,和IIS
操作系统平台 微软的视窗系统 绝大多数的流行平台,包括solaris操作系统,微软的视窗系统,MAC OS,Linux,及其他UNIX系列平台产品。
    跨平台访问 需要第三方ASP的引入产品 支持WEB信息机构环境中不同系列的计算机群即保证用户在当前软硬件及人力资源上的投资完全兼容,JSP技术提供灵活,开放选择:可以使用各种各样的工具提供商提供的工具,高度体现工业化标准输入与配置
   3、从开发人员的角度来看:ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。由此可以看出两者虽有相同之处,但其区别是很明显的。
1)JSP标签可扩充性
   尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
2)JSP跨平台的可重用性
  JSP的开发人员在开发过程中一直关注可重用性。JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。
  这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。象这样有效的方法在JSP中无处不在,并可将其打包成一个Javabean或一个工业标准化的Javabean组件。
二、JAVA的优越性
  JSP技术是用JAVA语言作为脚本语言的,而ASP网页使用微软的VBScrip或Jscrip。JAVA是成熟的,强大的,易扩充的编程语言,远优于基于BASIC的脚本语言。如:JAVA的可执行性优于VBScript或Jscript语言。因为它们利用JAVA技术并且都被编译为JAVA Servlets,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
  JAVA使开发人员的工作在其他方面也变的一样容易,简单。例如,当ASP应用程序在WINDOWS NT系统被怀疑可能会崩溃时,JAVA能有效的防止系统的崩溃。JAVA语言通过提供防止内存的泄漏的方法,在内存管理方面也能大显身手。加之,JSP为应用提供了健壮的意外事件处理机制。
1、易于维护性
    基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。
    JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。
企业级的Javabeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,及独立性即独立于应用程序。
    因为JSP技术是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。这一特点使JSP能够适用现实世界的各种WEB应用程序不断的变化和发展。
ASP技术 JSP技术
    可重用,跨平台组件 没有JAVABEANS 企业级JAVABEANS,定制JSP标签
安全:防范系统崩溃 没有/有
内存泄露保护 没有/有
脚本语言 VBSCRIPT,JSCRIPT JAVA
定制标签 没有/有
2、企业产品的多样性
    JAVA2平台即企业版(J2EE)是适用于多企业应用程序的JAVA结构,作为J2EE的部分,JSP网页可访问所有J2EE的组件,包括Javabeans,企业级Javabeans及JAVA Servlets。JSP网页都能完全编译成为Servlets,所以它们都享有灵活性的特点和为服务器端JAVA应用程序。J2EE平台内容不仅包括管理复杂的企业应用程序而且包括事务管理技术和Pooling资源管理技术。
JSP网页可以访问标准的J2EE服务,包括:
? JAVA名称和目录界面API
? JDBCTM API(与关联的数据库通讯)
? JavaMailTM(支持基于JAVA邮件和消息应用程序的类)
? JAVATM 消息服务
    通过J2EE,JSP网页能够用许多方式同企业系统交互访问。J2EE支持两种CORBA规范的技术:JAVA IDL和RMI-IIOP。在企业级JAVABEANS技术支持下,JSP网页通过运用高级的,对象映射的方式访问数据库。
最终,因为JSP技术是基于JAVA的开放性过程的产品,因此它能够广泛支持不同提供商提供的工具,WEB服务器和应用程序的服务,这样能够使用户选择最佳的开发方法,选择最适应他们的应用程序开发的工具包,同时,有效地保护用户在代码和人员培训上的投资。
ASP技术 JSP技术
    兼容传统的数据库 可以(COM) 可以(用JDBC API)
集成数据源的能力 能工作在任何符合ODBC规范的数据库 能工作在任何符合ODBC规范的数据库,而且能访问符合JDBC技术规范数据库
组件 COM组件 JAVABEANS,企业级JAVABEANS或扩展的JSP标签

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java安全漫谈是一本关于Java安全的书籍,深入探讨了Java应用程序在网络环境中的安全性和相关的安全漏洞。该书内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理、Java安全开发等方面的知识。 首先,Java安全基础部分介绍了Java安全模型的原理和特点,包括Java类库的安全特性、权限管理和访问控制、安全策略配置等。这部分内容可帮助开发人员了解Java应用程序的安全需求,并提供相应的解决方案。 其次,Java虚拟机的安全机制是Java应用程序的基石。该书介绍了Java虚拟机的安全沙箱和类加载机制,并讨论了如何利用这些安全机制避免恶意代码的执行和隐患的防范。 此外,Java安全管理部分从用户角度出发,介绍了Java应用程序的安全管理工具和技术,如Java安全策略文件、权限管理和安全认证等。开发人员可以通过合理配置和使用这些工具来提高Java应用程序的安全性。 最后,该书还涉及了Java安全开发过程中的一些最佳实践和常见安全漏洞,如输入验证、跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等。通过学习和掌握这些知识,开发人员可以编写出更加安全的Java应用程序。 总而言之,Java安全漫谈是一本全面讨论Java安全的书籍,内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理和Java安全开发等方面的知识。它对于开发人员和安全从业人员来说,都是一本重要的参考书,有助于提高Java应用程序的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值