浅谈J2EE中的Service(二)
来源:互联网 发布:属性数据分析引论 pdf 编辑:程序博客网 时间:2024/05/16 23:48
文章在我的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所发表的[原创]文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者和出处。
- 浅谈J2EE中的Service(二)
- 浅谈J2EE中的Service(一)
- 浅谈J2EE中的Service(三)
- 浅谈android中的Service
- J2EE设计模式浅谈(二)之Filter
- 浅谈C++中的内存管理(二)
- 浅谈VC++中的预编译(二)
- Android 中的 Service 全面总结(二)
- Android中的Service组件(二)
- j2ee(SSH)项目开发中的代码小结(二)
- J2EE之反射中的class类(二)
- 浅谈J2EE
- J2EE是什么(二)
- Android Service(一)--浅谈Service
- j2ee web service开发(二) 动态代理与动态调用
- J2EE中的设计模式之二
- J2EE系统的性能浅谈(转)
- Service层在J2EE分层结构中的作用
- 查看每个数据表的大小
- 优化SQL Server索引的小技巧
- tony的抬杠1
- 浅谈J2EE中的Service(一)
- 点击次数过万,发文纪念
- 浅谈J2EE中的Service(二)
- 安装SQL Server 2000提示有文件挂起
- 在Redhat9 Linux下安装java开发环境,并编写“Hello world”程序
- Javascript语言并不简单啊!
- 从数据库中读取二进制文件,并将图片打印到页面上
- 我也想去旅游.....:(
- 做梦了
- 开写论文,基于ACE的网络程序
- 临时表操作的一些见解