`

通过httpurlconnection建立servlet与应用程序的通讯

    博客分类:
  • JAVA
 
阅读更多

曾经有一次需要实现应用程序调用ejb的服务,但是考虑因为其他应用程序可能是不同的语言,首先考虑的是用cobar,后来因为没有负责这个项目,没有继续深入去研究,最近因为项目的需要,考虑到cobar的一下弊端,自己寻求别的解决办法,后来搜集一下资料,最近利用servlet来实现与应用程序通讯.(扩展开来,就可以用serlvet调要ejb的东东了).

 

首先: 建立应用程序,限于技术的原因,利用j2se写了比较简单的应用程序,应用程序负责把要处理的数据,(如果都是针对于java,可以是对象,利用对象流)发送给web服务器对应的url/servlet,处理以后,返回响应的数据.

 

这个通讯的原理在页面上的理解就是利用了http协议,通过建立应用程序于servlethttpurlconnection:

//建立连接

 URL url= new URL("http://localhost/datareceiveservlet?userid=lhz&tel=1111111111&type=0&length=8");

URLConnection urlconn = (URLConnection)url.openConnection();

 

//设置连接属性

urlconn.setDoOutput(true);  

urlconn.setUseCaches(false);

urlconn.setRequestProperty("Content-type","application/octest-stream");

urlconn.setRequestProperty("Content-length",""+buf.length());

 

//生成数据流

String buf ="aaaaaaaa";

DataOutputStream dataout=new DataOutputStream(urlconn.getOutputStream());

dataout.writeUTF(buf);

 

dataout.flush();

dataout.close();

//接受servlet的响应数据

DataInputStream in = new DataInputStream(urlconn.getInputStream());

String response = in.readUTF();

System.out.println("read from server :" + response);

in.close();

建立 DataReceiveServlet

 public void dopost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

 

{

  perform(request,response);

}

 public void perform(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

  {

    int type=Integer.parseInt(request.getParameter("type").trim());

    String userid=request.getParameter("userid").trim();

    String tel=request.getParameter("tel").trim();

    int typeindex= request.getQueryString().trim().indexOf("type");

 

 

    DataInputStream in = new DataInputStream(request.getInputStream());

    response.setContentType("application/octest-stream");

    //type=2

    if(type==2)

    {

      String queryString =request.getQueryString().trim().substring(typeindex+7);

      Action1 action1 =new Action1(ds);

     Action1.createMMS(queryString,in,userid,tel,type);

 

    }else if(type==0 || type==1)//sms数据或ems

    {

      //调要Action

      Action action =new Action(ds);

      action.create (in,userid,tel,type);

    }

    //返回信息给客户端

 

    ByteArrayOutputStream byteout = new ByteArrayOutputStream();

    DataOutputStream out = new DataOutputStream(byteout);

    out.writeUTF("接受到数据");

    out.flush();

    byte buf[] = byteout.toByteArray();

    response.setContentLength(buf.length);

    ServletOutputStream servletout = response.getOutputStream();

    servletout.write(buf);

    servletout.close();

    in.close();

    return;能发送的文件不仅仅是文本,可以是图片,声音,和其他文件,必须把所需要的文件生成字节数组,生成数据流再进行传输.

分享到:
评论

相关推荐

    HttpURLConnection+servlet+swing登陆注册+留言板

    它可以创建窗口、按钮、文本框等组件,使用户能够输入数据并与应用交互。 4. **登陆注册流程**: 用户在Swing界面输入用户名和密码后,HttpURLConnection会把这些数据编码成HTTP请求发送到服务器。Servlet接收到请求...

    Java通过HttpURLConnection与servlet通信

    Java通过HttpURLConnection与Servlet通信是Web开发中常见的一种交互方式,尤其在客户端和服务端进行数据交换时。HttpURLConnection是Java标准库中提供的一个类,它允许应用程序作为一个HTTP客户端发起请求并接收响应...

    HttpURLConnection servlet 多文件参数 断点上传

    本知识点将深入探讨如何使用`HttpURLConnection`与Servlet协同工作,处理多文件参数以及实现断点上传功能。 首先,`HttpURLConnection`是Java API中的一个核心类,它负责提供HTTP协议的连接功能。相比Apache ...

    tomcat与web程序结构与Http协议与HttpUrlConnection.pdf

    【标题】:“Tomcat与Web程序结构与Http协议与HttpUrlConnection.pdf” 【描述】:这份资料涵盖了Tomcat服务器的基础知识,包括其性质、安装配置、常见问题以及Web应用程序的结构。同时,还讨论了Http协议和Java中...

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...

    Servlet简单应用示例

    在本示例中,我们将深入理解Servlet的简单应用,包括其工作原理、创建过程以及如何与客户端进行交互。 首先,Servlet是Java的一个接口,位于javax.servlet包中。开发人员需要实现Servlet接口或继承HttpServlet类来...

    servlet applet通讯的例子

    1. **Servlet与Applet通信的基本原理**: - Applet可以通过JavaScript与HTML页面交互,进而与通过AJAX调用的Servlet进行通信。另一种方式是Applet直接通过URLConnection或HttpURLConnection与Servlet通信,发送请求...

    通过HttpURLConnection获取SESSIONID

    import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class HttpTest { private HttpURLConnection hc = ...

    tomcat与web程序结构与Http协议与HttpUrlConnection[参考].pdf

    Tomcat是一款开源且免费的Web服务器,它是Apache软件基金会下的Jakarta项目的一部分,专门用于运行Java应用程序,尤其是Servlet和JSP。Tomcat实现了Java EE(现在称为Jakarta EE)中的Web应用服务器部分,特别是...

    tomcat与web程序结构与Http协议HttpUrlConnection(含答案).pdf

    在Tomcat上发布Web应用,可以通过将应用文件夹放置于`tomcat/webapps`目录下自动部署,或者在`server.xml`中配置虚拟主机,或者在`tomcat/conf/Catalina/localhost`下创建XML配置文件来手动配置。直接访问未经配置的...

    HttpURLConnection文件下载\httpURLConnection文件下载

    它创建了一个`FileOutputStream`对象来准备写入文件,接着建立了一个`HttpURLConnection`连接到指定的URL。通过设置`setDoOutput(true)`表明这是一个POST请求,但实际上对于文件下载,通常使用GET请求。然后通过`...

    AsyncTask结合HttpUrlConnection的例子

    1. 建立连接:通过URL对象获取`HttpURLConnection`实例。 2. 设置请求方法:如GET或POST。 3. 设置请求属性:如超时时间、请求头等。 4. 发送请求:对于POST请求,需要写入请求体数据。 5. 读取响应:如响应码、响应...

    http通信及servlet介绍

    在IT行业中,网络通信是构建分布式系统的基础,而HTTP(超文本传输协议)与Servlet则是其中的重要组成部分。本文将深入探讨HTTP通信以及Servlet接口,并...理解和掌握这些知识点,对于开发复杂的网络应用程序至关重要。

    使用HttpUrlConnection实现上传文件 服务器端代码

    在Java编程环境中,当需要与Web服务器交互,例如上传文件时,`HttpURLConnection`是一个常见的选择,因为它提供了灵活且高效的方式。本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器...

    Android studio 通过以servlet搭建的服务器访问 PC端 mysql数据库(一)服务端源代码

    在本教程中,我们将探讨如何使用Android Studio开发一个应用程序,该程序通过Servlet连接到PC上的MySQL数据库。Servlet是一种Java技术,常用于构建Web应用程序,它充当客户端(如Android应用)和服务器之间的中间层...

    android之通过HttpURLConnection类查看网络图片、源码例子

    `HttpURLConnection`是Java标准库提供的一个类,它允许应用程序与HTTP服务器进行通信。下面将详细阐述如何使用这个类来实现这些功能。 首先,我们需要了解`HttpURLConnection`的基本用法。当访问网络资源时,通常...

    88个Android应用程序

    Android通过HttpURLConnection或第三方库如Volley、OkHttp等实现这些网络请求。 3. **网格与图片切换**(GridAndImageSwitcherSample): 这个示例可能展示了如何在Android应用中实现网格视图(GridView)和图片...

    Httpurlconnection

    HttpURLConnection是Java标准库中的一个类,...通过理解并熟练运用它的各项功能,你可以创建高效、可控的网络请求,实现与服务器的可靠交互。在编程实践中,一定要注意异常处理和资源管理,确保程序的健壮性和安全性。

    Android与servlet服务器交互

    在IT行业中,Android和Servlet之间的交互是移动应用开发中常见的技术组合。Android是谷歌推出的开源移动操作系统,广泛用于智能手机和平板电脑,而Servlet是Java Web编程的重要组成部分,用于构建动态Web服务。本...

Global site tag (gtag.js) - Google Analytics