DWZ框架 + ThinkPHP 实现小组工作日志系统
Quick Start:
1)安装部署:
a)下载代码,Apahce PHP环境创建虚拟主机
b)导入Mysql数据 mysql -u root -p dwz_group < dwz_group.sql
c)打开dwz_group/Admin/Conf/config.php 配制数据库用户名和密码
d)打开dwz_group/Admin/constants.inc.php 配制部门
2)admin用户登入系统(默认密码admin),创建用户,分配角色(系统默认有组员和组长2个角色,已经设置好权限,一般情况无需再创建新角色)
3)用户登入,开始使用工作日志系统
注意:配制完成后,如果浏览器访问报错,请检查php.ini配制中mysql相关extension是否放开.
如果登入验证码无法显示请检查是否已经开启GD库支持【命令行输入: php -i | grep -i --color gd】
DWZ富客户端框架 - thinkphp 测试版
DWZ富客户端框架 - thinkphp 测试版
在线演示地址 http://thinkphp.dwzjs.com
整合了DWZ富客户端框架、thinkphp和thinkphp RBAC权限管理
此版本是测试版,细节还需改进,欢迎大家提出建议
DWZ富客户端框架视频教材
DWZ富客户端框架(jQuery RIA framework)
DWZ富客户端框架视频教材下载
DWZ富客户端框架v1.0.6(含源码)
DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.
DWZ 富客户端框架设计目标是简单实用, 让开发人员少写js甚至不写js的情况下, 也能用ajax做项目. 比较适合做二次开发.
DWZ使用jQuery可以非常方便的定制特定需求的UI组件, 并以jQuery插件的形式发布出来. 如有需要也可做定制化开发.
欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.
DWZ富客户端框架是开源项目,可以免费获取源码。希望更多的开发人员使用,共同推进国内整体ajax开发水平。
在线演示地址 http://dwz.duqn.com
在线文档 http://dwz.duqn.com/doc/dwz-user-guide.pdf
Google Code下载: http://code.google.com/p/dwz/
DWZ富客户端框架v1.0.2(含源码)
DWZ富客户端框架即jQuery富客户端框架.基于jQuery实现纯html+css+js富客户端UI组件框架.
布署到Apache或IIS等WEB应用下, 打开index.html就可看到demo.
在线演示地址 http://dwz.duqn.com
欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.
DWZ富客户端框架, 开源了. 可在google code 中下载原码
http://code.google.com/p/dwz/
如有需要可做定制化开发.
DWZ工作组联系方式:
杜权
[email protected]
吴平
[email protected]
张慧华
[email protected]
(此版本包括全部源码.若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
DWZ富客户端框架v1.0.1(含源码)
DWZ富客户端框架即jQuery富客户端框架.基于jQuery实现纯html+css+js富客户端UI组件框架.
布署到Apache或IIS等WEB应用下, 打开index.html就可看到demo.
在线演示地址 http://dwz.duqn.com
Google Code下载: http://code.google.com/p/dwz
欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.
DWZ富客户端框架, 开源了. 可在google code 中下载原码
http://code.google.com/p/dwz/
如有需要可做定制化开发.
DWZ工作组联系方式:
杜权
[email protected]
吴平
[email protected]
张慧华
[email protected]
(此版本包括全部源码.若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
DWZ富客户端框架(js源码)
DWZ富客户端框架javascript源码
在线演示地址 http://dwz.duqn.com
(若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
javascript混淆器
DWZ富客户端框架,javascript混淆器
(若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
DWZ富客户端框架(js混淆)
即jQuery富客户端框架.基于jQuery实现纯html+css+js富客户端UI组件框架. 下载dwz-demo.zip解压后,用浏览器打开index.html
在线演示地址 http://dwz.duqn.com
(此版本js混淆处理,不包括DWZ js源码.若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
Java封装Configuration
\test\home\etc\conf\app-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<properties fileName="core/app-core.properties" />
<xml fileName="utils/app-vm-template-config.xml" />
<xml fileName="utils/app-website-template.xml" />
<xml fileName="utils/app-validation-code.xml"/>
</configuration>
dwz.framework.core.Configuration代码示例
public void load(String configFile) throws ConfigurationException {
if (configFile == null) {
configFile = Constants.DEFAULT_CONFIG_FILE;
}
System.out.println("configFile " + configFile);
ConfigurationFactory factory = new ConfigurationFactory(configFile);
this.conf = factory.getConfiguration();
this.buildFactory();
}
Java生成Excel文件
public class XlsExportTest {
private static enum ExportFiled {
SKU("编号"), NAME("名称"), DATE("日期"), PRICE("金额"), PERCENT("百分比");
private final String name;
ExportFiled(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
public static void main(String[] args) {
System.out.println("开始导出Excel文件: "+System.currentTimeMillis());
XlsExport e = new XlsExport();
// header
e.createRow(0);
for (ExportFiled filed : ExportFiled.values()) {
e.setCell(filed.ordinal(), filed.getName());
}
for (int i = 1; i<5000; i++){
e.createRow(i);
e.setCell(0, i);
e.setCell(1, "工商银行");
e.setCell(2, new Date());
// e.setCell(3, 19999.99);
e.setCurrency(3, 19999.99);
e.setPercent(4, i/100d);
}
e.exportXls("e:/test.xls");
System.out.println("导出Excel文件完成: "+System.currentTimeMillis());
}
}
Java把html生成pdf (xhtmlrenderer)
Java代码示例: tools.pdf.ITextTest
xhtml代码示例: template.xhtml
Linux下MYSQL每天完全备份
利用crontab,系统每天定时备份mysql数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
输入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者写成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p密码 > /mysqldata/mysql$rq.sql
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份
5、重新启动crond
# /etc/rc.d/init.d/crond restart
建站平台subdomain思路
建站平台subdomain思路
假设某电子商务建站平台, 可以动态创建店铺. 每个店铺有各自的subdomain, 或者有独立的顶级域名.
每个店铺可以:
修改子域名或邦定顶级域名
增加页面
切换模板, 修改布局和主题风格
发布和管理产品
产品展示
...
下面主要写一下subdomain的设计思路:
假设建站平台主域名是: dwz.com
每个店铺的subdomain格式为: store1.dwz.com store2.dwz.com xxx.dwz.com ...
dwz.com加一条域名泛解析: *.dwz.com 指向到服务器IP
每个店铺需要有一个唯一的标识作为子域名
客户端访问某个店铺时store1.dwz.com
服务器得到子域名store1
通过子域名取到一个唯一的店铺
展示店铺
Ajax请求session超时处理流程
Ajax请求session超时处理流程
java服务器端处理:
SessionValidateFilter中修改:
if (ServerInfo.isAjax(request)) {
request.setAttribute("statusCode", 301);
request.setAttribute("message", "Session timeout!");
response.sendRedirect(response.encodeRedirectURL("/ajaxDone.jsp");
else {
response.sendRedirect(response.encodeRedirectURL(this.loginUrl + java.net.URLEncoder.encode(backToUrl, "UTF-8")));
}
ajaxDone.jsp页面
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
{
statusCode:${statusCode}, message:"${message}", objectId:"${objectId}"
}
js客户端处理:
ajax load页面碎片处理:
自己写一个loadUrl()方法,不能使用jquery自带的load().
当客户端调用loadUrl()超时,弹出一个登录框,并加一个背景层下面的整个浏览器.这时浏览器窗口内容不能变,只是上面加了一个登录框和一个背景层
当用户输入username and password登录成功后,去掉登录框和背景层.这时用户可以继续操作.
登录失败alert出错信息,浏览器窗口内容还是不变.
var DWZ = {
loginUrl:"/render.do?method=login",
ajaxDoneEval:function (json) { //session timeout
try{
return eval('(' + json + ')');
} catch (e){
return {};
}
}
};
(function($){
$.extend({
loadUrl: function(url,data,callback){
var aData = data || {};
aData["timestamp"] = new Date().getTime();
var $this = $(this);
$.get(url, aData, function(data){
var json = DWZ.ajaxDoneEval(data);
if (json.statusCode==301){
alertMsg.error(json.message, {okCall:function(){
window.location = "/render.do?method=login";
//popLoginWin();
}});
} else {
$this.html(data).initUI();
if (jQuery.isFunction(callback)) callback();
}
});
}
});
})(jQuery);
ajax post 表单数据处理:
当客户端ajax提交表单超时, 弹出一个登录框,并加一个背景层下面的整个浏览器.
当用户输入username and password登录成功后,去掉登录框和背景层.这时用户可以继续操作.
登录失败alert出错信息.
$.post(form.action, params, callback(json){
if (json.statusCode == 301) { //301 状态表示 session timeout
popLoginWin();
}else if (json.statusCode == 300) { //300 状态表示 操作失败
alertMsg.error(json.message);
} else if(json.statusCode == 200) { //300 状态表示 操作成功
alertMsg.correct(json.message);
}
},
"json");
jQuery中文手册(CHM)
jQuery中文手册(CHM)
自从jQuery面世以来,它以其快速、简洁,能够很轻易地处理HTML文档、控制事件、给页面添加动画和Ajax效果等打动着所有关注它的人的心
DWZ富客户端框架v1.0.0(含源码)
DWZ富客户端框架即jQuery富客户端框架.基于jQuery实现纯html+css+js富客户端UI组件框架.
布署到Apache或IIS等WEB应用下, 打开index.html就可看到demo.
在线演示地址 http://html.duqn.com/dwz-demo/
Google Code下载: http://code.google.com/p/dwz
欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.
DWZ富客户端框架, 开源了. 可在google code 中下载原码
http://code.google.com/p/dwz/
如有需要可做定制化开发.
DWZ工作组联系方式:
杜权
[email protected]
吴平
[email protected]
张慧华
[email protected]
(此版本包括全部源码.若要下载其他部分,点击 标签“DWZ富客户端框架”,即可看到)
jQuery in Action 示例
jQuery in Action 示例.
jQuery是目前最受欢迎的JavaScript/Ajax库之一,能用最少的代码实现最多的功能
div+css界面核心代码
界面规范总体原则
1) 以用户为中心。设计由用户控制的界面,而不是界面控制用户。
2) 简单且美观实用。界面应该很简单(不是过分单纯化)、易于学习、并且易于使用。每个页面简单明了,用户一看就能大概明白如何操作,不要有太多干忧用户视线的东西。
3) 清楚一致的设计。界面的风格保持一致,具有相同含义的术语保持一致,且易于理解。
4) 较快的响应速度。
5) 遵循W3C标准,提高界面灵活度,降低界面和程序的耦合度。
6) UI组件化。组件分为功能组件和布局组件。
7) 规范化CSS样式文件。将CSS文件划分为CSS文件和子模块CSS文件。核心CSS中定义系统核心样式和公共样式。子模块CSS在核心CSS的基础上进行扩展,可以调整样式风格,并定义本模块特有的CSS。
采用W3C标准规范Html,css代码, 其目的是:
1) 改变页面布局和样式时只修改css,而不用改任何html代码就能实现。
2) 把各种界面布局和样式相关的,都由css来处理。(比如一个列表显示,可能是一列,二列,n列,程序不做任何控制,只改css)
3) 解决主流浏览器兼容问题.
4) 降低界面和程序的耦合度。