Flex4+BlazeDS+JAVA+MySql 构建J2EE工程 对用户信息进行管理实例
要求
关于 Myeclipse10.6+Flash Builder 4.6插件安装配置 请阅读:
Myeclipse10.6+Flash Builder 4.6安装配置
程序截图:
程序部分代码
UserDao.java
- package Dao;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import tool.ConvertJson;
- import tool.JDBCUtilSingle;
- import bean.User;
- public class UserDao {
- /**
- * 初始化10条数据
- */
- private void initData(){
- Connection connection=null;
- PreparedStatement statement=null;
- ResultSet rs=null;
- connection=JDBCUtilSingle.getInitJDBCUtil().getConnection();
- String sql="truncate usermanagement_user";
- String sql2="INSERT INTO `usermanagement_user` VALUES (1,'licheng','test@qq.com','189********','湖南长沙'),(2,'张三','test@gmail.com','150********','北京'),(3,'李四','test@sou.com.cn','188********','上海'),(4,'王五','test@sina.com','135********','南京'),(5,'赵六','test@163.com','138********','成都');";
- try {
- statement=connection.prepareStatement(sql);
- statement.executeUpdate();
- statement=connection.prepareStatement(sql2);
- statement.executeUpdate();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- JDBCUtilSingle.getInitJDBCUtil().closeConnection(rs, statement, connection);
- }
- }
- /**
- * 获取用户信息
- * @return 装载用户信息的集合列表
- */
- public ArrayList<User> getList(){
- ArrayList<User> users=new ArrayList<User>();
- Connection connection=null;
- PreparedStatement statement=null;
- ResultSet rs=null;
- connection=JDBCUtilSingle.getInitJDBCUtil().getConnection();
- String sql="select * from usermanagement_user";
- try {
- statement=connection.prepareStatement(sql);
- rs=statement.executeQuery();
- while(rs.next()){
- users.add(new User(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)));
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- JDBCUtilSingle.getInitJDBCUtil().closeConnection(rs, statement, connection);
- }
- if(users.size()==0){
- initData();
- users=getList();
- }
- return users;
- }
- /**
- * 添加一条用户数据
- * @param name 名称
- * @param email 邮箱
- * @param tel 电话
- * @param area 区域
- * @return 装载用户信息的集合
- */
- public ArrayList<User> addUser(String name,String email,String tel,String area){
- Connection connection=null;
- PreparedStatement statement=null;
- ResultSet rs=null;
- connection=JDBCUtilSingle.getInitJDBCUtil().getConnection();
- String sql="insert into usermanagement_user(name,email,tel,area) values(?,?,?,?)";
- try {
- statement=connection.prepareStatement(sql);
- statement.setString(1, name);
- statement.setString(2, email);
- statement.setString(3, tel);
- statement.setString(4, area);
- statement.executeUpdate(); //返回1表示插入成功
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- JDBCUtilSingle.getInitJDBCUtil().closeConnection(rs, statement, connection);
- }
- return getList(); //获取集合信息
- }
- /**
- * 根据ID删除指定的用户
- * @param id 要删除的ID号
- * @return 用户集合列表
- */
- public ArrayList<User> delUser(int id){
- Connection connection=null;
- PreparedStatement statement=null;
- ResultSet rs=null;
- connection=JDBCUtilSingle.getInitJDBCUtil().getConnection();
- String sql="delete from usermanagement_user where id=?";
- try {
- statement=connection.prepareStatement(sql);
- statement.setInt(1,id);
- statement.executeUpdate(); //返回1表示删除成功
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- JDBCUtilSingle.getInitJDBCUtil().closeConnection(rs, statement, connection);
- }
- return getList();
- }
- public ArrayList<User> updUser(int id,String name,String email,String tel,String area){
- Connection connection=null;
- PreparedStatement statement=null;
- ResultSet rs=null;
- connection=JDBCUtilSingle.getInitJDBCUtil().getConnection();
- String sql="update usermanagement_user set name=?,email=?,tel=?,area=? where id=?";
- try {
- statement=connection.prepareStatement(sql);
- statement.setString(1, name);
- statement.setString(2, email);
- statement.setString(3, tel);
- statement.setString(4, area);
- statement.setInt(5, id);
- statement.executeUpdate();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }finally{
- JDBCUtilSingle.getInitJDBCUtil().closeConnection(rs, statement, connection);
- }
- return getList();
- }
- }
UserServer.java
- package service;
- import java.util.ArrayList;
- import bean.User;
- import Dao.UserDao;
- public class UserServer {
- public ArrayList<User> getList(){
- return new UserDao().getList();
- }
- public ArrayList<User> addUser(String name,String email,String tel,String area){
- return new UserDao().addUser(name, email, tel, area);
- }
- public ArrayList<User> delUser(int id){
- return new UserDao().delUser(id);
- }
- public ArrayList<User> updUser(int id,String name,String email,String tel,String area){
- return new UserDao().updUser(id, name, email, tel, area);
- }
- }
remoting-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <service id="remoting-service"
- class="flex.messaging.services.RemotingService">
- <adapters>
- <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
- </adapters>
- <default-channels>
- <channel ref="my-amf"/>
- </default-channels>
- <destination id="UsererverTaget">
- <properties>
- <source>service.UserServer</source>
- </properties>
- </destination>
- </service>
主程序代码 UserManagement.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/mx"
- verticalCenter="0" horizontalCenter="0"
- creationComplete="init()">
- <fx:Declarations>
- <!-- 将非可视元素(例如服务、值对象)放在此处 -->
- <s:RemoteObject id="userDist" destination="UsererverTaget"
- fault="userDist_faultHandler(event)">
- <s:method name="getList" result="getList_resultHandler(event)" />
- <s:method name="addUser" result="user_resultHandler(event)" />
- <s:method name="delUser" result="user_resultHandler(event)" />
- <s:method name="updUser" result="user_resultHandler(event)" />
- </s:RemoteObject>
- </fx:Declarations>
- <fx:Script>
- <![CDATA[
- import components.GridItemRenderer;
- import mx.collections.ArrayCollection;
- import mx.containers.Grid;
- import mx.controls.Alert;
- import mx.managers.PopUpManager;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
- import mx.utils.StringUtil;
- import spark.events.GridEvent;
- [Bindable]
- public var personList:ArrayCollection;
- public var idColumn:GridColumn;
- public var nameColumn:GridColumn;
- public var emailColumn:GridColumn;
- public var telColumn:GridColumn;
- public var areaColumn:GridColumn;
- public var userItem:Object;
- /**
- * 程序初始化
- */
- private function init():void{
- userDist.getList(); //调用 getList方法获取数据
- //绑定按钮的监听事件
- add.addEventListener(MouseEvent.CLICK,addClick);
- mod.addEventListener(MouseEvent.CLICK,modClick);
- del.addEventListener(MouseEvent.CLICK,delClick);
- usersDG.addEventListener(GridEvent.GRID_CLICK,usersDG_clickHandler);
- adduser.addEventListener(MouseEvent.CLICK,addUser);
- upduser.addEventListener(MouseEvent.CLICK,updUser);
- }
- /**
- * getList方法调用结果处理函数
- */
- protected function getList_resultHandler(event:ResultEvent):void
- {
- //获取用户信息列表
- personList=event.result as ArrayCollection;
- idColumn=usersDG.columns.getItemAt(0) as GridColumn;
- nameColumn=usersDG.columns.getItemAt(1) as GridColumn;
- emailColumn=usersDG.columns.getItemAt(2) as GridColumn;
- telColumn=usersDG.columns.getItemAt(3) as GridColumn;
- areaColumn=usersDG.columns.getItemAt(4) as GridColumn;
- //渲染器貌似要到这里定义 需要等数据初始化完毕在定义渲染器 直接到组件定义 报错
- idColumn.itemRenderer=new ClassFactory(GridItemRenderer);
- nameColumn.itemRenderer=new ClassFactory(GridItemRenderer);
- emailColumn.itemRenderer=new ClassFactory(GridItemRenderer);
- telColumn.itemRenderer=new ClassFactory(GridItemRenderer);
- areaColumn.itemRenderer=new ClassFactory(GridItemRenderer);
- //设置渲染器
- usersDG.columns=new ArrayList([idColumn,nameColumn,emailColumn,telColumn,areaColumn]);
- //禁用按钮
- mod.enabled=false;
- del.enabled=false;
- }
- /**
- * userDist 错误处理函数
- */
- protected function userDist_faultHandler(event:FaultEvent):void
- {
- // 弹出错误信息
- Alert.show(event.message.toString());
- }
- /**
- * 单击添加按钮
- */
- protected function addClick(event:MouseEvent):void{
- adduser.visible=true;
- upduser.visible=false;
- popup.visible=true; //popup层可见
- popmsg.text="新增用户";
- }
- /**
- * 单击修改按钮
- */
- protected function modClick(event:MouseEvent):void{
- adduser.visible=false;
- upduser.visible=true;
- popup.visible=true; //popup层可见
- popmsg.text="更新用户";
- myname.text=userItem.name;
- email.text=userItem.email;
- tel.text=userItem.tel;
- area.text=userItem.area;
- }
- /**
- * 关闭弹出层
- */
- protected function close_clickHandler():void
- {
- popup.visible=false; //popup层可见
- myname.text=null;email.text=null;tel.text=null;area.text=null;
- }
- /**
- * 数据列表的单击事件
- */
- protected function usersDG_clickHandler(event:GridEvent):void
- {
- if(usersDG.selectedIndex!=-1){
- mod.enabled=true;
- del.enabled=true;
- userItem=usersDG.selectedItem;
- }
- }
- /**
- * 添加用户
- */
- protected function addUser(event:MouseEvent):void{
- var _name:String=StringUtil.trim(myname.text);
- var _email:String=StringUtil.trim(email.text);
- var _tel:String=StringUtil.trim(tel.text);
- var _area:String=StringUtil.trim(area.text);
- if(_name!=""&&_email!=""&&_tel!=""&&_area!=""){
- close_clickHandler(); //关闭弹出层
- userDist.addUser(_name,_email,_tel,_area);
- usersDG.selectedIndex=-1;
- }else{
- Alert.show("输入的各项内容不能为空!!");
- }
- }
- /**
- * 删除用户
- */
- protected function delClick(event:Event):void{
- if(usersDG.selectedIndex!=-1){
- userDist.delUser(int(userItem.id));
- usersDG.selectedIndex=-1;
- mod.enabled=false;
- del.enabled=false;
- }
- }
- /**
- * 修改用户
- */
- protected function updUser(event:MouseEvent):void{
- var _name:String=StringUtil.trim(myname.text);
- var _email:String=StringUtil.trim(email.text);
- var _tel:String=StringUtil.trim(tel.text);
- var _area:String=StringUtil.trim(area.text);
- if(_name!=""&&_email!=""&&_tel!=""&&_area!=""){
- close_clickHandler(); //关闭弹出层
- usersDG.selectedIndex=-1;
- userDist.updUser(userItem.id,_name,_email,_tel,_area);
- }else{
- Alert.show("输入的各项内容不能为空!!");
- }
- }
- /**
- * 结果处理函数
- */
- protected function user_resultHandler(event:ResultEvent):void
- {
- //获取用户信息列表
- personList=event.result as ArrayCollection;
- if(usersDG.selectedIndex==-1){
- mod.enabled=false;
- del.enabled=false;
- }
- }
- ]]>
- </fx:Script>
- <s:Rect width="100%" height="100%">
- <s:fill>
- <s:SolidColor color="#333333"/>
- </s:fill>
- </s:Rect>
- <s:Group width="800" height="500" top="80" horizontalCenter="0">
- <s:filters>
- <s:DropShadowFilter alpha="0.3" angle="90" blurX="5.0" blurY="5.0" color="#000000"
- distance="2" hideObject="false" inner="false" knockout="false"
- quality="1" strength="5"/>
- </s:filters>
- <!--白色大背景-->
- <s:Rect width="100%" height="100%">
- <s:fill>
- <s:SolidColor color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
- <!--按钮-->
- <s:Group width="800" height="50" horizontalCenter="0" >
- <s:Button id="add" x="10" y="10" width="60" height="30" label="新增" color="#FFFFFF" fontFamily="微软雅黑"
- fontSize="13" skinClass="skinks.AddButtonSkin" buttonMode="true"/>
- <s:Button id="mod" x="80" y="10" width="60" height="30" label="修改" color="#FFFFFF" fontFamily="微软雅黑"
- fontSize="13" skinClass="skinks.ModButtonSkin" buttonMode="true"/>
- <s:Button id="del" x="150" y="10" width="60" height="30" label="删除" buttonMode="true"
- color="#FFFFFF" fontFamily="微软雅黑" fontSize="13"
- skinClass="skinks.DelButtonSkin"/>
- </s:Group>
- <!--数据表-->
- <s:DataGrid id="usersDG" y="50" left="10" right="10" color="#FFFFFF" fontFamily="微软雅黑" fontSize="13"
- horizontalCenter="0" requestedRowCount="10" rowHeight="40" skinClass="skinks.DG"
- dataProvider="{personList}"
- >
- <s:columns>
- <s:ArrayList>
- <s:GridColumn dataField="id" width="85" headerText="#" headerRenderer="components.GridHeaderRenderer" ></s:GridColumn>
- <s:GridColumn dataField="name" width="150" headerText="名称" headerRenderer="components.GridHeaderRenderer" ></s:GridColumn>
- <s:GridColumn dataField="email" width="250" headerText="邮箱" headerRenderer="components.GridHeaderRenderer" ></s:GridColumn>
- <s:GridColumn dataField="tel" headerText="电话" headerRenderer="components.GridHeaderRenderer" ></s:GridColumn>
- <s:GridColumn dataField="area" headerText="地区" headerRenderer="components.GridHeaderRenderer" ></s:GridColumn>
- </s:ArrayList>
- </s:columns>
- </s:DataGrid>
- </s:Group>
- <!--锁屏 弹出层-->
- <s:Group id="popup" width="100%" height="100%" visible="false">
- <s:Rect width="100%" height="100%" alpha="0.4">
- <s:fill>
- <s:SolidColor color="#000000"/>
- </s:fill>
- </s:Rect>
- <!--框-->
- <s:Group width="400" height="320" horizontalCenter="0" top="200" >
- <s:Rect width="100%" height="100%">
- <s:fill>
- <s:SolidColor color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
- <!--label条-->
- <s:Group width="100%" height="40">
- <s:Rect width="100%" height="100%">
- <s:fill>
- <s:SolidColor color="#3DAFE3"/>
- </s:fill>
- </s:Rect>
- <s:Label id="popmsg" x="10" color="#FFFFFF" fontFamily="微软雅黑" fontSize="14" text="新增用户"
- verticalAlign="middle" verticalCenter="0"/>
- <s:Label right="10" width="25" height="25" color="#FFFFFF" fontFamily="Verdana"
- fontSize="18" fontWeight="bold" text="X" textAlign="center"
- verticalAlign="middle" verticalCenter="0" buttonMode="true"
- click="close_clickHandler()"/>
- </s:Group>
- <s:HGroup horizontalCenter="0" top="60">
- <s:Label width="80" height="30" color="#666666" fontFamily="微软雅黑" fontSize="13"
- text="名称:" textAlign="center" verticalAlign="middle" trackingLeft="3" trackingRight="3"/>
- <s:TextInput id="myname" width="250" height="30" borderAlpha="0.5"
- borderVisible="true" focusColor="#FFFFFF"
- skinClass="skinks.TextInputSkin"/>
- </s:HGroup>
- <s:HGroup x="30" y="230" horizontalCenter="0" top="110">
- <s:Label width="80" height="30" color="#666666" fontFamily="微软雅黑" fontSize="13"
- text="邮箱:" textAlign="center" verticalAlign="middle" trackingLeft="3" trackingRight="3"/>
- <s:TextInput id="email" width="250" height="30" borderAlpha="0.5"
- borderVisible="true" focusColor="#FFFFFF"
- skinClass="skinks.TextInputSkin"/>
- </s:HGroup>
- <s:HGroup x="30" y="110" horizontalCenter="0" top="160">
- <s:Label width="80" height="30" color="#666666" fontFamily="微软雅黑" fontSize="13"
- text="电话:" textAlign="center" verticalAlign="middle" trackingLeft="3" trackingRight="3"/>
- <s:TextInput id="tel" width="250" height="30" borderAlpha="0.5"
- borderVisible="true" focusColor="#FFFFFF"
- skinClass="skinks.TextInputSkin"/>
- </s:HGroup>
- <s:HGroup x="30" y="170" horizontalCenter="0" top="210">
- <s:Label width="80" height="30" color="#666666" fontFamily="微软雅黑" fontSize="13"
- text="地区:" textAlign="center" verticalAlign="middle" trackingLeft="3" trackingRight="3"/>
- <s:TextInput id="area" width="250" height="30" borderAlpha="0.5"
- borderVisible="true" focusColor="#FFFFFF"
- skinClass="skinks.TextInputSkin"/>
- </s:HGroup>
- <s:Group x="30" y="270" top="260">
- <s:Button id="adduser" left="85" label="新增" color="#FFFFFF" fontFamily="微软雅黑" fontSize="13"
- skinClass="skinks.MyButton"/>
- <s:Button id="upduser" left="85" label="更新" color="#FFFFFF" fontFamily="微软雅黑" fontSize="13"
- skinClass="skinks.MyButton"/>
- </s:Group>
- </s:Group>
- </s:Group>
- </s:Application>
SQL代码:
- CREATE TABLE `usermanagement_user` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `name` varchar(20) NOT NULL DEFAULT '',
- `email` varchar(50) NOT NULL DEFAULT '',
- `tel` varchar(14) NOT NULL DEFAULT '',
- `area` varchar(50) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
Flex4+BlazeDS+JAVA+MySql 构建J2EE工程 对用户信息进行管理实例的更多相关文章
- MySQL基础篇(07):用户和权限管理,日志体系简介
本文源码:GitHub·点这里 || GitEE·点这里 一.MySQL用户 1.基础描述 在数据库的使用过程中,用户作为访问数据库的鉴权因素,起到非常重要的作用,安装MySQL时会自动生成一个roo ...
- 玩玩微信公众号Java版之五:获取关注用户信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据Op ...
- kotlin+springboot+mybatis-puls+mysql搭建gradle-web工程
kotlin+springboot+mybatis-puls+mysql搭建web工程 前段时间研究了spring security及OAuth2系列之后,本来打算研究spring的,但是部门发生 ...
- 从零自学Hadoop(09):使用Maven构建Hadoop工程
阅读目录 序 Maven 安装 构建 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Source ...
- 使用BLADE构建c++工程管理
使用BLADE构建c++工程管理 字数764 阅读2753 评论2 喜欢4 一. c++工程依赖管理 之前在百度一直使用comake2构建c++项目,十分方便.免去了手写Makefile的痛苦,很多项 ...
- Java学习之J2EE
什么是J2EE 本文摘抄于其他博文. 什么是J2EE 一.准备篇 1 什么是J2EE?它和普通的Java有什么不同?答:J2EE全称为Java2 Platform Enterprise Editio ...
- 云服务器配置 docker java mysql mongodb redis nginx 环境
磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...
- 一个基于mysql构建的队列表
通常大家都会使用redis作为应用的任务队列表,redis的List结构,在一段进行任务的插入,在另一端进行任务的提取. 任务的插入 $redis->lPush("key:task:l ...
- Java Mysql连接池配置和案例分析--超时异常和处理
前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...
随机推荐
- 51nod 1336 RMQ逆问题
RMQ问题是一类区间最值问题,这里给出一个特殊的RMQ问题,初始给定一个n长的排列P,注:n长排列是指有1~n这n个整数构成的一个序列每个整数恰好出现一次.并对这个排列P进行M次查询操作,每次查询形如 ...
- Func系列4:其他功能
非Python API接口支持 Func通过非Python API实现远程调用,目的是为第三方工具提供调用及返回接口.Func使用func-transmit命令来实现,支持YAML.JSON格式,实现 ...
- select,epool,pool解释
内容主要来自搜狗实验室技术交流文档, 编写链接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适合了.应该采用epool/kqueue/dev_pool来捕获IO事件. ----- ...
- ExtJs4 SpringMvc3 实现Grid 分页
新建一个Maven webapp项目,webxml以及spring配置没什么需要注意的,不再赘述. Maven依赖:(个人习惯,有用没用的都加上...) <project xmlns=" ...
- C和C++混合编程
extern "C"表示编译生成的内部符号名使用C约定.C++支持函数重载,而C不支持,两者的编译规则也不一样.函数被C++编译后在符号库中的名字与C语言的不 同.例如,假设某个函 ...
- Fatal error: Class 'GearmanClient' not found解决方法
产生原因: 没有安装PHP的gearman扩展 解决方法:1. 打开:http://pecl.php.net/package/gearman2. wget http://pecl.php.net ...
- linux查看和开放某端口
查看某端口是否已打开: netstat -nulp //UDP端口netstat -ntlp //TCP端口 或者:lsof -i:port-num 开放某端口: 在/etc/sysconfig/ip ...
- gerrit 使用笔记
添加git hooks git库的钩子目录中有一个commit-msg脚本文件,可以在git执行commit时,在提交信息中自动添加一个唯一的Change-Id scp -P 29419 admin@ ...
- 回朔法/KMP算法-查找字符串
回朔法:在字符串查找的时候最容易想到的是暴力查找,也就是回朔法.其思路是将要寻找的串的每个字符取出,然后按顺序在源串中查找,如果找到则返回true,否则源串索引向后移动一位,再重复查找,直到找到返回t ...
- Servlet中的配置 web.xml
url-pattern配置 可以为同一个Servlet配置多个url-pattern: <servlet> <servlet-name>DoGetPostDemo</se ...