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

Flex 与 servlet 通信(Httpservice)

发布时间:2020-12-15 01:29:39 所属栏目:百科 来源:网络整理
导读:之前flex与java通信一直用remoteobject,今天尝试了一下Httpservice,具体实现方法请往下看吧: 1 打开eclipse,新建web project工程,命名为 servletTest 2 在web.xml文件里面添加如下代码 Java代码 servlet ?? ????????servlet-nameMyServlet/servlet-name

之前flex与java通信一直用remoteobject,今天尝试了一下Httpservice,具体实现方法请往下看吧:
1 打开eclipse,新建web project工程,命名为 servletTest
2 在web.xml文件里面添加如下代码

Java代码

复制代码

  1. <servlet> ??
  2. ????????<servlet-name>MyServlet</servlet-name> ??
  3. ????????<servlet-class>com.ultra.test.MyServlet</servlet-class> ??
  4. ????</servlet> ??
  5. ????<servlet-mapping> ??
  6. ????????<servlet-name>MyServlet</servlet-name> ??
  7. ????????<url-pattern>/MyServlet/*</url-pattern> ??
  8. ????</servlet-mapping>??



3 新建MyServlet.java文件,继承 HttpServlet
代码如下:

Java代码

复制代码

  1. package?com.ultra.test; ??
  2. ??
  3. import?java.io.IOException;?? ??
  4. import?java.io.PrintWriter; ??
  5. ??
  6. import?javax.servlet.http.HttpServlet; ??
  7. import?javax.servlet.http.HttpServletResponse;? ??
  8. import?javax.servlet.http.HttpServletRequest; ??
  9. import?javax.servlet.ServletException;? ??
  10. ??
  11. public?class?MyServlet?extends?HttpServlet?{ ??
  12. ???? ??
  13. ????private?static?final?long?serialVersionUID?=?1L;??? ??
  14. ?????? ??
  15. ????????public?MyServlet()?{??? ??
  16. ????????????super();??? ??
  17. ????????}??? ??
  18. ?????? ??
  19. ????????protected?void?doGet(HttpServletRequest?request,??? ??
  20. ????????????????HttpServletResponse?response)?throws?ServletException,?IOException?{??? ??
  21. ????????????String?result?=?getHelloWorld(request,?response);??? ??
  22. ???????????? ??
  23. ????????????PrintWriter?p?=?response.getWriter(); ??
  24. ????????????response.setContentType("text/xml"); ??
  25. ????????????p.print(result); ??
  26. ????????????System.out.println("……………………………………………返回结果…………………………………………………"?+?result); ??
  27. ????????}??? ??
  28. ?????? ??
  29. ????????protected?void?doPost(HttpServletRequest?request,??? ??
  30. ????????????HttpServletResponse?response)?throws?ServletException,?IOException?{ ??
  31. ????????????doGet(request,?response);??? ??
  32. ????????} ??
  33. ???????? ??
  34. ????????private?String?getHelloWorld(HttpServletRequest?request,??? ??
  35. ????????????????HttpServletResponse?response) ??
  36. ????????{ ??
  37. ????????????String?backString; ??
  38. ????????????String?methodName?=?request.getParameter("name"); ??
  39. ????????????backString?=?"Hello?"?+?methodName?+?"?!"; ??
  40. ????????????return?backString; ??
  41. ????????} ??
  42. }??



好了,部署到tomcat里面,后台到此结束。

再来看前台:
1 新建 flex project工程 ,命名ServletTest
2 在ServletTest.mxml里面添加代码

Java代码

复制代码

  1. <?xml?version="1.0"?encoding="utf-8"?> ??
  2. <s:Application?xmlns:fx="http://ns.adobe.com/mxml/2009"? ??
  3. ???????????????xmlns:s="library://ns.adobe.com/flex/spark"? ??
  4. ???????????????xmlns:mx="library://ns.adobe.com/flex/mx"?minWidth="955"?minHeight="600"> ??
  5. ??
  6. ????<fx:Script> ??
  7. ????????<![CDATA[ ??
  8. ????????????import?mx.rpc.events.ResultEvent; ??
  9. ????????????protected?function?getText_clickHandler(event:MouseEvent):void??
  10. ????????????{ ??
  11. ????????????????service.method?=?"get"; ??
  12. ????????????????service.resultFormat="text"; ??
  13. ????????????????service.useProxy=false; ??
  14. ????????????????service.addEventListener(ResultEvent.RESULT,?resultHandler); ??
  15. ????????????????var?obj:Object?=?new?Object; ??
  16. ????????????????obj.name?=?txt1.text; ??
  17. ????????????????service.send(obj); ??
  18. ????????????} ??
  19. ???????????? ??
  20. ????????????private?function?resultHandler(event:ResultEvent):void??
  21. ????????????{ ??
  22. ????????????????var?result:String?=?String(event.result); ??
  23. ????????????????txt2.text?=?result; ??
  24. ????????????} ??
  25. ????????]]> ??
  26. ????</fx:Script> ??
  27. ??
  28. ????<fx:Declarations> ??
  29. ????????<!--?Place?non-visual?elements?(e.g.,?services,?value?objects)?here?--> ??
  30. ????????<s:HTTPService?id="service"?url="http://localhost:8080/ServletTest/MyServlet"?/> ??
  31. ????</fx:Declarations> ??
  32. ???? ??
  33. ????<s:Panel?width="400"?height="500"> ??
  34. ????????<s:TextInput?id="txt1"?width="50"?x="50"?y="10"/> ??
  35. ????????<s:Button?id="getText"?x="50"?y="50"?label="获取数据"?click="getText_clickHandler(event)"/> ??
  36. ????????<s:TextInput?id="txt2"?x="50"?y="100"?width="100"/> ??
  37. ????</s:Panel> ??
  38. </s:Application>??

最后重要的一步: 右键点击工程名: properties --> flex server Application server type 选择为 J2EE 去掉 use remote object addess service 配置Server location 我的是: Web root:D:/server/apache-tomcat-6.0.18/webapps/ServletTest root URL:http://localhost:8080/ServletTest 这样就可以了!运行,OK!

(编辑:李大同)

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

    推荐文章
      热点阅读