Flex + Hessian 学习笔记(三)

来源:互联网 发布:女生喜欢多大尺寸 知乎 编辑:程序博客网 时间:2024/06/01 08:05

使用Flex2 + Hessian + Spring 改进一下笔记(二)中的例子。
主要用Spring来替代HessianServlet (其它代码与上例相同,这里就不再重复)

web.xml 代码
  1. <context-param>  
  2.     <param-name>contextConfigLocation</param-name>  
  3.     <param-value>/WEB-INF/springconfig/*.xml</param-value>  
  4. </context-param>  
  5.   
  6. <listener>  
  7.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  8. </listener>  
  9.   
  10.    <servlet>  
  11.     <servlet-name>remoting</servlet-name>  
  12.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  13.    </servlet>  
  14.   
  15.    <servlet-mapping>  
  16.    <servlet-name>remoting</servlet-name>  
  17.    <url-pattern>/remoting/*</url-pattern>  
  18. </servlet-mapping>  
remoting-servlet.xml 代码
  1. <beans>  
  2.   
  3.     <bean name="/UserService" class="org.springframework.remoting.caucho.HessianServiceExporter">  
  4.         <property name="service" ref="userService"/>  
  5.         <property name="serviceInterface" value="myhessian.service.UserService"/>  
  6.     </bean>  
  7.       
  8. </beans>  
applicationContext-service.xml 代码
  1. <beans>  
  2.   
  3.     <bean id="userService" class="myhessian.service.UserServiceImpl">  
  4.     </bean>  
  5.        
  6. </beans>  

 java服务端只需添加上面的spring配置即可,这样就不再需要写HessianServlet了.
而在flex的客户端,只需要修改UserService中的服务地址就行了.

UserService.as 代码
  1. public class UserService extends BaseService {   
  2.        
  3.     private static var _userService : HessianService;   
  4.        
  5.     protected static function getUserService():HessianService {   
  6.         if (!_userService) {   
  7.             _userService = new HessianService("remoting/UserService");   
  8.         }   
  9.         return _userService;   
  10.     }   
  11.        
  12.     ...   
  13. }