- 浏览: 376057 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
一半水分子:
你好,我想转载您的文章,需要获取您的许可,请您在看到这条评论时 ...
Centos7 卸载ibus无法进入桌面 -
flylynne:
1、 车辆证书,发票和合格证都要齐全,不能听他们说是分开的,因 ...
技术内容 -
josico:
问一下,如果1替换成 M2替换成 N3替换成 O那其实不要这样 ...
SQL replace的使用 -
xiezhiwei0314:
lomboz 目录我也没有看到
Eclipse SDK安装web开发插件 -
xiezhiwei0314:
我安装好tomact插件但是没有看到web那个目录!在网上查了 ...
Eclipse SDK安装web开发插件
redirect and forward的区别?
abstract class and interface的区别?
说明数据库连接池的工作机制?
描述你项目中利用到的设计模式,并且简述特点?
什么是SOA,什么是webservice? soa 和webservice之间的关系?java通过什么技术来实现werbservice?
xml的四种基本关系?
xml的标准中,那些是静态类图,那些是动态类图?
定义println并且有exception方法,编程输出结果
public static void println(){
try{
System.out.println("ddd");
return;}
catch(Exception){
System.out.println("eeee exception");
}finally{
System.out.println("fffff");
}
}
M,V,C是什么,spring,webwork,ibatis在java中所起的作用?
Struts和Hibernate的作用很清楚,一个负责MVC,一个负责持久化。用spring最好的地方就是实现代码的复用和在SSH框假中spring充当了管理容器的角色、SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)
Hibernate和iBateis都是做数据持久化的框架,就等于是一个O/R Mapping解决方案.
有了这框架,只要配置下映射文件,就不需要手写sql语句了.
Hibernate是全自动化的,可以说O/R做的相当全面了.
iBateis和Hibernate相比,iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架
Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上
WebWork的最大优点是它的简单性和灵活性。WebWork有一个很小的API,它使开发者可以迅速进行开发工作。
WebWork是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架。
WebWork2的特性包括
灵活的Validation框架
允许你在XML文件中定义验证内容,在运行时通过Interceptor自动应用,因此完全脱离Action类。新版支持客户端验证。
Type conversion 允许你在类之间很容易转换对象。
OGNL(Object Graphical Navigation Language)表达式语言:
允许动态对象图表遍历和方法执行,使用ValueStack透明访问多Beans的属性。WW2也具有使用JSTL的能力。
IoC(Inversion of Control)容器
管理组件的生命周期,使客户获得组件实例不需要创建注册类(与容器环境无关)。
Velocity Templates
使UI组件可重用,从而允许开发者容易定制Web页面的look & feel。
Interceptors
在Actions处理的前后动态拦截,以简单化Action代码,增加减少代码的机会。
支持I18N。
容易和第三方软件集成
包括Hibernate, Spring, Pico, Sitemesh等。
支持多种视图技术
如JSP,Velocity,FreeMarker,JasperReports,XML等。
支持Packages和Namespaces,来管理Actions。
UML中有4种关系:依赖、关联、泛化和实现。
(1)依赖(dependency)是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。在图形上,把一个依赖画成一条可能有方向的虚线。
(2)关联(association)是一种结构关系,它描述了一组链,链是对象之间的连接。聚集(aggregation)是一种特殊类型的关联,它描述了整体和部分间的结构关系。在关联上可以标注重复度(multiplicity)和角色(role)。
(3)泛化(generalization)是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,用这种方法,子元素共享了父元素的结构和行为。在图形上,把一个泛化关系画成一条带有空心箭头的实线,它指向父元素,如图1 O一1 5所示。
(4)实现(realization)是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。在两种地方要遇到实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之间。在图形上,把一个实现关系画成一条带有空心箭头的虚线。
继承(泛化)
指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;
实现
指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性;
依赖
可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用;
聚合
聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;
组合
组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;
用例图、类图与时序图的关系
类图和时序图是在软件系统设计中直接和程序代码相关联的图,准确地说,程序代码是由类图直接产生,而时序图可以定义类图的方法。用例图用来描述系统功能,和类图与时序图没有直接关系。
类图在UML中由三个部分组成,如下图所示,分别表示类的名字、类的属性、类的方法。
在定义一个类时可需要给出类的名字、属性和方法,其中方法也可以在时序图中定义,在方法中定义了一个消息,则会在相应类图中自动增加一个方法,但在修改或删除时序图中已经定义的消息时,相应类图中的方法不会自动修改、删除。
例如; 学生注册的业务可以用以下的类图和时序图来描述。
1、用例图
2、类图
Register类有一个方法inputStudents(),Student类有两个方法addNewStudent()和modifyRegisterDate(),每个方法都和时序图的消息相对应。
3、时序图
消息传递箭头指向对象的类会自动生成一个相同的方法,Register有一个箭头指向它,则再Register类图中自动生成一个inputStudents()方法,Student有两个箭头指向它,则在Student类中自动生成modifyRegisterDate()和addNewStudent()方法。
综上所述,三个图可以有以下一些经验的归纳:
1、 用例图的每一个用例(这里是指系统用例而非业务用例)应有一张时序图来表述;
2、 时序图要将所有类图中类的连线表示出来,如做得好,每一个连线用一个时序图表述;
3、 时序图中的每一个消息,要和类图中各个类的方法一一对应。
Web Services基础知识(什么是WEB service)
从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是说,可以利用编程的方法通过Web来调用这个应用程序。
对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性.
不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都一致。通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
基本概念
SOAP
XML和XSD
WSDL(Web Services Description Language)
WSML(Web Services Meta Language)
什么时候使用Web Services
Web service是创建可互操作的分布式应用程序的新平台。Web service 的主要目标是跨平台的可互操作性。为了达到这一目标,Web service 是完全基于XML、XSD等独立于平台、独立于软件供应商的标准的。
Web service在应用程序跨平台和跨网络进行通信的时候是非常有用的。Web service适用于应用程序集成、B2B集成、代码和数据重用,以及通过Web进行客户端和服务器的通信的场合。
当然,Web service也不是万能的,你不能到处滥用Web service。在有些情况下,Web service 会降低应用程序的性能,而不会带来任何好处。例如,一台机器或一个局域网里面运行的同构应用程序就不应该用Web service 进行通信。
如何调用Web Services
客户端:取得服务端的服务描述文件WSDL,解析该文件的内容,了解服务端的服务信息,以及调用方式。根据需要,生成恰当的SOAP请求消息(指定调用的方法,已经调用的参数),发往服务端。等待服务端返回的SOAP回应消息,解析得到返回值。
服务端:生成服务描述文件,以供客户端获取。接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。根据WSDL和WSML的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。
高层接口
使用高层接口,不需要知道SOAP和XML的任何信息,就可以生成和使用一个WebService。Soap Toolkit 2.0通过提供两个COM对象――SoapClient和SoapServer,来完成这些功能。
在客户端,只需要生成一个SoapClient实例,并用WSDL作为参数来调用其中的mssoapinit方法。SoapClient对象会自动解析WSDL文件,并在内部生成所有Web Service的方法和参数信息。之后,你就可以像调用IDispatch接口里的方法一样,调用里面所有的方法。在VB或是脚本语言里,你甚至可以直接在SoapClient对象名后面直接加上.方法(参数…)进行调用。
低层接口
要使用低层接口,你必须对SOAP和XML有所了解。你可以对SOAP的处理过程进行控制,特别是要做特殊处理的时候。
在客户端,首先要创建一个HttpConnector对象,负责HTTP连接。设定Connector的一些头部信息,比如EndPoinURL和SoapAction等。如果网络连接需要使用代理服务器,那也要在这里设定相关的信息。接着创建SoapSerializer对象,用于生成Soap消息。按照WSDL里定义,把所有参数按顺序序列化,得到一个完整的SOAP请求消息。该Soap消息,作为Payload通过HttpConnector被发送到服务端。最后,生成一个SoapReader对象,负责读取服务端返回的SOAP消息,取得其中的返回值。
什么是SOA(面向服务的体系结构)
OA,面向服务的体系结构(service-oriented architecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。
SOA和Web Service的关系
首先是基于标准访问的独立功能实体满足了松耦合要求:在Web Service中所有的访问都通过SOAP访问进行,用WSDL定义的接口封装,通过UDDI进行目录查找,可以动态改变一个服务的提供方而无需影响客户端的配置,外界客户端是根本不关心访问服务器端的实现。
其次,适合大数据量低频率访问符合服务大颗粒度功能:基于性能和效率平衡的要求,SOA的服务提供的是大颗粒度的应用功能,而且跨系统边界的访问频率也不会象程序间函数调用那么频繁。通过使用WSDL和基于文本(Literal)的SOAP请求,可以实现能一次性接收处理大量数据。
最后,基于标准的文本消息传递为异构系统提供通讯机制:Web Service所有的通讯是通过SOAP进行的,而SOAP是基于XML的,XML是结构化的文本消息。从最早的EDI开始,文本消息也许是异构系统间通讯最好的消息格式,适用于SOA强调的服务对异构后天宿主系统的透明性。
独立的功能实体:通过UDDI的目录查找,我们可以动态改变一个服务的提供方而无需影响客户端的应用程序配置。所有的访问都通过SOAP访问进行,只要WSDL接口封装良好,外界客户端是根本没有办法直接访问服务器端的数据的。
大数据量低频率访问:通过使用WSDL和基于文本(Literal)的SOAP请求,我们可以实现能一次性接收大量数据的接口。这里需要着重指出的是 SOAP请求分文本方式和远程调用(RPC)两种方式,正如上文已经提到的,采用远程调用方式的SOAP请求并不符合这点要求。但是令人遗憾的是现有的大 多数SOAP请求采用的仍然是远程调用(RPC)方式,在某些平台上,例如IBM WebSphere的早期版本,甚至没有提供文本方式的SOAP支持。
基于文本的消息传递:Web Service所有的通讯是通过SOAP进行的,而SOAP是基于XML的,不同版本之间可以使用不同的DTD或者XML Schema加以辨别和区分。因此只需要我们为不同的版本提供不同的处理就可以轻松实现版本控制的目标。
java调用webservice是用什么技术
现在java调用webservice的文章基本上是xfire和axis
axis全称Apache EXtensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的.
发表评论
-
SQL 语句大全
2020-08-21 12:12 261一、基础 1、说明:创建数据库CREATE DATABA ... -
kafka技术题
2020-08-20 10:06 3591.Kafka 的设计时什么样的呢? Kafka 将消息以 ... -
大数据基础知识
2018-07-13 17:37 0mapreduce工作原理 MapReduce模型主要包含 ... -
题海 JAVA和大数据
2018-07-13 17:36 01、HashMap 源码解读(TreeMap. LinkedH ... -
spark 题目和答案 精典题
2018-07-13 17:03 0Spark Core面试篇01 新增《Spark面试2000 ... -
技术内容
2018-06-07 16:27 4021、HashMap 源码解读(TreeMap. Lin ... -
java面试题及答案(基础题122道,代码题19道)
2017-11-24 10:35 18351。请大概描述一下Vector和ArrayList的区别,H ... -
百度“Java面试题”前200页
2017-11-24 10:17 953基本概念 操作系统中 heap 和 stac ... -
Java 相关知识
2017-10-26 18:05 748内存泄漏(memory leak)? 指由于疏 ... -
简单网络爬虫基础功能
2016-11-09 23:25 605package com.common; //http: ... -
java读取文件夹下所有文件并替换文件每一行中指定的字符串
2016-04-26 00:28 1234import java.io.BufferedReader; ... -
Java多线程面试、笔试方向
2015-04-16 09:17 9421.ThreadLocal类 线程级别的局部变量, ... -
深入ThreadLocal的内部机制
2015-03-15 00:23 640JDK 1.2的版本中就提供java.lang.Thread ... -
单例模式的七种写法
2015-03-06 17:15 738转载请注明出处:http://cantellow.iteye ... -
Java itoa,atoi
2014-10-28 14:49 1616package com.arithmetic; pub ... -
正则表达
2014-10-15 17:25 722Pattern类中的一些 特殊字符。大家可以参考下,以便以 ... -
tomcat_garbage collection_log(垃圾回收日志)参数设置
2014-09-30 15:31 1382@echo off if "%OS%&q ... -
JDK中的URLConnection参数详解
2014-08-12 14:56 622转自:http://www.blogja ... -
java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrdered
2014-07-29 10:21 1570java.lang.ClassNotFoundExcept ... -
java Web应用配置log4j日志记录
2014-03-31 07:34 1508仅限学习使用,转自http://www.blogjava. ...
相关推荐
lv战略选择路易威登的战略选择,lv战略选择路易威登的战略选择课件,lv战略选择路易威登的战略选择PPT
路易威登,全球知名的奢侈品牌,以其独特的品牌价值、设计风格和卓越的营销策略闻名于世。在深入探讨路易威登的营销策略时,我们可以从多个角度进行分析,包括品牌定位、产品创新、市场细分、渠道管理、广告与公关、...
标题中的“数据-2008-2019年路易威登集团(LVMH)全球总收入.rar”指的是一个压缩文件,包含了有关路易威登集团(LVMH)从2008年至2019年间全球总收入的数据。LVMH是世界著名的奢侈品集团,拥有包括时装、皮具、手表、...
从文件"行业数据-2019年路易威登集团(LVMH)全球各区域收入份额.xls"中,我们可以看到以下几个关键知识点: 1. **北美市场**:作为全球最大的奢侈品市场之一,北美在LVMH的收入构成中占有重要地位。2019年,北美消费...
在奢侈品行业中,路易威登(Louis Vuitton,简称LV)无疑是一个具有全球影响力的标志性品牌。这份名为“路易威登的营销策划方案”的文档,揭示了该品牌如何运用创新策略来保持其市场地位和吸引消费者。在这个高度...
奢侈品消费群体的消费行为分析——以LV路易威登为例.docx
奢侈品消费群体的消费行为分析__以LV路易威登为例.doc
【奢侈品消费群体的消费行为分析】\n\n奢侈品消费,特别是以LV路易威登为代表的高端品牌,一直是社会经济和文化研究的重要课题。奢侈品不仅代表了品质与价值的高度结合,更深层次地,它们反映了消费者的品位、生活...
2019年路易威登集团(LVMH)全球各区域收入份额.xls
动感蓝色服装品牌路易威登.pptx
在中国,路易威登(Louis Vuitton,简称LV)作为全球知名奢侈品牌,其营销策略备受关注。本文将深入探讨LV在中国市场的营销策略,包括品牌定位、消费者洞察、产品创新、渠道管理、广告宣传以及数字化转型等多个方面...
世界奢侈品品牌LouisVuitton路易威登以优雅经典的设.doc
2008-2019年路易威登集团(LVMH)全球总收入.xls
LV8731是一款专为电机控制设计的集成电路,常用于直流无刷电机或步进电机的驱动。在STM32F103微控制器平台上,LV8731驱动测试例程是实现电机控制的关键部分,它允许精确地调节电机的速度、方向以及扭矩。 LV8731...
【gl02-lvma-che项目概述】 该项目名为“gl02-lvma-che”,其主要目标是利用开源工具提高Synevent事件公司在创建社交媒体影响报告时的效率。这个项目的核心是一个用JavaScript编写的命令行工具,专为项目经理设计,...
从提供的文件内容中,我们可以提取出关于LV2843DC/DC降压集成电路的详细知识点。以下是知识点的详细说明: 1. LV2843概述: LV2843是一种PWM DC/DC降压调节器,设计用于提供稳定的输出电压,同时将较高的输入电压...
LV25212是一款专为无线电接收设计的集成电路(IC),在电子工程领域中,这类芯片常用于构建FM、AM等广播接收设备。这款芯片集成了多种功能,包括信号解调、音频处理以及电源管理,旨在提供高效、低功耗的收音解决...