netbeans flex 第一个demo

介绍

在“概念验证”中,您将创建一个Flex应用程序,该应用程序将Login-Data发送到Java-Servlet(也由NetBeans 6.5创建)。Servlet返回一个由Flex应用程序解释的答案。这是一个非常简单的应用程序,您应该只能看到使用FlexBean实现多么容易。


FlexBean插件

在使用NetBeans创建Flex应用程序之前,必须安装FlexBean插件按照安装说明进行操作。


创建Flex应用程序

创建一个新的“Flex应用程序”项目。

bild1


将项目命名为“ SimpleFlexApp ”并点击“ 完成 ”。

bild2


您现在可以看到新的项目与已打开的MXML文件。

bild3


使用此代码 替换“ Main.mxml ” 的内容


Main.mxml

01. <font><font><?xml version =“1.0”encoding =“utf-8”?></font></font><font></font><font><font>
02. <! - 将登录数据发送到Servlet的简单Flex应用程序</font></font><font></font><font><font>
03. 位于:http:// localhost:8084 // simplelogin / loginservlet</font></font><font></font>
04. <font></font><font><font>
05. @作者Siegfried Bolz</font></font><font></font><font><font>
06. - ></font></font><font></font>
07. <font></font><font><font>
08. <mx:application xmlns:mx =“http://www.adobe.com/2006/mxml”applicationComplete =“”color =“#FFFFFF”layout =“absolute”borderColor =“#FDFEFF”backgroundGradientAlphas =“[1.0, 1.0]“backgroundGradientColors =”[#205CF6,#01013D]“width =”400“height =”300“></font></font><font></font>
09. <font></font><font><font>
10. <mx:Script></font></font><font></font><font><font>
11. <![CDATA [</font></font><font></font>
12. <font></font><font><font>
13. import mx.events.ValidationResultEvent;</font></font><font></font><font><font>
14. import mx.controls.Alert;</font></font><font></font><font><font>
15. import mx.rpc.events.FaultEvent;</font></font><font></font><font><font>
16. import mx.rpc.events.ResultEvent;</font></font><font></font>
17. <font></font>
18. <font></font>
19. private function validateID(event:MouseEvent):Boolean{<font></font>
20. if (idValidator.validate().type == ValidationResultEvent.VALID) {<font></font>
21. return true;<font></font>
22. } else{<font></font>
23. Alert.show("Please insert an ID !");<font></font>
24. return false;<font></font>
25. }<font></font>
26. }<font></font>
27. <font></font>
28. <font></font>
29. private function validatePassword(event:MouseEvent):Boolean {<font></font>
30. if (passValidator.validate().type == ValidationResultEvent.VALID){<font></font>
31. return true;<font></font>
32. } else{<font></font>
33. Alert.show("Please insert a Password !");<font></font>
34. return false;<font></font>
35. }<font></font>
36. }<font></font>
37. <font></font>
38. <font></font>
39. private function checkLoginData(event:MouseEvent):void {<font></font>
40. if (validateID(event)==true && validatePassword(event)==true) {<font></font>
41. submitLoginData(txtID.text,txtPassword.text);<font></font>
42. }<font></font>
43. }<font></font>
44. <font></font>
45. <font></font>
46. <font></font>
47. private function submitLoginData(id:String, password:String):void {<font></font>
48. lblError.visible = false;<font></font>
49. var login:LoginVO = new LoginVO(id,password);<font></font>
50. loginService.cancel();<font></font>
51. loginService.send(login);<font></font>
52. }<font></font>
53. <font></font>
54. <font></font>
55. private function onResult(event:ResultEvent):void{<font></font>
56. var resultObj:Object = event.result;<font></font>
57. var result:String = resultObj.message;<font></font>
58. <font></font>
59. if (result=="true") {<font></font>
60. Alert.show('Login successful!');<font></font>
61. } else {<font></font>
62. Alert.show('Login denied!');<font></font>
63. }<font></font>
64. <font></font>
65. }<font></font>
66. <font></font>
67. <font></font>
68. private function serverFault(evt:FaultEvent):void {<font></font>
69. lblError.visible = true;<font></font>
70. }<font></font>
71. <font></font>
72. <font></font>
73. ]]><font></font>
74. </mx:Script><font></font>
75. <font></font>
76. <font></font>
77. <!-- Connection to the Server --><font></font>
78. <mx:HTTPService id="loginService" useProxy="false" method="POST"resultFormat="object"<font></font>
79. url="http://localhost:8084//simplelogin/loginservlet" result="onResult(event)"<font></font>
80. fault="serverFault(event);" /><font></font>
81. <font></font>
82. <!-- Validators --><font></font>
83. <mx:StringValidator id="idValidator" source="{txtID}" property="text"triggerEvent=""/><font></font>
84. <mx:StringValidator id="passValidator" source="{txtPassword}" property="text"triggerEvent=""/><font></font>
85. <font></font>
86. <!-- GUI Elements --><font></font>
87. <mx:Label text="Please insert your Login data" fontWeight="bold" x="122.5" y="32"fontSize="12"/><font></font>
88. <mx:Label text="ID" x="72" y="71" fontSize="11" fontWeight="bold"/><font></font>
89. <mx:Label text="Password" x="72" y="129" fontSize="11" fontWeight="bold"/><font></font>
90. <mx:TextInput x="72" y="87" editable="true" color="#010000" id="txtID"/><font></font>
91. <mx:TextInput x="72" y="144" color="#020000" displayAsPassword="true"id="txtPassword" editable="true"/><font></font>
92. <mx:Button x="72" y="195" label="Submit" id="cmdSubmit"click="checkLoginData(event)"/><font></font>
93. <mx:Label x="72" y="242" text="Error, wrong login data!" width="222" id="lblError"color="#FF0000" fontSize="16" fontWeight="bold" visible="false"/><font></font>
94. <font></font>
95. </mx:Application><font></font>


创建一个新的ActionScript文件,将其命名为“ LoginVO ”并将其粘贴到其中:


LoginVO.as

01. /**<font></font>
02. * Transfer-Object for the HTTPService-call.<font></font>
03. *<font></font>
04. * @author Siegfried Bolz<font></font>
05. */<font></font>
06. package<font></font>
07. {<font></font>
08. public class LoginVO {<font></font>
09. <font></font>
10. public var id:String;<font></font>
11. public var password:String;<font></font>
12. <font></font>
13. <font></font>
14. // Konstruktor<font></font>
15. public function LoginVO(id:String,password:String) {<font></font>
16. <font></font>
17. this.id = id;<font></font>
18. this.password = password;<font></font>
19. <font></font>
20. }<font></font>
21. <font></font>
22. }<font></font>
23. }<font></font>


bild5a1


您的项目必须如下所示:

bild4


构建项目,看看一切都正常。

bild5c


如果您收到此错误:“ 错误:找不到JVM ”:

bild5d


您的Flex SDK配置文件无效。打开位于“ <SDK> / BIN ”目录中的文件“ jvm.config ”,并检查变量“ java.home = ”是否设置为有效的Java JRE目录(删除最后一个斜杠!)。这是一个例子:

1. java.home=C:/Program Files/Java/jre1.6.0_07



Java Servlet

创建一个新的Java Web应用程序项目,将其命名为“ SimpleLogin ”,并使用URL-Pattern“ / loginservlet ” 添加一个Servlet(LoginServlet.java)

bild5b


将此代码粘贴到文件中:

LoginServlet.java

01. package eu.jdevelop.blog.flexbean;<font></font>
02. <font></font>
03. import java.io.IOException;<font></font>
04. import java.io.PrintWriter;<font></font>
05. import javax.servlet.ServletException;<font></font>
06. import javax.servlet.http.HttpServlet;<font></font>
07. import javax.servlet.http.HttpServletRequest;<font></font>
08. import javax.servlet.http.HttpServletResponse;<font></font>
09. <font></font>
10. /**<font></font>
11. * Login Servlet<font></font>
12. *<font></font>
13. * @author Siegfried Bolz<font></font>
14. */<font></font>
15. public class LoginServlet extends HttpServlet {<font></font>
16. <font></font>
17. /**<font></font>
18. * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.<font></font>
19. *<font></font>
20. * @param request servlet request<font></font>
21. * @param response servlet response<font></font>
22. * @throws ServletException if a servlet-specific error occurs<font></font>
23. * @throws IOException if an I/O error occurs<font></font>
24. */<font></font>
25. protected void processRequest(HttpServletRequest request, HttpServletResponse response)<font></font>
26. throws ServletException, IOException {<font></font>
27. response.setContentType("text/html;charset=UTF-8");<font></font>
28. PrintWriter out = response.getWriter();<font></font>
29. try {<font></font>
30. <font></font>
31. String id = request.getParameter("id");<font></font>
32. String password = request.getParameter("password");<font></font>
33. <font></font>
34. System.out.println("received data from the Flex Application: id=" + id + " password=" + password);<font></font>
35. <font></font>
36. if (id==null || password==null) {<font></font>
37. out.println("<message>false</message>");<font></font>
38. else {<font></font>
39. out.println("<message>true</message>");<font></font>
40. }<font></font>
41. <font></font>
42. catch (Exception x) {<font></font>
43. System.out.println("Error: " + x.getMessage());<font></font>
44. finally {<font></font>
45. out.close();<font></font>
46. }<font></font>
47. }<font></font>
48. <font></font>
49. // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."><font></font>
50. /**<font></font>
51. * Handles the HTTP <code>GET</code> method.<font></font>
52. * @param request servlet request<font></font>
53. * @param response servlet response<font></font>
54. * @throws ServletException if a servlet-specific error occurs<font></font>
55. * @throws IOException if an I/O error occurs<font></font>
56. */<font></font>
57. @Override<font></font>
58. protected void doGet(HttpServletRequest request, HttpServletResponse response)<font></font>
59. throws ServletException, IOException {<font></font>
60. processRequest(request, response);<font></font>
61. }<font></font>
62. <font></font>
63. /**<font></font>
64. * Handles the HTTP <code>POST</code> method.<font></font>
65. * @param request servlet request<font></font>
66. * @param response servlet response<font></font>
67. * @throws ServletException if a servlet-specific error occurs<font></font>
68. * @throws IOException if an I/O error occurs<font></font>
69. */<font></font>
70. @Override<font></font>
71. protected void doPost(HttpServletRequest request, HttpServletResponse response)<font></font>
72. throws ServletException, IOException {<font></font>
73. processRequest(request, response);<font></font>
74. }<font></font>
75. <font></font>
76. /**<font></font>
77. * Returns a short description of the servlet.<font></font>
78. * @return a String containing servlet description<font></font>
79. */<font></font>
80. @Override<font></font>
81. public String getServletInfo() {<font></font>
82. return "Short description";<font></font>
83. }// </editor-fold><font></font>
84. <font></font>
85. }<font></font>


bild6


启动应用程序

首先启动Java Servlet而不是Flex应用程序。

bild7


Flash Player打开。

bild8


插入一些数据并单击“ 提交 ”将输入发送到Java Servlet。

bild9


如果连接设置好(检查“ Main.mxml ”中的HTTPService),您将收到一个肯定的答案。

bild10


如您所见,可以在Flex环境中使用NetBeans,但是需要通过FlexBean-Plugin替换Adobe Flex Builder进行许多改进。Arnaud Vincent以新的方式丰富了NetBeans-Community,NetBeans如何可以用于今天的发展。它显示了NetBeans平台的灵活性,以满足未来的需求。


下载

NetBeans 6.5 Flex项目:下载
NetBeans 6.5 Java Servlet项目:下载
Adobe Flex Builder 3项目:下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值