PHPRPC の簡単な例

Jun 13, 2016 pm 01:09 PM
gt public servlet string

PHPRPC の簡単な例
PHPRPC は、軽量、安全、クロスインターネット、クロス言語、クロスプラットフォーム、クロス環境、クロスドメインであり、複雑なオブジェクトの送信をサポートし、参照パラメータの受け渡しをサポートし、コンテンツ出力のリダイレクトをサポートし、階層型エラー処理をサポートします。セッション対応、サービス指向の高性能リモート プロシージャ コール プロトコル。
公式ホームページ: http://www.phprpc.org/zh_CN/
公式 Web サイトには、さまざまなバージョンの使用方法が比較的詳しく説明されており、比較的すぐに使い始めることができます。以下は私のデモの例です。ドキュメントを読んでから最初のデモを開発するまでに約 30 分かかりました。
私は Java バージョンを使用しています。前のインストール手順は繰り返しません。公式ドキュメントを参照してください。
1. Service インターフェースと実装クラスを作成します

public interface ServiceI {
	public String say(String name);
	public Errors showError(String info);
}
ログイン後にコピー

public class FirstService implements ServiceI{
	@Override
	public String say(String name) {
		String res = "Hello, "+name+" from PHPRPC";
		return res;
	}

	public Errors showError(String info){
		Errors er = null;
		er = new Errors();
		er.setId("1111");
		er.setMsg("phprpc make error:"+info);
		return er;
	}
}
ログイン後にコピー

public class Errors implements Serializable{
	private String id;
	private String msg;	
	public Errors(){}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}	
}
ログイン後にコピー

2. サーブレットを通じてサービスを公開します
public class PhprpcGloabService extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {
		[b]PHPRPC_Server server = new PHPRPC_Server();
		FirstService first = new FirstService();
		server.add(first);
		server.start(req, res);[/b]	}	
}
ログイン後にコピー

Web.xml ファイルに、公開するサービスを rpcservice スペースに配置します
<!-- PHPRPC Web service发布 -->
	<servlet>
		<servlet-name>GloabService</servlet-name>
		<servlet-class>
			com.smartcoms.service.PhprpcGloabService
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>GloabService</servlet-name>
		<url-pattern>/rpcservice/*</url-pattern>
	</servlet-mapping>
ログイン後にコピー

サービスが公開されました。
3. クライアント プログラムを作成します
サービスにアクセスするためのクライアントとして jsp ページを使用します
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="org.phprpc.*" %>
<%@ page import="com.smartcoms.web.UIElement.Errors" %>
<%@ page import="com.smartcoms.service.ServiceI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Phprpc 调试</title>
</head>
<body>
<%
PHPRPC_Client client = new PHPRPC_Client("http://localhost:8082/smartcoms/rpcservice/GloabService");
ServiceI service = (ServiceI)client.useService(ServiceI.class);
out.println(service.say("中国"));
Errors er = service.showError("信息");
out.println(er.getId());
out.println(er.getMsg());
%>
</body>
</html>
ログイン後にコピー

PHPRPC は非常に使いやすく、高速な Web サービス アプリケーションを実装できます。他の側面は、さらに多くのアプリケーション環境で実装および評価する必要があります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Jul 24, 2023 pm 07:55 PM

Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Java 開発で基本データ型を文字列に変換する必要がある場合、一般的な方法は String クラスの valueOf() 関数を使用することです。この関数は、基本データ型のパラメータを受け入れ、対応する文字列表現を返すことができます。この記事では、基本的なデータ型変換に String.valueOf() 関数を使用する方法を検討し、いくつかのコード例を提供します。

char配列を文字列に変換する方法 char配列を文字列に変換する方法 Jun 09, 2023 am 10:04 AM

char配列をstringに変換する方法:代入によって実現できます {char a[]=" abc d\0efg ";string s=a;} 構文を使用して、char配列にstringに値を直接代入させて実行します変換を完了するためのコード。

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

サーブレットのライフサイクルはいくつかの段階に分かれています サーブレットのライフサイクルはいくつかの段階に分かれています Feb 23, 2023 pm 01:46 PM

サーブレットのライフ サイクルは、サーブレットの作成から破棄までのプロセス全体を指し、次の 3 つの段階に分けることができます: 1. 初期化段階、init() メソッドを呼び出してサーブレットを初期化する; 2. 実行段階 (リクエストの処理)、コンテナは、HTTP リクエストを表す ServletRequest オブジェクトと HTTP レスポンスを表す ServletResponse オブジェクトの作成を要求し、それらをパラメータとしてサーブレットの service() メソッドに渡します; 3. 破棄フェーズ。

Java の String.replace() 関数を使用して、文字列内の文字 (文字列) を置換します。 Java の String.replace() 関数を使用して、文字列内の文字 (文字列) を置換します。 Jul 25, 2023 pm 05:16 PM

Java の String.replace() 関数を使用して文字列内の文字 (文字列) を置換する Java では、文字列は不変オブジェクトです。つまり、文字列オブジェクトが作成されると、その値は変更できません。ただし、文字列内の特定の文字または文字列を置換する必要がある状況が発生する場合があります。現時点では、Java の String クラスの replace() メソッドを使用して文字列置換を実装できます。 String クラスの replace() メソッドには 2 つのタイプがあります。

iOS の開発者バージョンとパブリック バージョンの違いは何ですか? iOS の開発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

毎年、Apple が iOS と macOS の新しいメジャー バージョンをリリースする前に、ユーザーは数か月前にベータ版をダウンロードして最初に体験することができます。同ソフトウェアは一般ユーザーと開発者の両方が使用するため、Appleは開発者向けベータ版のパブリックベータ版である開発者版とパブリック版を両方向けに開始した。 iOS の開発者バージョンとパブリック バージョンの違いは何ですか?文字通りに言うと、開発者バージョンは開発者テスト バージョンであり、パブリック バージョンは公開テスト バージョンです。開発者バージョンとパブリック バージョンは、異なるユーザーを対象としています。開発者バージョンは、Apple が開発者によるテストのために使用します。ダウンロードしてアップグレードするには、Apple 開発者アカウントが必要です。

2wワード詳細説明文字列、yyds 2wワード詳細説明文字列、yyds Aug 24, 2023 pm 03:56 PM

皆さんこんにちは。今日は Java の基本知識である String についてお話します。 String クラスの重要性は言うまでもなく、バックエンド開発で最もよく使用されるクラスであるため、説明する必要があります。

See all articles