博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax、Jquery、HttpUrlConnectin请求web service
阅读量:4185 次
发布时间:2019-05-26

本文共 2402 字,大约阅读时间需要 8 分钟。

文章目录

ajax请求web service

1、客户端发起请求,会发送一段下面这样的信息,Payload就是通过标签进行数据传递。

ID: 1Address: http://localhost:8080/wx-cxf-server-spring/orderwsEncoding: UTF-8Content-Type: text/xmlHeaders: {Accept=[*/*], SOAPAction=[""]}Payload: 
xfzhang
123456
24

所以在发起ajax请求时,我们需要发送一个这样类型的字符串,通过获取用户在页面填写的数据进行拼接。

ajax示例代码

<%@ page language="java" contentType="text/html; charset=utf-8"	pageEncoding="utf-8"%>
Insert title here 用户名:

在前端请求web service后端时,会出现跨域问题。

jquery 请求web service

<%@ page language="java" contentType="text/html; charset=utf-8"	pageEncoding="utf-8"%>
Insert title here 用户名:

直接使用js向web service会发生跨域请求问题,我们可以先通过页面向本地后端发起请求,然后再由java后端向web service发起请求。

HttpUrlConnection 请求web Service

1、前端模拟

<%@ page language="java" contentType="text/html; charset=utf-8"	pageEncoding="utf-8"%>
Insert title here 用户名:

2、创建一个servlet

/** * 使用HttpURLConnection发送webservice请求 */public class HttpURLConnectionServlet extends HttpServlet {	private static final long serialVersionUID = 1L;    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		String name = request.getParameter("name");		System.out.println("doPost "+name);				String data = "
"+name+"
"; // URL url = new URL("http://192.168.10.165:8888/day01_ws/datatypews"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); //设置是否可以读写数据 connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestProperty("Content-Type", "text/xml;charset=utf-8"); //将数据写到web service 服务器端 OutputStream os = connection.getOutputStream(); //将data数据变成byte数组 os.write(data.getBytes("utf-8")); int responseCode = connection.getResponseCode(); //如果响应码为200,从web service服务端读取数据 if(responseCode==200) { InputStream is = connection.getInputStream();//String xml System.out.println("return "+is.available()); //将读到的数据,写出到页面。 response.setContentType("text/xml;charset=utf-8"); ServletOutputStream outputStream = response.getOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while((len=is.read(buffer))>0) { outputStream.write(buffer, 0, len); } outputStream.flush(); } }}

转载地址:http://jnfoi.baihongyu.com/

你可能感兴趣的文章
laravel 课程学习系列三----------------第三章.Artisan控制台
查看>>
git版本控制管理系列-----第四章 GIT基本概念
查看>>
mysql 库级权限、表级权限授权
查看>>
TensorFlow中的单层神经网络
查看>>
在TensorFlow中编程
查看>>
用c实现一个压力测试工具
查看>>
圆周率计算公式
查看>>
排序算法之-选择排序
查看>>
排序算法之-基数排序
查看>>
scikit-learn
查看>>
原生java方法操作SQLite数据库
查看>>
sqlite 数据库驱动框架
查看>>
B树、B+树、B*树 总结
查看>>
kafka常用命令
查看>>
kafka顺序消息
查看>>
kafka 消息服务
查看>>
从零开始玩转JMX(一)——简介和Standard MBean
查看>>
究竟啥才是互联网架构中的高并发!
查看>>
数据库水平扩展与垂直扩展
查看>>
Jsp中include动作指令简介
查看>>