01——Schema约束复习

1.1 schema约束

几个重要知识:

1.namespace

相当于schema文件的id

2.targetNamespace属性

用来指定schema文件的namespace的值

3.xmlns属性

引入一个约束,他的值是一个schema文件的namespace值

4 schemaLocation属性

用来指定引入schema文件的位置

book.xsd

 <?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.slp.cn"
elementFormDefault="qualified">
<!-- <书架>
<书>
<书名></书名>
<作者></作者>
<售价></售价>
</书>
</书架>-->
<element name="书架"><!-- 第一个标签 -->
<complexType><!-- 标签体类型 复合类型 -->
<sequence maxOccurs="unbounded">
<element name="书">
<complexType>
<sequence>
<element name="书名" type="string"></element>
<element name="作者" type="string"></element>
<element name="售价" type="string"></element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema> <!--
schema规范
1.所有的标签和属性都需要有schema文件来定义
2.所有的schema文件都需要一个id,在此处是叫namespace
3.namespace由什么来指定?
由targetNamespace属性来指定它的值是一个url(有可能不存在)
4.引入一个schema约束是
属性?:xmlns
属性值:http://www.w3.org/2001/XMLSchema 对应schema的id
5.如果引入的schema不是www3c指定的必须指定文件位置
6.schema文件的位置由什么属性来指定
属性: schemalocation
属性值:namespace path
-->

book.xml

<?xml version="1.0" encoding="UTF-8" ?>
<书架 xmlns="http://www.atguigu.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema.instance"
xsi:schemalocation="http://www.slp.cn book.xsd">
<书>
<书名>JavaScript</书名>
<作者>老狼</作者>
<售价>28.00元</售价>
</书> </书架>

1.2 HTTP协议

几个重要知识:

1.请求的组成

请求行(请求方式,path,http1.1 )

请求头

请求体:只有post请求有

2.响应的组成

响应状态行

响应头

响应体:浏览器解析显示的数据

状态行:

格式:HTTP版本号  状态码  原因概述

举例:HTTP/1.1 200 OK

状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数,响应状态码分为5类,:

100-199   表示成功接收请求,但要求客户端继续提交才能完成整个处理过程

200-299   表示成功接收请求并已完成整个处理过程 常用200

300-399   为完成请求,客户需进一步细化请求,例如,请求的类型已经移动一个新地址,常用302

400-499   客户端的请求有错误,常用404

500-599   服务器端出现错误  常用500

200  代表成功

302  代表让浏览器重新请求另一个资源

404  找不到请求的资源

500  服务器出现问题了

3.请求的过程

2.提出两个问题

1.网站的数据库中都保存了天气预报数据吗?

2.如果没有,那数据都存在了哪里?

3.这些网站是如何得到这些数据的呢?

3.关于Web Service的几个问题

3.1 Web service是什么?

1.基于Web的服务,服务端整出一些资源让客户端应用访问(获取数据)

2.一个跨语言、跨平台的规范(抽象)

3.多个跨平台、跨语言的应用间通信整合的方案(实际)

以各个网站显示天气预报功能为例:

气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server)而各大站点的应用就去调用他们得到天气信息并以不同的样式去展示(Webervice Client)

网站提供了天气预报的服务,但其实他们什么也没有做,只是简单的调用一下气象中心服务器上的一段代码而已。

http://www.webxml.com.cn/zh_cn/index.aspx

3.2 为什么要用Web service?

web service能解决:

跨平台调用

跨语言调用

远程调用

3.3 什么时候使用web service

1 同一家公司的新旧应用之间

2 不同公司的应用之间

分析业务需求,天猫网与中通物流系统如何交互?

3 一些提供数据的内容整合应用,天气预报、股票行情。

4.Web Service中的几个重要术语

4.1 WSDL:web service definition language

直译:WebService定义语言

1.对应一种类型的文件.wsdl

2.定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式

3.一个web service对应一个唯一的wsdl文件

4.2 SOAP:simple object access protocal

直译:简单对象访问协议

1.是一种简单的,基于http和xml的协议,用于在web上交换结构化的数据

2.soap消息:请求消息和响应消息

3.http+xml片段

4.3 SEI:WebService EndPoint Interface

直译:web service的终端接口

1.就是WebService服务器用来处理请求的接口。

4.4 CXF:Celtix+XFire

一个Apache的用于开发webservice服务端和客户端的框架

5.开发webservice

5.1 概述

开发手段:

--使用JDK开发(1.6及以上)

--使用CXF框架开发

组成:

--服务器端

--客户端

5.2  使用JDK开发WEBService

1)开发服务器端

web Service 编码

--@WEBService(SEI和SEI的实现类)

 package com.slp.webservice.ws;

 import javax.jws.WebMethod;
import javax.jws.WebService; /**
* SEI:
* @author Administrator
*
*/
@WebService
public interface HelloWS { @WebMethod
public String sayHello(String name);
}
 package com.slp.webservice.ws;

 import javax.jws.WebService;
@WebService
public class HelloWSImpl implements HelloWS { public String sayHello(String name) {
// TODO Auto-generated method stub
System.out.println("server sayHello()"+name);
return "hello"+name;
} }

--@WebMethod(SEI中的所有方法)

发布Web Service:

--Endpoint(终端,发布webservice)

 package com.slp.webservice.ws.server;

 import javax.xml.ws.Endpoint;

 import com.slp.webservice.ws.HelloWSImpl;

 /**
* 發佈web service
* @author Administrator
*
*/
public class ServerTest { public static void main(String[] args) {
String address="http://localhost:8080/webService_01/hellows"; Endpoint.publish(address, new HelloWSImpl());
System.out.println("發佈成功");
} }

2)开发客户端

使用eclipse提供的web service浏览器访问

请求webservice并查看请求和响应消息(webservice浏览器)

创建客户端应用编码方式访问

-借助jdk的wsimort.exe工具生成客户端代码

wsimport -keep url  //url为wsdl文件的路径

-借助生成的代码编写请求代码

WebService学习笔记一的更多相关文章

  1. WebService学习笔记系列(二)

    soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...

  2. Java WebService学习笔记 - Axis进阶(二)

    上一篇  Java WebService学习笔记 - Axis(一) 前一篇博文中简单介绍了Axis的使用方法,这篇将介绍一些Axis的一些高级特性 Axis中Handler的使用 Handler ...

  3. Java WebService学习笔记 - Axis(一)

    WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...

  4. webservice 学习笔记 1

    Webservice----------->跨语言服务调用 (视频学习总结) 1-1.有OA系统 需要添加一个功能,登录之后显示天气情况 此时可以使用Webservice eg1: 气象局自己有 ...

  5. WebService 学习笔记(一、概念及定义)

    定义 WebService是一种服务导向架构(SOA service-oriented architecture)的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作. Web ...

  6. webservice 学习笔记

    1.webservice的概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

  7. WebService学习笔记系列(四)

    今天主要来看看服务端的编写及发布. 服务端的编写主要包括三个步骤: 1.编写一个接口,即SEI(server endpoint interface) 2.编写接口的实现类,即SIB (server i ...

  8. WebService学习笔记系列(三)

    网上有一些提供webservice服务的网站,我们要怎么调用呢? 今天来看个如何调用手机归属地查询服务.这个网站上提供了许多webservice服务,其中包括手机归属地查询服务,我们今天就用wsimp ...

  9. WebService学习笔记系列(一)

    webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言.跨平台的. webservice的客户端与服务端进行交互的时候使用xml来传 ...

随机推荐

  1. CANopen DS301协议中文翻译V03版

    V0.1版PDF格式供下载参考,只是全面框架翻译,会有大量错误和不确定的地方,希望读者积极参与校对,提供修改意见,完善译文.下载 V0.2版校对提前完成,下载地址 V0.3版使用GitBook编辑(h ...

  2. shell script 学习笔记-----命令执行

    1.PATH变量:shell最主要的功能就是执行用户输入的命令,例如当用户输入一条“ls”命令之后,shell就要找到该命令对应的文件并执行.通常shell都会设置一个名叫PATH的环境变量,其中保存 ...

  3. 双向广搜+hash+康托展开 codevs 1225 八数码难题

    codevs 1225 八数码难题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description Yours和zero在研究A*启 ...

  4. 二分图最大匹配算法-Hopcroft-Karp模板

    时间复杂度:O((√V)*E) #include<stdio.h> #include<string.h> ,M=,INF=0x3f3f3f3f; int dx[N],dy[M] ...

  5. RabbitMQ 一二事 - 简单队列使用

    消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...

  6. Tomcat与内存泄露

    一.Tomcat的JVM提示内存溢出 查看%TOMCAT_HOME%\logs文件夹下,日志文件是否有内存溢出错误 二.修改Tomcat的JVM 1.错误提示:java.lang.OutOfMemor ...

  7. SQL Server进制

    在项目中,大家可能都遇到过,需要把十进制转换为其他进制的情况,google上一搜,已经有很多2进制.8进制.16进制和十进制的转换方法.但是在一些项目中,这些可能无法满足要求,可能需要17.18甚至是 ...

  8. Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载

    最近 Google 被墙了, 上传一下自己收集的 Android 开发环境, 下面给出的官网链接也可以下载; http://www.androiddevtools.cn/ 1. 百度网盘下载地址 An ...

  9. WCF 异步调用问题

    添加引用时生成"勾选允许生成异步操作" Wcf异步调用三种方式: 第一种:直接调用异步方法 var serviceClient = new MyServiceClient(); s ...

  10. 携手K2 BPM,华住酒店完美实现“互联网+”转型

    华住酒店集团,旗下6大品牌酒店,包括商旅品牌—禧玥酒店.全季酒店.星程酒店.汉庭酒店.海友酒店,以及度假品牌—漫心度假酒店.高端大气上档次一气呵成,2013年签约K2,携手成就美好生活. 演讲人:宋洪 ...