- 浏览: 721674 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ron.luo:
群主有开放源代码吗?
统一用户权限管理系统(正式版) -
名字应该取长点:
楼主可不可以问你几个问题呀,关于这个插件,貌似单线程,而且不分 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
mayouth:
不知道楼主能不能解决下浏览器兼容的问题,目前好像火狐和谷歌浏览 ...
Extjs3.3 + swfUpload2.2 实现多文件上传组件 -
一水无间:
...
pushlet + Extjs 聊天室v0.9 (含源码) -
jintt123:
你好!我后台用的是C#,为什么一直上传失败,好像是后台取不到参 ...
多文件上传UploadPanel for extjs4(swfuoload2.5)
地址如下:最近发布
[Extjs4.0] keel_jdbc2.0后台管理模块 (包含前后台源码)
http://czpae86.iteye.com/blog/1058754
项目源码见附件!!
安装方法:
1,导入jar包.用到的jar包如下,请自己在网上下载,都是比较常见的.
2,还原数据库(在附件"keel数据库备份.rar"上)数据库使用的是MS SERVER 2005,
如果更改数据库请添加相应的jar包,和修改db.properties文件.
3,部署到tomcat(本人使用的是tomcat5.0)
4,启动tomcat,浏览器输入,如http://localhost:8080/keel_jdbc1.0/ (端口自己按实际情况更改)
5,帐号,密码都为(admin)
版本 V1.0
1:前台界面暂时只有登录,后续版本会增加复杂的页面!(用Extjs已经3年)
2:后台主要如下
一,通过一个servlet作为前后台交互入口,代码如下:
package keel.util; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.Enumeration; import java.util.HashMap; import java.util.InvalidPropertiesFormatException; import java.util.Map; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; /** * 前后台交互入口 * @author 蔡治平 * @since 2011-04-23 */ public class KeelServlet extends HttpServlet { private Logger logger = Logger.getLogger(KeelServlet.class); private final String doGetMethod = "doGet"; private final String doPostMethod = "doPost"; private final String classConfigPath = "classConfig.xml"; /** * 通过get方法提交将会调用该方法 */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); dataOut(request, response, doGetMethod); } /** * 通过post方法提交将会调用该方法 */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); //response.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8"); dataOut(request, response, doPostMethod); } /** * 打包提交的参数 * @param request * @param method * @return Map */ private Map<String,Object> dataInToMap(HttpServletRequest request,String method){ Enumeration names = request.getParameterNames(); Map<String,Object> map = new HashMap<String, Object>(); while(names.hasMoreElements()){ String name = names.nextElement().toString(); String value = request.getParameter(name); if(method.equals(doGetMethod)){ try { byte [] bytes = value.getBytes("ISO-8859-1"); map.put(name, new String(bytes,"UTF-8")); } catch (UnsupportedEncodingException e) { logger.error("打包提交参数出现异常,原因:"+e); } }else{ map.put(name, value); } } return map; } /** * 获得类名 * @param name * @return String */ private String getClassName(String name){ Properties prop = new Properties(); String clsName = ""; try { prop.loadFromXML(Thread.currentThread().getContextClassLoader().getResourceAsStream(classConfigPath));//this.getClass().getClassLoader().getResourceAsStream(classConfigPath) clsName = prop.getProperty(name); if(clsName==null){ logger.error(classConfigPath+"配置中没有定义key="+name); }else if(clsName.trim().equals("")){ logger.error(classConfigPath+"配置中key="+name+"的值为空"); }else{ logger.info("从"+classConfigPath+"中成功获取类配置key="+name+"-->"+clsName); } } catch (InvalidPropertiesFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return clsName; } /** * 该方法打包前台提交参数,通过映射调用方法,然后返回结果到前台 * @param request * @param response * @param method */ @SuppressWarnings("unchecked") private void dataOut(HttpServletRequest request, HttpServletResponse response, String method){ Map dataIn = this.dataInToMap(request,method); dataIn.put("session", request.getSession()); String clsName = getClassName(request.getParameter("clsName")); String methodName = request.getParameter("methodName"); Map dataOut = CallMethod.callMethod(clsName, methodName, dataIn); String k = (String) dataOut.get("dataOut"); PrintWriter out; try { out = response.getWriter(); out.print(k); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
二,前台传入类别名(classConfig.xml中配置),方法名,通过反射执行类方法
package keel.util; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; /** * 通过反射执行类方法 * @author 蔡治平 * @since 2011-04-23 */ public class CallMethod { public static Map callMethod(String clsName,String method, Map<String,Object> dataIn) { Class cls = null; try { cls = Class.forName(clsName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Class partypes[] = new Class[1]; partypes[0] = Map.class; Method meth = null; try { meth = cls.getMethod(method, partypes); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } Object returnValue = null; try { returnValue = meth.invoke(cls.newInstance(), dataIn); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } Map dataOut = (Map) returnValue; return dataOut; } }
三,一个数据库连接池和一些数据库操作的封装,代码请看附件项目.
希望有你想要的东西! 请多给意见!
注意:该项目没有用到hibernate,spring,struts,dwr等框架!!
- keel_jdbc1.0.rar (919.5 KB)
- 下载次数: 355
- keel数据库备份.rar (99.8 KB)
- 下载次数: 217
评论
8 楼
chen4w
2012-02-04
楼主的开放,分享精神值得称道!
我在使用ext过程中遇到和你类似的问题,但是用jsonRPC可以完成本文类似的功能,
jsonRPC和楼主的思路差不多,后台也是通过反射机制动态调用相应方法。
但在参数传递方面更强。jsonRPC在前台处理了结构化的提交数据编码,在后台可以完整还原。较之本文的仅仅以map作为参数,更加强大。
我在使用ext过程中遇到和你类似的问题,但是用jsonRPC可以完成本文类似的功能,
jsonRPC和楼主的思路差不多,后台也是通过反射机制动态调用相应方法。
但在参数传递方面更强。jsonRPC在前台处理了结构化的提交数据编码,在后台可以完整还原。较之本文的仅仅以map作为参数,更加强大。
7 楼
shouzhang1_2
2011-06-15
Auto-generated catch
同意!楼主的意思 起一个抛砖引玉的作用,给个思路,或简单的方法,而不是让你去用到项目里!
xiaokang1582830 写道
不好意思楼主,我没看出你的意图是什么
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
个人觉得你应该去理解下框架的利弊和jdbc的好处,真正nb的人是懂得去优化jdbc的性能,纯粹的jdbc执行效率比框架高N倍,但是这对开发人员要求相当高.不要认为你会点框架就是强人,真正的高手是要有自己的思想而不是只会照搬别人的东西
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
个人觉得你应该去理解下框架的利弊和jdbc的好处,真正nb的人是懂得去优化jdbc的性能,纯粹的jdbc执行效率比框架高N倍,但是这对开发人员要求相当高.不要认为你会点框架就是强人,真正的高手是要有自己的思想而不是只会照搬别人的东西
同意!楼主的意思 起一个抛砖引玉的作用,给个思路,或简单的方法,而不是让你去用到项目里!
6 楼
azheng270
2011-06-01
鼓励一下,楼主继续加油做好
5 楼
xiaokang1582830
2011-05-14
不好意思楼主,我没看出你的意图是什么
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
个人觉得你应该去理解下框架的利弊和jdbc的好处,真正nb的人是懂得去优化jdbc的性能,纯粹的jdbc执行效率比框架高N倍,但是这对开发人员要求相当高.不要认为你会点框架就是强人,真正的高手是要有自己的思想而不是只会照搬别人的东西
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
个人觉得你应该去理解下框架的利弊和jdbc的好处,真正nb的人是懂得去优化jdbc的性能,纯粹的jdbc执行效率比框架高N倍,但是这对开发人员要求相当高.不要认为你会点框架就是强人,真正的高手是要有自己的思想而不是只会照搬别人的东西
4 楼
czpae86
2011-05-06
busing 写道
前台传递xml数据,后台直接通过解析xml执行方法? 想法不错!
前台传的是json数据
3 楼
busing
2011-05-05
前台传递xml数据,后台直接通过解析xml执行方法? 想法不错!
2 楼
czpae86
2011-05-04
dfbdfbdfb 写道
不好意思楼主,我没看出你的意图是什么
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
厉害
1 楼
dfbdfbdfb
2011-04-29
不好意思楼主,我没看出你的意图是什么
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
这是小学毕业就应该会的东东。。夸张点了,我的意思是j2ee第一节课结束,就应该有的东西
你怎么还扯上那些框架?那是中学的,小学当然用不上了
发表评论
-
支持代码自动生成的管理系统后台-SimpleTEM
2018-05-03 13:29 2427演示地址:http://itgap.net 联系作 ... -
一个快速速开发管理系统的平台-支持代码生成和细粒度权限管理
2018-04-25 17:32 229演示地址:http://119.23.238.120/adm ... -
一个基于URL细粒度权限控制管理系统模版
2018-04-25 17:17 0演示地址:http://119.23.238.120/adm ... -
统一用户权限管理系统(正式版)
2015-01-08 21:11 50464该系统已停止更新,已发布另外一个平台,演示地址:htt ... -
Sencha Touch2 MVC Demo (含源码/数据库)
2012-11-08 16:25 7157源码见附件。由于文件太大,resources\media ... -
后台管理
2012-09-09 18:58 3377java6+spring+hibernate+extjs4.1 ... -
密码加密
2012-07-12 09:56 1671import java.security.NoSuchA ... -
jquery 多文件上传 (java)
2012-07-10 12:00 2321$(function(){ $('#T8A').Mul ... -
java.util.Timer 用法
2012-03-31 23:42 1893import java.io.IOException; ... -
利用ServletContextListener 获取spring上下文
2012-03-31 23:32 2233import javax.servlet.Servlet ... -
javax.servlet.ServletContextListener 作用
2012-03-31 23:15 10016ServletContextListener 是 Servle ... -
使用dbutils封装的一个数据库操作类
2011-04-28 22:28 4897使用commons-dbutils-1.3.jar,请自行下载 ... -
Spring2+Hibernate3+Struts2+Extjs3.2
2010-05-02 14:30 7404最近把框架完善了,把上传、下载、前端换肤、登录、权限等功能加上 ... -
通用DAO
2010-04-20 00:47 2489package base; import java ... -
加载src下的properties文件
2010-04-20 00:43 2491public class ProsUtil { pr ...
相关推荐
本系统——"keel_jdbc2.0",正是一个利用ExtJS4.0前端框架与JSP/Servlet/Java后端技术构建的无框架后台管理系统。它摒弃了传统框架的繁复,通过精巧的设计实现了高度的灵活性和可扩展性。 首先,ExtJS4.0是Sencha...
EXT4.0项目源码是Linux操作系统中EXT4文件系统的一个重要版本的源代码,它在文件系统的性能、稳定性和可靠性方面进行了优化。EXT4,全称“Fourth Extended File System”,是EXT3的后续,旨在解决EXT3在处理大量小...
ExtJs4是一款强大的JavaScript框架,用于构建富客户端的Web应用程序,尤其在企业级应用中广泛使用。这个进销存源代码示例展示了如何利用ExtJs4实现库存管理、销售管理和采购管理的核心功能,帮助开发者更好地理解和...
"keel-core源代码包"是一个专门为Java开发者提供的开源项目,其主要目的是提供一系列实用的工具类和功能,以帮助开发者在日常开发中提高效率。这个源代码包可能包含了各种通用的工具方法,如字符串处理、日期时间...
KEEL数据集包含各种行业的真实数据,这些数据涵盖了各种领域的特征和类别分布,如生物信息学、遥感图像分析、工程系统故障检测等。数据集的不平衡率变化较大,从约1%到几百%,这使得它成为评估和比较不同不平衡学习...
"keeloq.rar_Keeloq加密算法_encryption of keeloq_keeloq_keeloq 加密_keel"的标题暗示了该压缩包可能包含了关于KEELOQ加密算法的详细资料,包括可能的改进版本和在单片机中的实现技术。 KEELOQ加密算法基于动态码...
《Keel软件在处理不平衡数据中的机器学习应用》 在数据科学领域,机器学习是一种强大的工具,用于从数据中挖掘规律并进行预测。然而,实际应用中常常遇到一个挑战——不平衡数据问题。不平衡数据指的是分类任务中...
Keel是用于自动化部署更新的工具。 龙骨无状态,坚固且轻巧。 从构思到生产自动化您的工作流程 +------------+ | Status Test| |------------+ +---------------+ +----+ | |PUSH | build-push image | CI +--...
Keel 是一个用 Go 语言编写的自动化部署工具,它旨在简化 Kubernetes 集群中的应用程序部署和版本管理流程。Go 语言是 Google 推出的一种静态类型、编译型的编程语言,以其简洁的语法、高效的性能以及跨平台支持而受...
伊赛斯龙脊keel鼠标驱动在硬件辅助方面,内置配重模块、储存记忆体、dpi变速档位、7自定义键等功能,这些功能都需要鼠标驱动的支持,让你能快速熟悉你的鼠标性能和各种操作方法,而给入手此款鼠标的玩家提供官方最新...
KeelKit 1.0.3290.4789 是一款高效且智能的实体数据映射(Entity Data Mapping,简称EDM)工具,专为IT专业人士设计,尤其适用于那些需要处理数据库与应用程序之间数据交互的开发者。ORM(Object-Relational Mapping...
keel-telegram-bot是的电报机器人。 特征 接收通知(通过Webhook) 列出批准 批准待审批 拒绝待审批 删除存档的批准 如何使用 手动安装 安装 使用pip安装keel-telegram-bot : pip3 install keel-telegram-...
Keel 是一个服务器端 Java 元框架。 使用 COP,Keel 的容器使用同类最佳的开源工具提供其核心接口的可切换性。 Keel 遵循严格的 MVC,支持 Struts、Cocoon、Velocity、Axis/SOAP 等等!
1. **依赖环境**:首先确保你的开发环境已经安装了Java运行环境(JRE)和Java开发工具包(JDK),KeelKit通常与Java 8或更高版本兼容。 2. **获取库文件**:你可以通过Maven或Gradle来添加KeelKit依赖。在Maven的`...
它提供了一套完整的组件模型,包括表格、面板、菜单、按钮等,以及强大的数据绑定和布局管理功能,使得开发者能够轻松创建出美观且功能丰富的Web界面。"EXT后台经典实例"指的是使用EXT与后端服务器进行交互的典型...
Ext.define('keel.controller.GoodsCtrl', { extend: 'Ext.app.Controller', stores: ['GoodsStore'],//声明该控制层要用到的store models: ['GoodsModel'],//声明该控制层要用到的model views: ['goods....
SSH:git clone :PyBAQ / django-keel-web.git HTTPS:git clone 为了在本地运行项目,需要以下依赖项: 的Python 3 图像魔术 然后根据您的操作系统按照安装指南进行操作 视窗 对于Windows,您可以从以下链接...
在开始使用KeelKit之前,你需要将其添加到项目依赖中,这通常可以通过管理依赖的工具(如npm或pip)来完成。配置数据库连接信息,包括数据库类型、用户名、密码、主机地址和端口,这些信息会被KeelKit用来建立与...
keelkit是一个优秀的ORM工具,其主要功能包括但不限于以下几点: 1. **数据模型映射**:keelkit允许开发者定义数据模型类,这些类与数据库表进行映射,通过简单的对象操作即可实现对数据库的增删查改。 2. **自动 ...
1. **准备固件**:固件是包含控制芯片运行的指令的代码,通常为二进制格式。开发者需要根据项目需求编写源代码,然后编译成可烧写的固件。 2. **连接设备**:使用专用的编程器或者适配器将HC301芯片与电脑相连。这...