浅谈J2EE中的Service(二)

原创 2006年06月12日 09:32:00

文章在我的QQ空间里面

http://43990246.qzone.qq.com/?url=http%3A//imgcache.qq.com/qzone/blog/blog.html%23blogId%3D94936

  第一步建立Service,先建立一个WEB工程名字叫excel,然后在建立一个叫testservice的servelet
servelet中的代码如下:




package serverlet;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URI;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class testservice extends HttpServlet {
public testservice() {
super();
}
public void destroy() {
super.destroy();
}


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

response.setCharacterEncoding("UTF-8");
InputStream in=request.getInputStream();  ///读取客户端请求的字节流
String sp ="";
byte[] b1=null;

while(in.read(b1 = new byte[1]) != -1 )
{
sp += new String(b1,"UTF-8");

}

System.out.println("Service中接收到的客户端请求"+sp+"========");///以上是打印在TOMCAT中的。
in.close();
///////以上的代码实际应用中可以用DOM4J等方法解析这个XML然后可以做如判断用户身份,
/////和得知用户请求的类型和条件。
OutputStream Out=response.getOutputStream();
String strxml="" +
               "<?xml version=/"1.0/" encoding=/"UTF-8/" ?>"+
                 "<Response>"+
            "<ResponseHotel>"+
            "<Country Code=/"China/" />"+
            "<City Code=/"Shanghai/" />"+
                "<Hotels>"+
                 "<Hotel>金茂凯悦</Hotel><Hotel>喜来登</Hotel>"+
                 "</Hotels>"+
            "</ResponseHotel>"+
                "</Response>";
byte[] b=strxml.getBytes("UTF-8");
Out.write(b);
///////以上的代码实际应用中根据解析用户请求的XML到数据库中拿需要的数据再组装成XML返回给用户

}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    doGet(request,response);
}
public void init() throws ServletException {}

}


      第二步建立客户端,建立一个叫TestUrl的CLASS
TestUrl中的代码如下:

package Test;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;

public class TestUrl {

public static String strURL = "http://localhost:8080/excel/testservce";
////strURL 中http://localhost:8080/是服务器的地址excel是应用的名字
         ////testservce是具体实现Service的servlet名字


 public static void main(String[] args)throw* **ception{ 
 String strxml="" +
     "<?xml version=/"1.0/" encoding=/"UTF-8/" ?>"+
                 "<Request>"+
                 "<Source>"+
                 "<RequestorID userid=/"shtour/"  password=/"962020/" />"+
                 "</Source>"+
                 "<SearchHotel>"+
                 "<Country Code=/"中国/" />"+
                 "<City Code=/"上海/" />"+
                 "</SearchHotel>"+
                 "</Request>";
URL uConn= new URL(strURL);
URLConnection uc = uConn.openConnection();
uc.setDoOutput(true);
uc.setDoInput(true);
byte[] b=strxml.getBytes("UTF-8");
OutputStream oso = null;
oso = uc.getOutputStream();
oso.write(b);
///以上代码是建立和Service的连接并且将请求的XML提交给Service。
////以上的代码实际应用中可以用DOM4J等方法根据自己的需求生成XML。
InputStream iso = null;
iso = uc.getInputStream();
String sp ="";
byte[] b1=null;
while(iso.read(b1 = new byte[1]) != -1 )
{
sp += new String(b1,"UTF-8");

}
   System.out.println("客户接收到Service的返回信息"+sp+"====");
  ///以上是打印在控制台的。
      iso.close();
///以上代码是接收Service 返回 的XML
         ////以上的代码实际应用中可以用DOM4J等方法解析这个XML然后格式化的显示在HTML或jsp,asp
         ///页面上或防如数据库中。
     } 
}


     第三步把WEB工程部署到象TOMCAT这样的服务器上,然后运行服务器,这样一个Service就建立了。

      第四步执行TestUrl的MAIN方法看看结果吧。 
如果想这样执行的话注意客户端和Service端打印是在不同的地方。
好了一个Service就这样建立好了。当然用.net平台下的程序也可以来访问这个Service。
具体代码我就不写了。写的不好,如果你要写类似的东西而又没写过的话,可以参考一下ǒ
顺便设想一下EJB中的某写功能是不是也可以用这个代替,如SESSION,RMI 。
 
本blog所发表的[原创]文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者和出处。

Web Service

Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻...
  • suhang1992
  • suhang1992
  • 2016-05-31 16:52:29
  • 93

Java Message <em>Service</em>.pdf

2009-04-15 上传大小:1.07MB JMS<em>J2EE</em>Java Java Message <em>Service</em>.pdf ...message <em>in</em> java 立即下载 上传者: Aaron0011 时间: 2009-04-02 综合评分:...
  • 2018年04月11日 00:00

J2EE中dao层和Service层的理解

dao层 最基本的CRUD操作,方法体里的内容一两句代码搞定。如this.save(student)等等。   Service层 ①可能调用多个dao。有一个Service,叫StudentS...
  • woshixuye
  • woshixuye
  • 2012-01-19 16:24:40
  • 3044

浅谈J2EE中的Service(一)

在我的QQ空间地址留在这里http://43990246.qzone.qq.com/?url=http%3A//imgcache.qq.com/qzone/blog/blog.html%23blogI...
  • cl814
  • cl814
  • 2006-06-12 09:30:00
  • 439

Web Service 、WS-Security、Java和.net的互通(在路上-基于SCA规范的应用服务框架成长记之四)

Web Service 、WS-Security、Java和.net的互通 和第三部分同样,这部分内容其实应该在后面才对,不过当前工作既然做了,也需要写下来分享,那么就提前插队到成长记录当中吧。看了...
  • wxyFighting
  • wxyFighting
  • 2013-05-08 09:26:21
  • 1255

Web service in DW.mx

  • zgqtxwd
  • zgqtxwd
  • 2008-05-01 03:32:00
  • 115

浅谈服务治理、微服务与Service Mesh(二) Spring Cloud从入门到精通到放弃

作为本系列文章的第二篇(第一篇:浅谈服务治理、微服务与Service Mesh(一)Dubbo的前世今生),本文主要为大家介绍下微服务概念中非常火热的Spring Cloud开发框架。由于网上关于Sp...
  • dylloveyou
  • dylloveyou
  • 2018-03-17 16:09:31
  • 121

web service在J2EE中扮演一个什么角色?

我想知道web service在J2EE中扮演一个什么角色?我觉得这样说好像不大恰当,web service是更高层次的一种封装,j2ee可以在其中实现某些业务逻辑和方法。WS用来实现松耦合的, 基于...
  • zhasenandy
  • zhasenandy
  • 2006-07-31 08:38:00
  • 677

web service概述

Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模...
  • czplplp_900725
  • czplplp_900725
  • 2012-08-15 22:48:21
  • 741

Java - J2EE Services 090826

 J2EE Architecture   J2EE defines four types of componentž            Application clientsž          ...
  • tomiter
  • tomiter
  • 2009-08-26 18:43:00
  • 200
收藏助手
不良信息举报
您举报文章:浅谈J2EE中的Service(二)
举报原因:
原因补充:

(最多只允许输入30个字)