0 0

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个答案 按时间排序 按投票排序

0 0

采纳的答案

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
0 0

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/1941879

2014年7月23日 09:38
0 0

兄弟,你搞复杂了。你现在是要提供一个接口给对方。你只要考虑三步:第一,基本的servlet。相信这个你会的,第二步,json数据解析与处理。servet传数据你会把,接收数据会吧。json数据知道是什么吧。一般接口的处理,肯定是以一定的数据结构作为返回的。即使调用的参数不对,接口都要给出反馈的。所以只要调用接口就要给出反馈。这个在于你业务怎么处理,一些出现的错误也要规划到接口返回中去。你json大概可以这么设计  result:{flag:'ok',data;'',description:''}。  如果返回的类型分类比较多,可以考虑给返回编号,成功返回码是1,其他的都可以具体分个编号,这样调试根据返回编号就可以知道接口调用错误原因了,你看看微信的接口就是这么干的,当然大多数都是这么干的。第三部:了解下webLogic 怎么发布https的servlet。这些都解决了,你的任务也就完成了。有什么问题,私我,谢谢。

2014年7月22日 21:33

相关推荐

    servlet中实现请求转发,用户登录

    在Java Web开发中,Servlet是一种用于处理HTTP请求的Java类,它是Java Servlet API的一部分,能够扩展Web服务器的功能。本文将详细讲解如何在Servlet中实现请求转发以及用户登录验证。 首先,我们来理解请求转发...

    一个支持servlet的web服务器.rar

    Servlet是Java平台上的一个核心技术,用于开发动态Web应用程序。这个压缩包“一个支持servlet的web服务器.rar”很可能包含了实现这一功能的源代码、配置文件或者是一个预编译好的服务器软件,允许开发者在本地环境中...

    一个servlet的web应用

    3. 服务:每当有新的请求到来,Web容器会调用Servlet的`service()`方法,该方法会根据请求类型(GET、POST等)转发到对应的`doGet()`或`doPost()`方法。 4. 销毁:当Servlet不再需要时,Web容器会调用`destroy()`...

    servlet是如何同时处理多个请求的

    在Tomcat这样的Web服务器中,Servlet扮演着处理客户端请求、生成动态内容并返回给客户端的关键角色。当我们谈论"Servlet是如何同时处理多个请求的"时,实际上是在讨论Servlet容器(如Tomcat)如何有效地利用多线程来...

    Web编程(Java )-Servlet API中请求和响应的应用.doc

    在Web编程中,Java Servlet API是用于开发动态Web应用程序的核心技术之一。本实验主要探讨了如何使用Servlet API处理客户端的HTTP请求以及响应。实验的主要目标是实现一个简单的用户注册功能,涉及了表单数据的接收...

    servlet3异步请求

    Servlet3异步请求是Java Web开发中的一个重要特性,它允许开发者在处理HTTP请求时启用非阻塞模式,显著提高了Web应用程序的性能和响应能力。在Servlet 3.0规范中,这一特性被引入,使得服务器可以更有效地管理资源,...

    Web开发+Servlet+请求和响应+入门

    4. **Servlet生命周期方法**:包括`init()`、`service()`、`destroy()`方法,分别用于初始化Servlet、处理请求和释放资源。 5. **转发与重定向**:在Servlet中,我们可以使用请求Dispatcher进行请求转发或重定向,...

    servlet在web项目中的应用

    Servlet是Java Web开发中不可或缺的一部分,它是一种Java类,用于扩展服务器的功能,特别是在Web服务器上处理客户端请求。Servlet被设计用来接收和响应来自Web客户端(如浏览器)的HTTP请求,并可以返回HTML、XML、...

    java web servlet实例

    Java Web Servlet实例是Java开发Web应用的基本组成部分,它在服务器端处理HTTP请求并生成响应。Servlet是Java EE(企业版)规范的一部分,用于扩展服务器的功能,尤其是与Web应用程序交互。这个实例是为初学者设计的...

    servlet的三种方法的实现

    之后,每当有请求到达,Servlet实例就会调用`service()`方法,根据请求类型转发到相应的`doXXX()`方法。当服务器关闭或者Web应用被卸载时,Servlet会被销毁。 在实际应用中,我们还需要了解如何在Web应用的部署描述...

    基于Servlet的Web图表编程

    ### 基于Servlet的Web图表编程 #### 1. Servlet概述及特点 Servlet作为Java Web开发中的核心组件之一,其重要性不言而喻。Servlet是一种基于Java技术的服务器端程序,它能够处理客户端通过HTTP协议发送的请求并...

    简单的web开发——servlet案例

    Servlet是Java Web开发中的重要组成部分,它是一种用于扩展服务器功能的Java类,通常用来处理HTTP请求并生成动态响应。 ### 1. 什么是Servlet? Servlet是一个Java接口,由Java Servlet API定义。它允许程序员创建...

    mybatis+servlet实现web登陆界面

    2. **Servlet**:Servlet是Java Web开发中处理请求和响应的核心组件。在登录场景下,Servlet监听特定的HTTP请求(如POST请求,对应表单提交),在`doPost()`方法中获取前端传递的用户名和密码,然后通过`...

    Android Servlet WEB http

    Servlet是一种Java技术,用于扩展Web服务器的功能,处理客户端的请求并返回响应。而HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间交换数据的方式。Android作为移动开发...

    练习servlet

    Servlet通过重写`service()`方法来接收和处理请求,并通过`doGet()`或`doPost()`等方法来响应不同的HTTP请求方法。 在学习Servlet时,首先要了解`web.xml`部署描述符文件。这是配置Servlet的重要部分,包括定义...

    servlet-ppt java web相关servlet课件

    Servlet是Java Web开发中的核心组件,它用于处理HTTP请求并生成响应。本课件主要涵盖了以下几个方面的内容: 1. **Servlet基础**: - Servlet是一个Java类,它扩展了Java平台,使得Java可以用来处理Web应用程序中...

    jsp And Servlet Test web练习

    "jspAndServletTest"是一个适合初学者的练习,它涵盖了JSP和Servlet的基础知识,包括如何创建动态网页,如何处理HTTP请求,以及如何组织一个简单的Web应用结构。通过实践这个练习,学习者可以更好地理解和掌握Web...

    web聊天 serverpush servlet实现

    在实现Server Push时,还需要考虑安全问题,如防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。同时,由于Comet技术依赖于特定的浏览器支持,因此要考虑兼容性问题,可能需要提供回退机制。 总的来说,Servlet实现...

    一个支持servlet的web服务器

    Servlet是Java语言中用于开发Web应用程序的标准接口,它是由Sun Microsystems公司(现已被Oracle收购)在Java EE规范中定义的。一个支持Servlet的Web服务器,如Apache Tomcat、Jetty等,是运行Java Web应用的核心...

Global site tag (gtag.js) - Google Analytics