1.需要在web.xml中配置
web.xml文件:
<!--PHPRPC for JAVASPRING -->
<servlet>
<servlet-name>phprpc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置spring配置文件的路径-->
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/phprpc-servlet-front-action.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>phprpc</servlet-name>
<url-pattern>/phprpc/*</url-pattern>
</servlet-mapping>
2. 配置spring
我的是配置文件在WEB-INF/config/phprpc-servlet-front-action.xml:
相关内容为:
<!-- phprpc for javaspring -->
<!--appservice中要注入的内容,需要set和get方法。同时此处用property配置好。不讲详细了-->
<bean id="appservice" class="com.phprpc.sso.service.ApplicationService">
<property name="userMng" ref="userMng"></property>
</bean>
<!--这里是关键。"/appservice.jspx"表示要访问的路径为http://localhost:8080/项目名/phprpc/appservice.jspx-->
<bean name="/appservice.jspx" class="org.phprpc.spring.remoting.PHPRPC_Exporter">
<!-- service属性是 -->
<property name="service" ref="appservice" /><!--具体操作,实现类,即上边配置的appservicebean-->
<!--配置接口,即上边配置的appservicebean实现的接口-->
<property name="serviceInterface" value="com.phprpc.sso.server.Application" />
</bean>
第二步配置好后,在地址栏中键入"http://localhost:8080/项目名/phprpc/appservice.jspx"就得到类似下面的结果。如果现实,配置成功。
phprpc_functions="YToxMjp7aTowO3M6MTg6ImxpdmVwcm9kdWNlZXhlY3V0ZSI7aToxO3M6ODoicmVnaXN0ZXIiO2k6MjtzOjc6ImRvYXVkaXQiO2k6MztzOjIwOiJkdXBsaWNhdGV0YXNrZXhlY3V0ZSI7aTo0O3M6MTg6InVwbG9hZHZpZGVvZXhlY3V0ZSI7aTo1O3M6MTk6InZpZGVvcHJvZHVjZWV4ZWN1dGUiO2k6NjtzOjE5OiJsaXZld3JhcHBpbmdleGVjdXRlIjtpOjc7czoxMjoiZ2V0dHJhbnN0YXNrIjtpOjg7czozNDoidmlkZW9zb3VyY2Vwcm9kdWNlaW52ZW50b3J5ZXhlY3V0ZSI7aTo5O3M6MzM6InZpZGVvc291cmNlcHJvZHVjZXN1cHByZXNzZXhlY3V0ZSI7aToxMDtzOjE1OiJwb3N0dHJhbnNyZXBvcnQiO2k6MTE7czoxNzoicmV2aWV3ZWRpdGV4ZWN1dGUiO30=";
注意:本人最开始在测试时没有加上项目名,因此访问得到的是空的页面,同学们请注意带上。如上的phprpc对应于<servlet-mapping>里面的url-pattern。
其实phprpc的得到的function实际上是做了Base64的加密的,如上的字符串经过Base64 Decode后就变成了:
a:12:{i:0;s:18:"liveproduceexecute";i:1;s:8:"register";i:2;s:7:"doaudit";i:3;s:20:"duplicatetaskexecute";i:4;s:18:"uploadvideoexecute";i:5;s:19:"videoproduceexecute";i:6;s:19:"livewrappingexecute";i:7;s:12:"gettranstask";i:8;s:34:"videosourceproduceinventoryexecute";i:9;s:33:"videosourceproducesuppressexecute";i:10;s:15:"posttransreport";i:11;s:17:"revieweditexecute";}
这里得到的就是我们phprpc所发布的接口。