加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex+Spring配置

发布时间:2020-12-15 04:57:12 所属栏目:百科 来源:网络整理
导读:转载:Flex+Spring配置 ????flex拓扑图制作只是一个简单的例子,可以运行,只是简单的呈现部分,如果要实现具体的拓扑图的功能,需要连接数据库,这里只简单说说flex与spring的结合,有了spring,再与hibernate以及struts就简单多了。 ???? 1、首先是web.xml
转载:Flex+Spring配置

????flex拓扑图制作只是一个简单的例子,可以运行,只是简单的呈现部分,如果要实现具体的拓扑图的功能,需要连接数据库,这里只简单说说flex与spring的结合,有了spring,再与hibernate以及struts就简单多了。
???? 1、首先是web.xml需要添加flex的配置,增加如下的内容:
?????

Java代码

?

  1. <listener> ??
  2. ????????<listener-class>flex.messaging.HttpFlexSession</listener-class> ??
  3. ????</listener>? ??
  4. ???? ??
  5. ????<!--?MessageBroker?Servlet?--> ??
  6. ????<servlet> ??
  7. ????????<servlet-name>MessageBrokerServlet</servlet-name> ??
  8. ????????<display-name>MessageBrokerServlet</display-name> ??
  9. ????????<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> ??
  10. ????????<init-param> ??
  11. ????????????<param-name>services.configuration.file</param-name> ??
  12. ????????????<param-value>/WEB-INF/flex/services-config.xml</param-value> ??
  13. ???????</init-param> ??
  14. ????????<init-param> ??
  15. ????????????<param-name>flex.write.path</param-name> ??
  16. ????????????<param-value>/WEB-INF/flex</param-value> ??
  17. ????????</init-param> ??
  18. ????????<load-on-startup>1</load-on-startup> ??
  19. ????</servlet> ??
  20. ??
  21. ????<servlet> ??
  22. ????????<servlet-name>FlexMxmlServlet</servlet-name> ??
  23. ????????<display-name>MXML?Processor</display-name> ??
  24. ????????<description>Servlet?wrapper?for?the?Mxml?Compiler</description> ??
  25. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  26. ????????<init-param> ??
  27. ????????????<param-name>servlet.class</param-name> ??
  28. ????????????<param-value>flex.webtier.server.j2ee.MxmlServlet</param-value> ??
  29. ????????</init-param> ??
  30. ????????<init-param> ??
  31. ????????????<param-name>webtier.configuration.file</param-name> ??
  32. ????????????<param-value>/WEB-INF/flex/flex-webtier-config.xml</param-value> ??
  33. ????????</init-param> ??
  34. ???????<load-on-startup>1</load-on-startup> ??
  35. ????</servlet> ??
  36. ??
  37. ????<servlet> ??
  38. ????????<servlet-name>FlexSwfServlet</servlet-name> ??
  39. ????????<display-name>SWF?Retriever</display-name> ??
  40. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  41. ????????<init-param> ??
  42. ????????????<param-name>servlet.class</param-name> ??
  43. ????????????<param-value>flex.webtier.server.j2ee.SwfServlet</param-value> ??
  44. ????????</init-param> ??
  45. ????????<!--?SwfServlet?must?be?initialized?after?MxmlServlet?--> ??
  46. ????????<load-on-startup>2</load-on-startup> ??
  47. ????</servlet> ??
  48. ??
  49. ????<servlet> ??
  50. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  51. ????????<display-name>Prevents?access?to?*.as/*.swc?files</display-name> ??
  52. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  53. ????????<init-param> ??
  54. ????????????<param-name>servlet.class</param-name> ??
  55. ????????????<param-value>flex.webtier.server.j2ee.ForbiddenServlet</param-value> ??
  56. ????????</init-param> ??
  57. ????</servlet> ??
  58. ??
  59. ????<servlet> ??
  60. ????????<servlet-name>FlexInternalServlet</servlet-name> ??
  61. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  62. ????????<init-param> ??
  63. ????????????<param-name>servlet.class</param-name> ??
  64. ????????????<param-value>flex.webtier.server.j2ee.filemanager.FileManagerServlet</param-value> ??
  65. ????????</init-param> ??
  66. ????????<load-on-startup>10</load-on-startup> ??
  67. ????</servlet> ??
  68. ??
  69. ????<servlet-mapping> ??
  70. ????????<servlet-name>MessageBrokerServlet</servlet-name> ??
  71. ????????<url-pattern>/messagebroker/*</url-pattern> ??
  72. ????</servlet-mapping> ??
  73. ??
  74. ????<servlet-mapping> ??
  75. ????????<servlet-name>FlexMxmlServlet</servlet-name> ??
  76. ????????<url-pattern>*.mxml</url-pattern> ??
  77. ????</servlet-mapping> ??
  78. ??
  79. ????<servlet-mapping> ??
  80. ????????<servlet-name>FlexSwfServlet</servlet-name> ??
  81. ????????<url-pattern>*.swf</url-pattern> ??
  82. ????</servlet-mapping> ??
  83. ??
  84. ????<servlet-mapping> ??
  85. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  86. ????????<url-pattern>*.as</url-pattern> ??
  87. ????</servlet-mapping> ??
  88. ??
  89. ????<servlet-mapping> ??
  90. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  91. ????????<url-pattern>*.swc</url-pattern> ??
  92. ????</servlet-mapping> ??
  93. ??
  94. ????<servlet-mapping> ??
  95. ????????<servlet-name>FlexInternalServlet</servlet-name> ??
  96. ????????<url-pattern>/flex-internal/*</url-pattern> ??
  97. ????</servlet-mapping> ??
  98. ??????
Java代码

?

  1. <listener> ??
  2. ????????<listener-class>flex.messaging.HttpFlexSession</listener-class> ??
  3. ????</listener>? ??
  4. ???? ??
  5. ????<!--?MessageBroker?Servlet?--> ??
  6. ????<servlet> ??
  7. ????????<servlet-name>MessageBrokerServlet</servlet-name> ??
  8. ????????<display-name>MessageBrokerServlet</display-name> ??
  9. ????????<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> ??
  10. ????????<init-param> ??
  11. ????????????<param-name>services.configuration.file</param-name> ??
  12. ????????????<param-value>/WEB-INF/flex/services-config.xml</param-value> ??
  13. ???????</init-param> ??
  14. ????????<init-param> ??
  15. ????????????<param-name>flex.write.path</param-name> ??
  16. ????????????<param-value>/WEB-INF/flex</param-value> ??
  17. ????????</init-param> ??
  18. ????????<load-on-startup>1</load-on-startup> ??
  19. ????</servlet> ??
  20. ??
  21. ????<servlet> ??
  22. ????????<servlet-name>FlexMxmlServlet</servlet-name> ??
  23. ????????<display-name>MXML?Processor</display-name> ??
  24. ????????<description>Servlet?wrapper?for?the?Mxml?Compiler</description> ??
  25. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  26. ????????<init-param> ??
  27. ????????????<param-name>servlet.class</param-name> ??
  28. ????????????<param-value>flex.webtier.server.j2ee.MxmlServlet</param-value> ??
  29. ????????</init-param> ??
  30. ????????<init-param> ??
  31. ????????????<param-name>webtier.configuration.file</param-name> ??
  32. ????????????<param-value>/WEB-INF/flex/flex-webtier-config.xml</param-value> ??
  33. ????????</init-param> ??
  34. ???????<load-on-startup>1</load-on-startup> ??
  35. ????</servlet> ??
  36. ??
  37. ????<servlet> ??
  38. ????????<servlet-name>FlexSwfServlet</servlet-name> ??
  39. ????????<display-name>SWF?Retriever</display-name> ??
  40. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  41. ????????<init-param> ??
  42. ????????????<param-name>servlet.class</param-name> ??
  43. ????????????<param-value>flex.webtier.server.j2ee.SwfServlet</param-value> ??
  44. ????????</init-param> ??
  45. ????????<!--?SwfServlet?must?be?initialized?after?MxmlServlet?--> ??
  46. ????????<load-on-startup>2</load-on-startup> ??
  47. ????</servlet> ??
  48. ??
  49. ????<servlet> ??
  50. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  51. ????????<display-name>Prevents?access?to?*.as/*.swc?files</display-name> ??
  52. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  53. ????????<init-param> ??
  54. ????????????<param-name>servlet.class</param-name> ??
  55. ????????????<param-value>flex.webtier.server.j2ee.ForbiddenServlet</param-value> ??
  56. ????????</init-param> ??
  57. ????</servlet> ??
  58. ??
  59. ????<servlet> ??
  60. ????????<servlet-name>FlexInternalServlet</servlet-name> ??
  61. ????????<servlet-class>flex.bootstrap.BootstrapServlet</servlet-class> ??
  62. ????????<init-param> ??
  63. ????????????<param-name>servlet.class</param-name> ??
  64. ????????????<param-value>flex.webtier.server.j2ee.filemanager.FileManagerServlet</param-value> ??
  65. ????????</init-param> ??
  66. ????????<load-on-startup>10</load-on-startup> ??
  67. ????</servlet> ??
  68. ??
  69. ????<servlet-mapping> ??
  70. ????????<servlet-name>MessageBrokerServlet</servlet-name> ??
  71. ????????<url-pattern>/messagebroker/*</url-pattern> ??
  72. ????</servlet-mapping> ??
  73. ??
  74. ????<servlet-mapping> ??
  75. ????????<servlet-name>FlexMxmlServlet</servlet-name> ??
  76. ????????<url-pattern>*.mxml</url-pattern> ??
  77. ????</servlet-mapping> ??
  78. ??
  79. ????<servlet-mapping> ??
  80. ????????<servlet-name>FlexSwfServlet</servlet-name> ??
  81. ????????<url-pattern>*.swf</url-pattern> ??
  82. ????</servlet-mapping> ??
  83. ??
  84. ????<servlet-mapping> ??
  85. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  86. ????????<url-pattern>*.as</url-pattern> ??
  87. ????</servlet-mapping> ??
  88. ??
  89. ????<servlet-mapping> ??
  90. ????????<servlet-name>FlexForbiddenServlet</servlet-name> ??
  91. ????????<url-pattern>*.swc</url-pattern> ??
  92. ????</servlet-mapping> ??
  93. ??
  94. ????<servlet-mapping> ??
  95. ????????<servlet-name>FlexInternalServlet</servlet-name> ??
  96. ????????<url-pattern>/flex-internal/*</url-pattern> ??
  97. ????</servlet-mapping> ??
  98. ??????


??? 2、在spring的配置文件中增加:
???

Java代码

?

  1. <bean?id="topoMapViewService"?parent="baseTransaction"> ??
  2. ????????????<property?name="target"> ??
  3. ????????????????????<bean ??
  4. ????????????????????????????class="com.jeffrey.nms.service.impl.TopoServiceImpl"><!---这里的方法可以通过flex进行调用---> ??
  5. ????????????????????????????<property?name="topoMapDao"?ref="topoMapDao"?/> ??
  6. ????????????????????????????<property?name="linkInfoDao"?ref="linkInfoDao"?/> ??
  7. ????????????????????</bean> ??
  8. ????????????</property> ??
  9. ????</bean> ??
Java代码

?

  1. <bean?id="topoMapViewService"?parent="baseTransaction"> ??
  2. ????????????<property?name="target"> ??
  3. ????????????????????<bean ??
  4. ????????????????????????????class="com.jeffrey.nms.service.impl.TopoServiceImpl"><!---这里的方法可以通过flex进行调用---> ??
  5. ????????????????????????????<property?name="topoMapDao"?ref="topoMapDao"?/> ??
  6. ????????????????????????????<property?name="linkInfoDao"?ref="linkInfoDao"?/> ??
  7. ????????????????????</bean> ??
  8. ????????????</property> ??
  9. ????</bean> ??


??? 3、然后需要配置flex的配置文件,flex文件下有个services-config.xml,
增加:
???

Java代码

?

  1. <factories> ??
  2. ??<factory?id="spring"?class="com.jeffrey.nms.web.topo.SpringFactory"/> ??
  3. </factories> ??
Java代码

?

  1. <factories> ??
  2. ??<factory?id="spring"?class="com.jeffrey.nms.web.topo.SpringFactory"/> ??
  3. </factories> ??


??? 其中类如下(通过网上查的)
????

Java代码

?

  1. ????package?com.jeffrey.nms.web.topo; ??
  2. ??
  3. import?org.springframework.context.ApplicationContext; ??
  4. import?org.springframework.web.context.support.WebApplicationContextUtils; ??
  5. import?org.springframework.beans.BeansException; ??
  6. import?org.springframework.beans.factory.NoSuchBeanDefinitionException; ??
  7. ??
  8. import?flex.messaging.FactoryInstance; ??
  9. import?flex.messaging.FlexFactory; ??
  10. import?flex.messaging.config.ConfigMap; ??
  11. import?flex.messaging.services.ServiceException; ??
  12. ??
  13. public?class?SpringFactory?implements?FlexFactory ??
  14. { ??
  15. ????private?static?final?String?SOURCE?=?"source"; ??
  16. ??
  17. ???? ??
  18. ????public?void?initialize(String?id,?ConfigMap?configMap)?{} ??
  19. ??
  20. ??? ??
  21. ????public?FactoryInstance?createFactoryInstance(String?id,?ConfigMap?properties) ??
  22. ????{ ??
  23. ????????SpringFactoryInstance?instance?=?new?SpringFactoryInstance(this,?id,?properties); ??
  24. ????????instance.setSource(properties.getPropertyAsString(SOURCE,?instance.getId())); ??
  25. ????????return?instance; ??
  26. ????}?//?end?method?createFactoryInstance() ??
  27. ??
  28. ?? ??
  29. ????public?Object?lookup(FactoryInstance?inst) ??
  30. ????{ ??
  31. ????????SpringFactoryInstance?factoryInstance?=?(SpringFactoryInstance)?inst; ??
  32. ????????return?factoryInstance.lookup(); ??
  33. ????}? ??
  34. ??
  35. ??
  36. ????static?class?SpringFactoryInstance?extends?FactoryInstance ??
  37. ????{ ??
  38. ????????SpringFactoryInstance(SpringFactory?factory,?String?id,?ConfigMap?properties) ??
  39. ????????{ ??
  40. ????????????super(factory,?properties); ??
  41. ????????} ??
  42. ??
  43. ??
  44. ????????public?String?toString() ??
  45. ????????{ ??
  46. ????????????return?"SpringFactory?instance?for?id="?+?getId()?+?"?source="?+?getSource()?+?"?scope="?+?getScope(); ??
  47. ????????} ??
  48. ??
  49. ????????public?Object?lookup()? ??
  50. ????????{ ??
  51. ????????????ApplicationContext?appContext?=?WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext()); ??
  52. ????????????String?beanName?=?getSource(); ??
  53. ??
  54. ????????????try??
  55. ????????????{ ??
  56. ????????????????return?appContext.getBean(beanName); ??
  57. ????????????} ??
  58. ????????????catch?(NoSuchBeanDefinitionException?nexc) ??
  59. ????????????{ ??
  60. ????????????????ServiceException?e?=?new?ServiceException(); ??
  61. ????????????????String?msg?=?"Spring?service?named?'"?+?beanName?+?"'?does?not?exist."; ??
  62. ????????????????e.setMessage(msg); ??
  63. ????????????????e.setRootCause(nexc); ??
  64. ????????????????e.setDetails(msg); ??
  65. ????????????????e.setCode("Server.Processing"); ??
  66. ????????????????throw?e; ??
  67. ????????????} ??
  68. ????????????catch?(BeansException?bexc) ??
  69. ????????????{ ??
  70. ????????????????ServiceException?e?=?new?ServiceException(); ??
  71. ????????????????String?msg?=?"Unable?to?create?Spring?service?named?'"?+?beanName?+?"'?"; ??
  72. ????????????????e.setMessage(msg); ??
  73. ????????????????e.setRootCause(bexc); ??
  74. ????????????????e.setDetails(msg); ??
  75. ????????????????e.setCode("Server.Processing"); ??
  76. ????????????????throw?e; ??
  77. ????????????}? ??
  78. ????????} ??
  79. ???????? ??
  80. ????}? ??
  81. ??
  82. }? ??
  83. ??????
Java代码

?

  1. ????package?com.jeffrey.nms.web.topo; ??
  2. ??
  3. import?org.springframework.context.ApplicationContext; ??
  4. import?org.springframework.web.context.support.WebApplicationContextUtils; ??
  5. import?org.springframework.beans.BeansException; ??
  6. import?org.springframework.beans.factory.NoSuchBeanDefinitionException; ??
  7. ??
  8. import?flex.messaging.FactoryInstance; ??
  9. import?flex.messaging.FlexFactory; ??
  10. import?flex.messaging.config.ConfigMap; ??
  11. import?flex.messaging.services.ServiceException; ??
  12. ??
  13. public?class?SpringFactory?implements?FlexFactory ??
  14. { ??
  15. ????private?static?final?String?SOURCE?=?"source"; ??
  16. ??
  17. ???? ??
  18. ????public?void?initialize(String?id,?ConfigMap?configMap)?{} ??
  19. ??
  20. ??? ??
  21. ????public?FactoryInstance?createFactoryInstance(String?id,?ConfigMap?properties) ??
  22. ????{ ??
  23. ????????SpringFactoryInstance?instance?=?new?SpringFactoryInstance(this,?properties); ??
  24. ????????instance.setSource(properties.getPropertyAsString(SOURCE,?instance.getId())); ??
  25. ????????return?instance; ??
  26. ????}?//?end?method?createFactoryInstance() ??
  27. ??
  28. ?? ??
  29. ????public?Object?lookup(FactoryInstance?inst) ??
  30. ????{ ??
  31. ????????SpringFactoryInstance?factoryInstance?=?(SpringFactoryInstance)?inst; ??
  32. ????????return?factoryInstance.lookup(); ??
  33. ????}? ??
  34. ??
  35. ??
  36. ????static?class?SpringFactoryInstance?extends?FactoryInstance ??
  37. ????{ ??
  38. ????????SpringFactoryInstance(SpringFactory?factory,?properties); ??
  39. ????????} ??
  40. ??
  41. ??
  42. ????????public?String?toString() ??
  43. ????????{ ??
  44. ????????????return?"SpringFactory?instance?for?id="?+?getId()?+?"?source="?+?getSource()?+?"?scope="?+?getScope(); ??
  45. ????????} ??
  46. ??
  47. ????????public?Object?lookup()? ??
  48. ????????{ ??
  49. ????????????ApplicationContext?appContext?=?WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext()); ??
  50. ????????????String?beanName?=?getSource(); ??
  51. ??
  52. ????????????try??
  53. ????????????{ ??
  54. ????????????????return?appContext.getBean(beanName); ??
  55. ????????????} ??
  56. ????????????catch?(NoSuchBeanDefinitionException?nexc) ??
  57. ????????????{ ??
  58. ????????????????ServiceException?e?=?new?ServiceException(); ??
  59. ????????????????String?msg?=?"Spring?service?named?'"?+?beanName?+?"'?does?not?exist."; ??
  60. ????????????????e.setMessage(msg); ??
  61. ????????????????e.setRootCause(nexc); ??
  62. ????????????????e.setDetails(msg); ??
  63. ????????????????e.setCode("Server.Processing"); ??
  64. ????????????????throw?e; ??
  65. ????????????} ??
  66. ????????????catch?(BeansException?bexc) ??
  67. ????????????{ ??
  68. ????????????????ServiceException?e?=?new?ServiceException(); ??
  69. ????????????????String?msg?=?"Unable?to?create?Spring?service?named?'"?+?beanName?+?"'?"; ??
  70. ????????????????e.setMessage(msg); ??
  71. ????????????????e.setRootCause(bexc); ??
  72. ????????????????e.setDetails(msg); ??
  73. ????????????????e.setCode("Server.Processing"); ??
  74. ????????????????throw?e; ??
  75. ????????????}? ??
  76. ????????} ??
  77. ???????? ??
  78. ????}? ??
  79. ??
  80. }? ??
  81. ??????


??? 4、本人做flex时是使用的直接调用java的运程类,以下都是按照这个配置的,还有一个webservice的方法,各位可以收集收集。
???? 在flex文件夹下有个remoting-config.xml文件,需要增加:
????

Java代码

?

  1. ?<destination?id="topoMap"> ??
  2. <properties> ??
  3. ????<factory>spring</factory> ??
  4. ????<source>topoMapViewService</source> ??
  5. </properties> ??
  6. lt;/destination> ??
Java代码

?

  1. ?<destination?id="topoMap"> ??
  2. <properties> ??
  3. ????<factory>spring</factory> ??
  4. ????<source>topoMapViewService</source> ??
  5. </properties> ??
  6. lt;/destination> ??


???? 这样topoMap可以在flex进行定义了,如下: ?? <mx:RemoteObject id="topo" destination="topoMap"> ?? 这样flex+spring配置即完成。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读