一个PHPRPC的JAVA例程
PHPRPC 最大的一个亮点就是它支持在浏览器环境中通过 JavaScript 来调用服务器端的函数与方法,它将你以前用传统的 ajax 方式做不到或者很难做到的事情变得轻而易举!而在这个亮点中更大的亮点是,它还支持在浏览器环境中直接跨域调用。而且在跨域方面,它还针对不同的应用作了不同的实现。这是 SOAP 所做不到的。一个PHPRPC的JAVA小例程,实现用户名的检测
客户端(server_user.jsp):
<html><TITLE> Sign users </TITLE><head><script type="text/javascript" src="phprpc_client.js"></script></head><body><div align="center">帐号:<input type="text" id="username" />密码:<input type="password" id="password" /><input type="button" value="登录" id="loginbtn" /></div><div id="feedback"></div> <script type="text/javascript">... var username = document.getElementById('username').value; var password = document.getElementById('password').value; var feedback = document.getElementById('feedback'); var rpc_client = new PHPRPC_Client('http://localhost:8080/phprpc/signuser/server_user.jsp', ['validate']); document.getElementById("loginbtn").onclick= function() ...{ feedback.innerHTML = "waiting..."; rpc_client.validate(username, function (result) ...{ feedback.innerHTML= result; }); } </script></body></html>
服务器端(server.jsp):
<%@ page import="org.phprpc.*" %> <%@ page import="classmate.*" %> <% PHPRPC_Server phprpc_server = new PHPRPC_Server(); SignUpAction sign=new SignUpAction(); phprpc_server.add("validate", sign); phprpc_server.start(request, response); %>
类方法 (两个:SignUpAction.java,DB.java):
package classmate;import java.io.IOException;import java.io.PrintWriter;import java.sql.*;public class SignUpAction ...{ public String validate(String uname)...{ String result=""; //创建输出流对象 //数据库操作 DB db = new DB(); ResultSet rs; int insRes = 0; String strSql=null; //判断用户名是否重复 strSql = "select * from users where Uname='" + uname + "'"; rs = db.executeQuery(strSql); try...{ if (!rs.next()) ...{ result="user is ok"; } else...{ result="user is occpied"; } } catch(SQLException e)...{ e.printStackTrace(); } return result; }}
页:
[1]