-
servlet跨web请求方法5
现在在做一个项目(系统A),是用java+struts1+webLogic写的。PM说有另外一个系统(系统B)要调用我们的系统,让写一个外部的API。协议是Https,方法是servlet(post提交)+json。我简单模拟了A系统(tomcat+servlet),想做的事情是画面上有两个Text框:
<input type="text" name="before" />
<input type="text" name="after" />
在before中输入数字1,然后提交到后台调用service()方法,在方法里将before作为参数去请求调用系统B的接口,接口内容比方是让before+1,再把结果返回到系统A的画面after里。请教各位帮忙搭一下两边的架子:
1.用什么方法去请求,请求的路径是什么样的结构
2.参数的传递与返回
3.接口是怎样定义的以及如何调用
在网上查了好久,就是找不到自己需要的。试了下RequestDispatcher,要求请求的地址以“/”为开头,是在一个系统里。而我这2个系统是用的不一样的Web端口,所以感觉RequestDispatcher不能实现。
2014年7月22日 21:02
3个答案 按时间排序 按投票排序
-
采纳的答案
1. 新项目可以采用Apache httpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(
"https://xxxxxxx");
getRequest.addHeader("accept", "application/json");
HttpResponse response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
结果是json数据
2.采用spring 提供的RestTemplate
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_XML));
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<String> response = getRestTemplate().exchange(url, HttpMethod.GET, entity, String.class);
String responseBody = response.getBody();
只用过这两种
其他的在想吧2014年7月22日 22:13
-
1、你写接口就行,至于测试直接用浏览器访问你的接口就行,检查返回结果是不是正确。
2、struts1 返回json 可以参考
http://ipc.iteye.com/blog/705749
struts1你估计没问题,有问题的话google搜个例子,返回json格式数据需要json的jar包。
3、https 可参考
http://flysky7931.iteye.com/blog/305074
http://willtea.iteye.com/blog/19418792014年7月23日 09:38
-
兄弟,你搞复杂了。你现在是要提供一个接口给对方。你只要考虑三步:第一,基本的servlet。相信这个你会的,第二步,json数据解析与处理。servet传数据你会把,接收数据会吧。json数据知道是什么吧。一般接口的处理,肯定是以一定的数据结构作为返回的。即使调用的参数不对,接口都要给出反馈的。所以只要调用接口就要给出反馈。这个在于你业务怎么处理,一些出现的错误也要规划到接口返回中去。你json大概可以这么设计 result:{flag:'ok',data;'',description:''}。 如果返回的类型分类比较多,可以考虑给返回编号,成功返回码是1,其他的都可以具体分个编号,这样调试根据返回编号就可以知道接口调用错误原因了,你看看微信的接口就是这么干的,当然大多数都是这么干的。第三部:了解下webLogic 怎么发布https的servlet。这些都解决了,你的任务也就完成了。有什么问题,私我,谢谢。
2014年7月22日 21:33
相关推荐
在Java Web开发中,Servlet是一种用于处理HTTP请求的Java类,它是Java Servlet API的一部分,能够扩展Web服务器的功能。本文将详细讲解如何在Servlet中实现请求转发以及用户登录验证。 首先,我们来理解请求转发...
Servlet是Java平台上的一个核心技术,用于开发动态Web应用程序。这个压缩包“一个支持servlet的web服务器.rar”很可能包含了实现这一功能的源代码、配置文件或者是一个预编译好的服务器软件,允许开发者在本地环境中...
3. 服务:每当有新的请求到来,Web容器会调用Servlet的`service()`方法,该方法会根据请求类型(GET、POST等)转发到对应的`doGet()`或`doPost()`方法。 4. 销毁:当Servlet不再需要时,Web容器会调用`destroy()`...
在Tomcat这样的Web服务器中,Servlet扮演着处理客户端请求、生成动态内容并返回给客户端的关键角色。当我们谈论"Servlet是如何同时处理多个请求的"时,实际上是在讨论Servlet容器(如Tomcat)如何有效地利用多线程来...
在Web编程中,Java Servlet API是用于开发动态Web应用程序的核心技术之一。本实验主要探讨了如何使用Servlet API处理客户端的HTTP请求以及响应。实验的主要目标是实现一个简单的用户注册功能,涉及了表单数据的接收...
Servlet3异步请求是Java Web开发中的一个重要特性,它允许开发者在处理HTTP请求时启用非阻塞模式,显著提高了Web应用程序的性能和响应能力。在Servlet 3.0规范中,这一特性被引入,使得服务器可以更有效地管理资源,...
4. **Servlet生命周期方法**:包括`init()`、`service()`、`destroy()`方法,分别用于初始化Servlet、处理请求和释放资源。 5. **转发与重定向**:在Servlet中,我们可以使用请求Dispatcher进行请求转发或重定向,...
Servlet是Java Web开发中不可或缺的一部分,它是一种Java类,用于扩展服务器的功能,特别是在Web服务器上处理客户端请求。Servlet被设计用来接收和响应来自Web客户端(如浏览器)的HTTP请求,并可以返回HTML、XML、...
Java Web Servlet实例是Java开发Web应用的基本组成部分,它在服务器端处理HTTP请求并生成响应。Servlet是Java EE(企业版)规范的一部分,用于扩展服务器的功能,尤其是与Web应用程序交互。这个实例是为初学者设计的...
之后,每当有请求到达,Servlet实例就会调用`service()`方法,根据请求类型转发到相应的`doXXX()`方法。当服务器关闭或者Web应用被卸载时,Servlet会被销毁。 在实际应用中,我们还需要了解如何在Web应用的部署描述...
### 基于Servlet的Web图表编程 #### 1. Servlet概述及特点 Servlet作为Java Web开发中的核心组件之一,其重要性不言而喻。Servlet是一种基于Java技术的服务器端程序,它能够处理客户端通过HTTP协议发送的请求并...
Servlet是Java Web开发中的重要组成部分,它是一种用于扩展服务器功能的Java类,通常用来处理HTTP请求并生成动态响应。 ### 1. 什么是Servlet? Servlet是一个Java接口,由Java Servlet API定义。它允许程序员创建...
2. **Servlet**:Servlet是Java Web开发中处理请求和响应的核心组件。在登录场景下,Servlet监听特定的HTTP请求(如POST请求,对应表单提交),在`doPost()`方法中获取前端传递的用户名和密码,然后通过`...
Servlet是一种Java技术,用于扩展Web服务器的功能,处理客户端的请求并返回响应。而HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间交换数据的方式。Android作为移动开发...
Servlet通过重写`service()`方法来接收和处理请求,并通过`doGet()`或`doPost()`等方法来响应不同的HTTP请求方法。 在学习Servlet时,首先要了解`web.xml`部署描述符文件。这是配置Servlet的重要部分,包括定义...
Servlet是Java Web开发中的核心组件,它用于处理HTTP请求并生成响应。本课件主要涵盖了以下几个方面的内容: 1. **Servlet基础**: - Servlet是一个Java类,它扩展了Java平台,使得Java可以用来处理Web应用程序中...
"jspAndServletTest"是一个适合初学者的练习,它涵盖了JSP和Servlet的基础知识,包括如何创建动态网页,如何处理HTTP请求,以及如何组织一个简单的Web应用结构。通过实践这个练习,学习者可以更好地理解和掌握Web...
在实现Server Push时,还需要考虑安全问题,如防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。同时,由于Comet技术依赖于特定的浏览器支持,因此要考虑兼容性问题,可能需要提供回退机制。 总的来说,Servlet实现...
Servlet是Java语言中用于开发Web应用程序的标准接口,它是由Sun Microsystems公司(现已被Oracle收购)在Java EE规范中定义的。一个支持Servlet的Web服务器,如Apache Tomcat、Jetty等,是运行Java Web应用的核心...