锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
]]>
import java.awt.image.RenderedImage;
import java.io.File;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import javax.media.jai.JAI;
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
Integer index = new Integer(request.getParameter("index"));
System.out.println(request.getContextPath());
System.out.println(request.getPathInfo());
System.out.println(request.getRealPath("/"));
File file = new File(request.getRealPath("/") + "/example/tiff/example.tif");
SeekableStream s = new FileSeekableStream(file);
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, null);
RenderedImage temp = dec.decodeAsRenderedImage(index);
System.out.println("Width:" + temp.getWidth() + ",Height:" + temp.getHeight());
JAI.create("encode", temp, response.getOutputStream(), "JPEG", null);
return null;
]]>
]]>
XML-RPC鐨勫叏縐版槸XML Remote Procedure Call錛屽嵆XML榪滅▼鏂規硶璋冪敤銆?
銆銆瀹冩槸涓濂楀厑璁歌繍琛屽湪涓嶅悓鎿嶄綔緋葷粺銆佷笉鍚岀幆澧冪殑紼嬪簭瀹炵幇鍩轟簬Internet榪囩▼璋冪敤鐨勮鑼冨拰涓緋誨垪鐨勫疄鐜般?
銆銆榪欑榪滅▼榪囩▼璋冪敤浣跨敤http浣滀負浼犺緭鍗忚錛孹ML浣滀負浼犻佷俊鎭殑緙栫爜鏍煎紡銆俋ml-Rpc鐨勫畾涔夊敖鍙兘鐨勪繚鎸佷簡綆鍗曪紝浣嗗悓鏃惰兘澶熶紶閫併佸鐞嗐佽繑鍥炲鏉傜殑鏁版嵁緇撴瀯銆?
銆銆XML-RPC鏄伐浣滃湪Internet涓婄殑榪滅▼榪囩▼璋冪敤鍗忚銆備竴涓猉ML-RPC娑堟伅灝辨槸涓涓姹備綋涓簒ml鐨刪ttp-post璇鋒眰錛岃璋冪敤鐨勬柟娉曞湪鏈嶅姟鍣ㄧ鎵ц騫跺皢鎵ц緇撴灉浠ml鏍煎紡緙栫爜鍚庤繑鍥炪?
銆銆Request example
銆銆Here's an example of an XML-RPC request:
銆銆POST /RPC2 HTTP/1.0User-Agent: Frontier/5.1.2 (WinNT)Host: betty.userland.comContent-Type: text/xmlContent-length: 181
銆銆<?xml version="1.0"?>
銆銆<methodCall>
銆銆<methodName>examples.getStateName</methodName>
銆銆<params>
銆銆<param>
銆銆<value><i4>41</i4></value>
銆銆</param>
銆銆</params>
銆銆</methodCall>
銆銆Response example
銆銆Here's an example of a response to an XML-RPC request:
銆銆HTTP/1.1 200 OKConnection: closeContent-Length: 158Content-Type: text/xmlDate: Fri, 17 Jul 1998 19:55:08 GMTServer: UserLand Frontier/5.1.2-WinNT
銆銆<?xml version="1.0"?>
銆銆<methodResponse>
銆銆<params>
銆銆<param>
銆銆<value><string>South Dakota</string></value>
銆銆</param>
銆銆</params>
銆銆</methodResponse>
銆銆浜?XML-RPC鍏ラ棬紼嬪簭
銆銆浠ヤ笅鐨勫叆闂ㄧ▼搴忓寘鎷竴涓鐞嗗櫒錛圚elloHandler錛夈佷竴涓湇鍔″櫒錛圚elloServer錛夈佷竴涓鎴風▼搴忥紙HelloClient錛夈?
銆銆棣栧厛瑕佸仛鐨勬槸鍒涘緩鐢ㄤ簬榪滅▼榪囩▼璋冪敤鐨勭被鍜屾柟娉曪紝浜轟滑甯稿父縐頒箣涓虹鐞嗗櫒銆俋ml-rpc綆$悊鍣ㄦ槸涓涓柟娉曞拰鏂規硶闆嗭紝瀹冩帴鍙梮ml-rpc璇鋒眰錛屽茍瀵硅姹傜殑鍐呭榪涜瑙g爜錛屽啀鍚戜竴涓被鍜屾柟娉曞彂鍑鴻姹傘?
銆銆//綆$悊鍣ㄧ被
銆銆package xmlRpc;
銆銆/**
銆銆* @author trier
銆銆*
銆銆* <b><code>HelloHandler</code></b> is a simple handler than can
銆銆* be registered with an XML-RPC server
銆銆*/
銆銆public class HelloHandler {
銆銆public String sayHello(String name){
銆銆return "Hello " + name;
銆銆}
銆銆}
銆銆鏈嶅姟鍣ㄧ▼搴忓皢鍒涘緩鐨勭鐞嗗櫒娉ㄥ唽鍒版湇鍔″櫒涓婏紝騫朵負鏈嶅姟鍣ㄦ寚鏄庡簲鐢ㄧ▼搴忓叾浠栫壒瀹氱殑鍙傛暟銆?
銆銆//鏈嶅姟鍣ㄧ被
銆銆package xmlRpc;
銆銆/**
銆銆*
銆銆* <b><code>HelloServer</code></b> is a simple XML-RPC server
銆銆* that will take the <code>HelloHandler</code> class available
銆銆* for XML-PRC calls.
銆銆* <o:p
銆銆*/
銆銆import org.apache.xmlrpc.WebServer;
銆銆import org.apache.xmlrpc.XmlRpc;
銆銆import java.io.IOException;
銆銆public class HelloServer {
銆銆public static void main(String[] args){
銆銆if(args.length<1){
銆銆System.out.println("Usage: java HelloServer [port]");
銆銆System.exit(-1);
銆銆}
銆銆try{
銆銆XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");
銆銆//start the server
銆銆System.out.println("Starting XML-RPC Server......");
銆銆WebServer server = new WebServer(Integer.parseInt(args[0]));
銆銆//register our handler class
銆銆server.addHandler("hello",new HelloHandler());
銆銆System.out.println("Now accepting requests......");
銆銆}catch(ClassNotFoundException e){
銆銆System.out.println("Could not locate SAX Driver");
銆銆}catch(IOException e){
銆銆System.out.println("Could not start server: "+e.getMessage());
銆銆}
銆銆}
銆銆}
銆銆//瀹㈡埛紼嬪簭
銆銆package xmlRpc;
銆銆/**
銆銆*
銆銆* <b><code>HelloClient</code></b> is a simple XML-RPC client
銆銆* that makes an XML-RPC request to <code>HelloServer</code>
銆銆*/
銆銆import java.io.IOException;
銆銆import java.util.Vector;
銆銆import org.apache.xmlrpc.XmlRpc;
銆銆import org.apache.xmlrpc.XmlRpcClient;
銆銆import java.net.MalformedURLException;
銆銆import org.apache.xmlrpc.XmlRpcException;
銆銆public class HelloClient {
銆銆public static void main(String[] args){
銆銆if(args.length<1){
銆銆System.out.println("Usage: java HelloClient [your name]");
銆銆System.exit(-1);
銆銆}
銆銆try{
銆銆//Use the Apache Xereces SAX Driver
銆銆XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");
銆銆//Specify the server
銆銆XmlRpcClient client = new XmlRpcClient("http://localhost:8585");
銆銆//create request
銆銆Vector params = new Vector();
銆銆params.addElement(args[0]);
銆銆//make a request and print the result
銆銆String result = (String)client.execute("hello.sayHello",params);
銆銆System.out.println("Response from server: "+ result);
銆銆}catch(ClassNotFoundException e){
銆銆System.out.println("Could not locate SAX Driver");
銆銆}catch(MalformedURLException e){
銆銆System.out.println("Incorrect URL fro xml-rpc server foramt:"+e.getMessage());
銆銆}catch(XmlRpcException e){
銆銆System.out.println("XmlRpcException :"+e.getMessage());
銆銆}catch(IOException e){
銆銆System.out.println("IOException:"+e.getMessage());
銆銆}
銆銆}
銆銆}
銆銆涓?RPC鍜孯MI鐨勭畝鍗曟瘮杈?
銆銆鍦≧MI鍜孯PC涔嬮棿鏈涓昏鐨勫尯鍒湪浜庢柟娉曟槸濡備綍鍒皟鐢ㄧ殑銆傚湪RMI涓紝榪滅▼鎺ュ彛浣挎瘡涓繙紼嬫柟娉曢兘鍏鋒湁鏂規硶絳懼悕銆傚鏋滀竴涓柟娉曞湪鏈嶅姟鍣ㄤ笂鎵ц錛屼絾鏄病鏈夌浉鍖歸厤鐨勭鍚嶈娣誨姞鍒拌繖涓繙紼嬫帴鍙d笂錛岄偅涔堣繖涓柊鏂規硶灝變笉鑳借RMI瀹㈡埛鏂規墍璋冪敤銆傚湪RPC涓紝褰撲竴涓姹傚埌杈綬PC鏈嶅姟鍣ㄦ椂錛岃繖涓姹傚氨鍖呭惈浜嗕竴涓弬鏁伴泦鍜屼竴涓枃鏈鹼紝閫氬父褰㈡垚“classname.methodname”鐨勫艦寮忋傝繖灝卞悜RPC鏈嶅姟鍣ㄨ〃鏄庯紝琚姹傜殑鏂規硶鍦ㄤ負“classname”鐨勭被涓紝鍚嶅彨“methodname”銆傜劧鍚嶳PC鏈嶅姟鍣ㄥ氨鍘繪悳绱笌涔嬬浉鍖歸厤鐨勭被鍜屾柟娉曪紝騫舵妸瀹冧綔涓洪偅縐嶆柟娉曞弬鏁扮被鍨嬬殑杈撳叆銆傝繖閲岀殑鍙傛暟綾誨瀷鏄笌RPC璇鋒眰涓殑綾誨瀷鏄尮閰嶇殑銆備竴鏃﹀尮閰嶆垚鍔燂紝榪欎釜鏂規硶灝辮璋冪敤浜嗭紝鍏剁粨鏋滆緙栫爜鍚庤繑鍥炲鎴鋒柟銆?
]]>
http://axis.apache.org/axis2/java/core/docs/userguide.html#underhood
]]>
private void test_findAllUsers(){
System.out.println("------------------test_findAllUsers-------------------------------------");
RPCServiceClient serviceClient = null;
try {
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(
"http://localhost:8080/Axis2141Demo/services/UserService");
options.setTo(targetEPR);
QName qname = new QName("http://axis2141demo.sample/xsd", "findAllUsers");
Object[] parameters = new Object[]{};
Class[] returnTypes = new Class[]{User.class};
Object[] objects = serviceClient.invokeBlocking(qname, parameters, returnTypes);
System.out.println(" objects size-->:" + objects.length);
for(int i = 0; i < objects.length; i++) {
if ((objects[i] != null) && (objects[i] instanceof User)) {
User user = (User)objects[i];
System.out.println("User Object Not null : " + user.getUserName());
}
}
} catch (AxisFault e) {
e.printStackTrace();
}
}
/**
* "List<User> findAllUsers()"
*
*/
private void test_findAllUsersCascadeOrder(){
System.out.println("------------------test_findAllUsersCascadeOrder-------------------------------------");
RPCServiceClient serviceClient = null;
try {
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(
"http://localhost:8080/Axis2141Demo/services/UserService");
options.setTo(targetEPR);
QName qname = new QName("http://axis2141demo.sample/xsd", "findAllUsersCascadeOrder");
Object[] parameters = new Object[]{};
Class[] returnTypes = new Class[]{User.class};
Object[] objects = serviceClient.invokeBlocking(qname, parameters, returnTypes);
System.out.println(" objects size-->:" + objects.length);
for(int i = 0; i < objects.length; i++) {
if ((objects[i] != null) && (objects[i] instanceof User)) {
User user = (User)objects[i];
System.out.println(" UserName : " + user.getUserName());
List<Order> orders = user.getOrders();
System.out.println("OrdersSize : " + orders.size());
for (Order order : orders) {
System.out.println(" OrderID : " + order.getOrderId() + " --> : " + order.getOrderNo());
}
}
}
} catch (AxisFault e) {
e.printStackTrace();
}
}
/**
* "User findUserByUserId(Integer userId)"
*
*/
private void test_findUserByUserId(){
System.out.println("-------------test_findUserByUserId-----------------------------------------");
RPCServiceClient serviceClient = null;
try {
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(
"http://localhost:8080/Axis2141Demo/services/UserService");
options.setTo(targetEPR);
QName qname = new QName("http://axis2141demo.sample/xsd", "findUserByUserId");
Object[] parameters = new Object[] {new Integer(10)};
Class[] returnTypes = new Class[]{User.class};
Object[] objects = serviceClient.invokeBlocking(qname, parameters, returnTypes);
System.out.println("objects size-->:" + objects.length);
for(int i = 0; i < objects.length; i++) {
if ((objects[i] != null) && (objects[i] instanceof User)) {
User user = (User)objects[i];
System.out.println(" User Object Not null : " + user.getUserName());
}
}
} catch (AxisFault e) {
e.printStackTrace();
}
}
鐪嬩綘褰撳墠鐨凧VM鏈澶у彲鐢ㄥ埌澶氬皯鍐呭瓨錛岀敤濡備笅鍛戒護錛?java -Xmx澶氬ぇ鍐呭瓨m -version
涓瀹氳鍦ㄥ澶у唴瀛樺悗闈㈠姞涓妋鍝︼紝瑕佷笉瀹冭涓烘槸瀛楄妭KB鍛紝浼氭姏閿欑殑
鍚炲悙閲?/span>=瀹屾垚鐨?/span>transaction鏁?/span>/瀹屾垚榪欎簺transaction鏁版墍闇瑕佺殑鏃墮棿錛?/span> Throughput錛氭瘡縐掑畬鎴愮殑璇鋒眰鏁?/span> |
騫沖潎鍝嶅簲鏃墮棿=鎵鏈夊搷搴旀椂闂寸殑鎬誨拰/瀹屾垚鐨?/span>transaction鏁幫紱Average= 璁塊棶欏甸潰鐨勫鉤鍧囧搷搴旀椂闂?/span> |
澶辮觸鐜?/span>=澶辮觸鐨勪釜鏁?/span>/transaction鏁幫紝 Error%錛?/span>閿欒鐨勮姹傜殑鏁伴噺/璇鋒眰鐨勬繪暟 |
Min= 璁塊棶欏甸潰鐨勬渶灝忓搷搴旀椂闂?/span> |
Max= 璁塊棶欏甸潰鐨勬渶澶у搷搴旀椂闂?/span> |
KB/Sec= 姣忕浠庢湇鍔″櫒绔帴鏀跺埌鐨勬暟鎹噺 |
Avg. Bytes - average size of the sample resp 主站蜘蛛池模板: 成人免费淫片在线费观看| 久久WWW免费人成—看片| 最近最新高清免费中文字幕| 亚洲乱码中文字幕手机在线| 曰批全过程免费视频免费看 | 亚洲中文字幕伊人久久无码| 亚洲sm另类一区二区三区| 精品久久免费视频| 亚洲 暴爽 AV人人爽日日碰| 成人免费无遮挡无码黄漫视频| 亚洲国产精品线观看不卡| 999国内精品永久免费观看| 亚洲冬月枫中文字幕在线看| 皇色在线视频免费网站| 亚洲精品国产国语| 国产精品成人四虎免费视频| 免费中文字幕视频| 亚洲av无码精品网站| 最近中文字幕无免费| 亚洲精品一二三区| 四虎永久精品免费观看| 国产免费牲交视频免费播放| 亚洲无人区一区二区三区| 无码精品人妻一区二区三区免费看| 亚洲色图综合网站| 免费激情视频网站| 国产特黄一级一片免费| 91大神亚洲影视在线| 成人毛片免费网站| 中文成人久久久久影院免费观看| 亚洲av之男人的天堂网站| 成人免费视频77777| 一级黄色免费毛片| 亚洲精品午夜久久久伊人| 拔擦拔擦8x华人免费久久| 成人免费ā片在线观看| 亚洲一区二区三区深夜天堂| 免费很黄很色裸乳在线观看| 99在线免费观看视频| 国产精品亚洲综合网站| 亚洲阿v天堂在线| |