推荐阅读 所有解答测验和考试所需的定义概念都在视频课程中包含了。大部分课堂材料都包含在授课教授的书中(Jackson M O. Social and economic networks[M]. Princeton University Press, 2010. ),但这本书不是课堂必读读物。进一步的背景阅读,包括研究论文和课程中几个主题的综述,都在授课人的主页上(打开即可看见那张大脸:)。
推荐阅读 这门课提供所有需要的材料。 Katie Hafner写的Where Wizards Stay Up Late: The Origins Of The Internet Tim Berners-Lee和Tim Berners-Lee写的Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web Robert Cailliau写的How the Web was Born: The Story of the World Wide Web 这些有趣的补充材料从不同角度看发展历史。在课程中我们也会不断扩充阅读材料。
推荐阅读 课程开始时会有一个阅读任务,提供一些背景知识。 会有一个额外的阅读单元介绍基础的集合论,以方便那些不了解的学生。 课程推荐一本教科书,Keith Devlin写的数学思维导论(《Introduction to Mathematical Thinking》),你可以在Amazon上以10美元(约61-62人民币)以下的低价买到实体书或者Kindle版本,但是这不是必需的。如果你想要了解大概的数学背景和数学在现代世界中所扮演的角色,可以看一看2012斯坦福秋季学期Devlin老师的数学概要课程(“Mathematics: Making the Invisible Visible")。你可以从iTunes University(Stanford)免费下载,也可以在YouTube上看(共五集),尤其可以关注讲座1和讲座4的前半部分。
课程相关教材 注册该课程的学生将能在课程期间免费阅读相关章节,这些都是由授课教师为课程精心选择的。你可以通过Chegg网站上的电子阅读器来阅读教材的Coursera精简电子版。如果你选择了“购买此书”,你可以买到这本教材的完整版,而不限于本课程中涉及的章节。这是由Coursera与出版商及Chegg联合发起的。 圣智优选:掌握论据 作者:Sinnott-Armstrong, Walter, Sinnott-Armstrong, Walter (WalterSinnott-Armstrong), Fogelin, Robert J. 出版商:圣智学习出版集团
另外还有一些近期的文章和新闻提到了这门课,请戳链接: 1.Raleigh News and Observer Article - January 20, 2013 () 2."How Free Online Courses are Changing the Traditional Liberal Arts Education" PBS Newshour - January 8, 2013()
', '', '铭飞科技', '/22\\22.html', '', '0', '1549');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `cms_class_50`
+-- ----------------------------
+DROP TABLE IF EXISTS `cms_class_50`;
+CREATE TABLE `cms_class_50` (
+ `basicId` int(11) NOT NULL,
+ `school` varchar(220) DEFAULT NULL,
+ `platform` varchar(220) DEFAULT NULL,
+ PRIMARY KEY (`basicId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of `cms_class_50`
+-- ----------------------------
+BEGIN;
+INSERT INTO `cms_class_50` VALUES ('2', '1', '2'), ('3', '3', '2'), ('4', '1', '4'), ('5', '2', '1'), ('6', '2', '1'), ('7', '1', '1');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `cms_column`
+-- ----------------------------
+DROP TABLE IF EXISTS `cms_column`;
+CREATE TABLE `cms_column` (
+ `COLUMN_CATEGORYID` int(22) NOT NULL DEFAULT '0' COMMENT '关联category表(类别表ID)',
+ `COLUMN_KEYWORD` varchar(300) DEFAULT NULL COMMENT '栏目简介',
+ `COLUMN_DESCRIP` varchar(500) DEFAULT NULL COMMENT '栏目关键字描述',
+ `COLUMN_TYPE` int(2) DEFAULT NULL COMMENT '1,代表列表栏目。2,代表缩单篇。',
+ `COLUMN_URL` varchar(50) DEFAULT NULL COMMENT '如果是外部链接,则保持外部链接地址。如果为最终列表栏目,就保存文章显示列表',
+ `COLUMN_LISTURL` varchar(50) DEFAULT NULL COMMENT '最终列表栏目的列表模板地址',
+ `COLUMN_TENTMODELID` int(22) DEFAULT NULL COMMENT '栏目类型,直接影响栏目发布的表单样式',
+ `COLUMN_WEBSITEID` int(22) DEFAULT NULL COMMENT '栏目所属站点ID',
+ `COLUMN_PATH` varchar(150) DEFAULT NULL COMMENT '栏目路径',
+ `COLUMN_CONTENTMODELID` int(11) DEFAULT '0' COMMENT '栏目管理的内容模型id',
+ PRIMARY KEY (`COLUMN_CATEGORYID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='栏目表';
+
+-- ----------------------------
+-- Records of `cms_column`
+-- ----------------------------
+BEGIN;
+INSERT INTO `cms_column` VALUES ('15', '', '', '1', 'about.htm', 'about.htm', null, '1549', '/15', '0'), ('16', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/16', '0'), ('17', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/17', '0'), ('18', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/18', '0'), ('19', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/19', '0'), ('20', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/20', '0'), ('21', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/21', '0'), ('22', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/22', '0'), ('23', '', '', '1', 'about.htm', 'liebiao.htm', null, '1549', '/23', '0'), ('24', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/24', '0'), ('25', '', '', '2', 'about.htm', 'about.htm', null, '1549', '/25', '0'), ('26', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/26', '0'), ('27', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/27', '0'), ('28', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/28', '0'), ('29', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/29', '0'), ('30', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/30', '0'), ('31', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/31', '0'), ('32', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/32', '0'), ('33', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/33', '0'), ('34', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/34', '0'), ('35', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/35', '0'), ('36', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/36', '0'), ('37', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/37', '0'), ('38', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/38', '0'), ('39', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/39', '0'), ('40', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/40', '0'), ('41', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/41', '0'), ('42', '', '', '1', 'detail.htm', 'list.htm', null, '1549', '/42', '0'), ('48', '', '', '1', 'detail.htm', 'lists.html', null, '1549', '/48', '1'), ('49', '', '', '1', 'detail.htm', 'speech.htm', null, '1549', '/49', '0'), ('50', '', '', '2', 'detail.htm', null, null, '1549', '/50', '0'), ('51', '', '', '2', 'detail.htm', null, null, '1549', '/51', '0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `cms_content_mode_field`
+-- ----------------------------
+DROP TABLE IF EXISTS `cms_content_mode_field`;
+CREATE TABLE `cms_content_mode_field` (
+ `FIELD_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '字段自增长id',
+ `FIELD_TIPSNAME` varchar(30) DEFAULT NULL COMMENT '字段提示文字',
+ `FIELD_FIELDNAME` varchar(20) DEFAULT NULL COMMENT '字段名称',
+ `FIELD_TYPE` int(11) DEFAULT NULL COMMENT '字段类型(如1.单行,2.多行,3.图片,等)',
+ `FIELD_DEFAULT` varchar(250) DEFAULT NULL COMMENT '字段默认值',
+ `FIELD_ISNULL` int(11) DEFAULT NULL COMMENT '字段是否为空 0:必填 1:可选',
+ `FIELD_CMID` int(11) DEFAULT NULL COMMENT '关联内容模型表id',
+ `FIELD_SORT` int(11) DEFAULT NULL COMMENT '字段排序',
+ `FIELD_ISSEARCH` int(255) DEFAULT NULL COMMENT '字段是否支持后台搜索0:不支持,1:支持',
+ PRIMARY KEY (`FIELD_ID`)
+) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='自定义内容模型关联字段表';
+
+-- ----------------------------
+-- Records of `cms_content_mode_field`
+-- ----------------------------
+BEGIN;
+INSERT INTO `cms_content_mode_field` VALUES ('1', '学校', 'school', '9', '筛选演示一,筛选演示二,筛选演示三', '1', '1', null, '1'), ('2', '机构', 'platform', '9', '筛选演示一,筛选演示二,筛选演示三', '1', '1', null, '1');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `cms_content_model`
+-- ----------------------------
+DROP TABLE IF EXISTS `cms_content_model`;
+CREATE TABLE `cms_content_model` (
+ `CM_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
+ `CM_TIPSNAME` varchar(30) NOT NULL COMMENT '表单提示文字',
+ `CM_TABLENAME` varchar(20) NOT NULL COMMENT '表单名称',
+ `CM_MANAGERID` int(11) NOT NULL COMMENT '表单管理员ID',
+ PRIMARY KEY (`CM_ID`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='自定义模型表';
+
+-- ----------------------------
+-- Records of `cms_content_model`
+-- ----------------------------
+BEGIN;
+INSERT INTO `cms_content_model` VALUES ('1', '课程', 'cms_class_50', '50');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `cms_search`
+-- ----------------------------
+DROP TABLE IF EXISTS `cms_search`;
+CREATE TABLE `cms_search` (
+ `SEARCH_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长ID',
+ `SEARCH_NAME` varchar(20) NOT NULL COMMENT '搜索名称',
+ `SEARCH_TEMPLETS` varchar(50) NOT NULL COMMENT '搜索结果模版',
+ `SEARCH_WEBSITEID` int(11) NOT NULL COMMENT '搜索管理的应用id',
+ PRIMARY KEY (`SEARCH_ID`)
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='自定义搜索表';
+
+-- ----------------------------
+-- Records of `cms_search`
+-- ----------------------------
+BEGIN;
+INSERT INTO `cms_search` VALUES ('1', '头部', 'search.htm', '1549'), ('9', '列表页面搜索', 'search-list.htm', '1549');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `comment`
+-- ----------------------------
+DROP TABLE IF EXISTS `comment`;
+CREATE TABLE `comment` (
+ `COMMENT_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '评论ID(主键)',
+ `COMMENT_COMMENTID` int(11) NOT NULL COMMENT '父评论ID',
+ `COMMENT_CONTENT` text NOT NULL COMMENT '评论的内容',
+ `COMMENT_PICTURE` varchar(300) DEFAULT NULL COMMENT '评论时发布的图片,可上传多张图片',
+ `COMMENT_TIME` datetime NOT NULL COMMENT '评论时间',
+ `COMMENT_TYPE` int(11) NOT NULL DEFAULT '2' COMMENT '评论的类型:1 匿名,2 公开,默认为公开',
+ `COMMENT_PEOPLEID` int(11) DEFAULT '0' COMMENT '评论者ID,默认为非会员用户(即游客)',
+ `COMMENT_POINTS` int(11) DEFAULT '0' COMMENT '评价打分(-1至5分)',
+ `COMMENT_BASICID` int(11) NOT NULL COMMENT '(文章、商品...)绑定basicId(外键)',
+ `COMMENT_APPID` int(11) DEFAULT NULL COMMENT '(文章、商品)绑定的应用编号',
+ PRIMARY KEY (`COMMENT_ID`),
+ KEY `index2` (`COMMENT_BASICID`) USING BTREE
+) ENGINE=MyISAM AUTO_INCREMENT=78 DEFAULT CHARSET=utf8 COMMENT='评论表';
+
+-- ----------------------------
+-- Table structure for `diy_form`
+-- ----------------------------
+DROP TABLE IF EXISTS `diy_form`;
+CREATE TABLE `diy_form` (
+ `DF_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
+ `DF_TIPSNAME` varchar(30) NOT NULL COMMENT '自定义表单提示文字',
+ `DF_TABLENAME` varchar(20) NOT NULL COMMENT '自定义表单表名',
+ `DF_MANAGERID` int(11) NOT NULL COMMENT '自定义表单关联的关联员id',
+ `DF_APPID` int(11) DEFAULT NULL COMMENT '自定义表单关联的应用编号',
+ PRIMARY KEY (`DF_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='自定义表单表';
+
+-- ----------------------------
+-- Table structure for `diy_form_field`
+-- ----------------------------
+DROP TABLE IF EXISTS `diy_form_field`;
+CREATE TABLE `diy_form_field` (
+ `DFF_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '字段自增长id',
+ `DFF_TIPSNAME` varchar(30) DEFAULT NULL COMMENT '字段提示文字',
+ `DFF_FIELDNAME` varchar(20) DEFAULT NULL COMMENT '字段名称',
+ `DFF_TYPE` int(11) DEFAULT NULL COMMENT '字段类型(如1.单行,2.多行,3.图片,等)',
+ `DFF_DEFAULT` varchar(250) DEFAULT NULL COMMENT '字段的默认值',
+ `DFF_ISNULL` int(11) DEFAULT NULL COMMENT '字段是否为空',
+ `DFF_SORT` int(11) DEFAULT NULL COMMENT '自定义表单的排序',
+ `DFF_FORMID` int(11) DEFAULT NULL COMMENT '字段管理的表单id',
+ PRIMARY KEY (`DFF_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='自定义表单字段表';
+
+-- ----------------------------
+-- Table structure for `manager`
+-- ----------------------------
+DROP TABLE IF EXISTS `manager`;
+CREATE TABLE `manager` (
+ `MANAGER_ID` bigint(22) NOT NULL AUTO_INCREMENT COMMENT '管理员ID(主键)',
+ `MANAGER_NAME` varchar(15) DEFAULT NULL COMMENT '管理员用户名',
+ `MANAGER_NICKNAME` varchar(15) DEFAULT NULL COMMENT '管理员昵称',
+ `MANAGER_PASSWORD` varchar(45) DEFAULT NULL COMMENT '管理员密码',
+ `MANAGER_ROLEID` bigint(22) DEFAULT NULL COMMENT '角色编号',
+ `MANAGER_PEOPLEID` bigint(22) DEFAULT '0' COMMENT '用户编号即商家编号',
+ `MANAGER_TIME` datetime DEFAULT NULL COMMENT '管理员创建时间',
+ PRIMARY KEY (`MANAGER_ID`)
+) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COMMENT='管理员表';
+
+-- ----------------------------
+-- Records of `manager`
+-- ----------------------------
+BEGIN;
+INSERT INTO `manager` VALUES ('50', 'msopen', 'msopen', '9d8622060de5f24937b60585c3f4d66b', '48', '0', '2015-09-18 11:54:36');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `manager_model_page`
+-- ----------------------------
+DROP TABLE IF EXISTS `manager_model_page`;
+CREATE TABLE `manager_model_page` (
+ `mmp_managerID` int(11) DEFAULT NULL COMMENT '自增长id',
+ `mmp_modelID` int(11) DEFAULT NULL COMMENT '模块编号',
+ `mmp_url` varchar(255) DEFAULT NULL COMMENT '默认后台显示的主界面'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='后台主界面管理表';
+
+-- ----------------------------
+-- Table structure for `model`
+-- ----------------------------
+DROP TABLE IF EXISTS `model`;
+CREATE TABLE `model` (
+ `MODEL_ID` int(22) NOT NULL AUTO_INCREMENT COMMENT '模块自增长id',
+ `MODEL_TITLE` varchar(150) DEFAULT NULL COMMENT '模块标题',
+ `MODEL_CODE` varchar(255) DEFAULT NULL COMMENT '模块编码',
+ `MODEL_MODELID` int(22) DEFAULT NULL COMMENT '模块的父模块id',
+ `MODEL_URL` varchar(255) DEFAULT NULL COMMENT '模块连接地址',
+ `MODEL_DATETIME` datetime DEFAULT NULL,
+ `MODEL_ICON` varchar(120) DEFAULT NULL COMMENT '模块图标',
+ `MODEL_MODELMANAGERID` int(11) DEFAULT NULL COMMENT '模块关联的关联员id',
+ `MODEL_SORT` int(11) DEFAULT NULL COMMENT '模块的排序',
+ `MODEL_ISMENU` int(1) DEFAULT NULL COMMENT '模块是否是菜单',
+ PRIMARY KEY (`MODEL_ID`),
+ UNIQUE KEY `SYS_C009201` (`MODEL_ID`),
+ KEY `MODEL_MODELID` (`MODEL_MODELID`),
+ KEY `model_code` (`MODEL_CODE`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8 COMMENT='模块表';
+
+-- ----------------------------
+-- Records of `model`
+-- ----------------------------
+BEGIN;
+INSERT INTO `model` VALUES ('1', '内容管理', '02000000', '0', '', '2014-08-01 16:19:50', '', '0', null, null), ('4', '管理员管理', '01020000', '23', '/manager/manager/queryList.do', '2014-08-03 09:15:02', '', '0', null, null), ('5', '角色管理', '01010000', '23', '/manager/role/queryList.do', '2014-08-03 09:15:14', '', '0', null, null), ('7', '栏目管理', '02990000', '1', '/manager/cms/column/list.do', '2014-08-03 09:16:29', '', '0', null, null), ('8', '文章管理', '02980000', '1', '/manager/cms/article/index.do', '2014-08-03 09:17:10', '', '0', null, null), ('22', '会员中心', '07000000', '0', '', '2014-09-08 08:11:28', '', '0', null, '1'), ('23', '权限管理', '01000000', '0', '', '2014-09-08 08:12:22', '', '0', null, null), ('33', '数据导入', '02090000', '0', '', '2014-10-07 11:32:07', '', '0', null, null), ('34', '织梦数据导入', '02090100', '33', '/manager/cms/dede/dede.do', '2014-10-07 11:32:47', '', '0', null, null), ('35', '自定义模型', '02060000', '84', '/manager/cms/contentModel/list.do', '2014-10-13 18:27:23', '', '0', null, null), ('36', '自定义搜索', '02050000', '84', '/manager/cms/search/list.do', '2014-10-13 18:28:34', '', '0', null, null), ('79', '生成器', '11000000', '0', '', '2014-12-18 11:36:16', '', '0', null, null), ('80', '生成主页', '11010000', '79', '/manager/cms/generate/index.do', '2014-12-18 11:37:15', '', '0', null, null), ('81', '生成栏目', '11020000', '79', '/manager/cms/generate/column.do', '2014-12-18 11:37:53', '', '0', null, null), ('82', '生成文章', '11030000', '79', '/manager/cms/generate/article.do', '2014-12-18 11:38:38', '', '0', null, null), ('84', '系统管理', '12000000', '0', '', '2014-12-18 18:30:24', '', '0', null, null), ('86', '应用设置', '12010000', '84', '/manager/app/-1/edit.do', '2014-12-18 18:31:59', '', '0', null, null), ('88', '用户管理', '07020100', '22', '/manager/people/user/list.do', '2015-09-18 11:44:54', '', '0', null, '1'), ('89', '自定义页面', '12030100', '84', '/manager/modeltemplate/list.do', '2015-09-18 17:32:04', null, '0', null, null), ('90', '自定义表单', '12050000', '84', '/manager/diy/form/list.do', '2015-09-18 22:06:02', null, null, null, null), ('91', '模板管理', '12020000', '84', '/manager/cms/templet/queryTempletSkin.do', null, null, null, null, null);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `model_template`
+-- ----------------------------
+DROP TABLE IF EXISTS `model_template`;
+CREATE TABLE `model_template` (
+ `mt_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
+ `mt_modelID` int(11) DEFAULT NULL COMMENT '模块id',
+ `mt_appID` int(11) DEFAULT NULL COMMENT '应用id',
+ `mt_path` varchar(255) DEFAULT NULL COMMENT '自定义页面绑定模板的路径',
+ `mt_title` varchar(255) DEFAULT NULL COMMENT '自定义页面标题',
+ `mt_key` varchar(255) DEFAULT NULL COMMENT '自定义页面访问路径',
+ PRIMARY KEY (`mt_id`),
+ KEY `mt_key` (`mt_key`) USING BTREE,
+ KEY `mt_appID` (`mt_appID`),
+ KEY `mt_modelID` (`mt_modelID`) USING BTREE
+) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='自定义页面表';
+
+-- ----------------------------
+-- Records of `model_template`
+-- ----------------------------
+BEGIN;
+INSERT INTO `model_template` VALUES ('1', '0', '1549', 'register.htm', '注册', 'register'), ('2', '0', '1549', 'login.htm', '登录', 'login'), ('3', '0', '1549', 'userCenter.htm', '个人中心', 'people/userCenter'), ('4', '0', '1549', 'changePassWord.htm', '修改密码', 'changePassWord');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `people`
+-- ----------------------------
+DROP TABLE IF EXISTS `people`;
+CREATE TABLE `people` (
+ `PEOPLE_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '增长自ID',
+ `PEOPLE_PHONE` varchar(30) DEFAULT NULL COMMENT '手机号码',
+ `PEOPLE_NAME` varchar(30) DEFAULT NULL COMMENT '陆登账号',
+ `PEOPLE_PASSWORD` varchar(50) DEFAULT NULL COMMENT '陆登密码',
+ `PEOPLE_DATETIME` datetime NOT NULL COMMENT '注册时间',
+ `PEOPLE_APP_ID` int(11) NOT NULL COMMENT '用户所属用户ID',
+ `PEOPLE_MAIL` varchar(120) DEFAULT NULL COMMENT '用户邮箱',
+ `PEOPLE_STATE` int(2) DEFAULT '0' COMMENT '用户状态',
+ `PEOPLE_CODE` varchar(15) DEFAULT NULL COMMENT '随机验证码',
+ `PEOPLE_CODESENDDATE` datetime DEFAULT NULL,
+ `PEOPLE_PHONECHECK` int(1) DEFAULT NULL,
+ `PEOPLE_MAILLCHECK` int(1) DEFAULT NULL,
+ PRIMARY KEY (`PEOPLE_ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='户用基础表';
+
+-- ----------------------------
+-- Table structure for `people_user`
+-- ----------------------------
+DROP TABLE IF EXISTS `people_user`;
+CREATE TABLE `people_user` (
+ `PU_PEOPLE_ID` int(11) NOT NULL COMMENT '用户ID关联people表的(people_id)',
+ `PU_REAL_NAME` varchar(50) DEFAULT NULL COMMENT '用户真实名称',
+ `PU_ADDRESS` varchar(200) DEFAULT NULL COMMENT '用户地址',
+ `PU_ICON` varchar(120) DEFAULT NULL COMMENT '用户头像图标地址',
+ `PU_NICKNAME` varchar(50) DEFAULT NULL COMMENT '用户昵称',
+ `PU_SEX` int(2) DEFAULT NULL COMMENT '用户性别(0.未知、1.男、2.女)',
+ `PU_BIRTHDAY` date DEFAULT NULL COMMENT '用户出生年月日',
+ `PU_CARD` varchar(255) DEFAULT NULL COMMENT '身份证',
+ `PU_APP_ID` int(11) NOT NULL COMMENT '用户所属应用ID',
+ PRIMARY KEY (`PU_PEOPLE_ID`),
+ KEY `PU_PEOPLE_ID` (`PU_PEOPLE_ID`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户基础信息表';
+
+-- ----------------------------
+-- Table structure for `role`
+-- ----------------------------
+DROP TABLE IF EXISTS `role`;
+CREATE TABLE `role` (
+ `ROLE_ID` bigint(22) NOT NULL AUTO_INCREMENT COMMENT '角色ID,自增长',
+ `ROLE_NAME` varchar(30) DEFAULT NULL COMMENT '角色名',
+ `ROLE_MANAGERID` bigint(22) DEFAULT '0' COMMENT '角色管理员编号',
+ PRIMARY KEY (`ROLE_ID`)
+) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COMMENT='角色表';
+
+-- ----------------------------
+-- Records of `role`
+-- ----------------------------
+BEGIN;
+INSERT INTO `role` VALUES ('48', 'msopen', '50');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `role_model`
+-- ----------------------------
+DROP TABLE IF EXISTS `role_model`;
+CREATE TABLE `role_model` (
+ `RM_MODELID` int(22) DEFAULT NULL COMMENT '模块编号',
+ `RM_ROLEID` int(22) DEFAULT NULL COMMENT '角色编号',
+ UNIQUE KEY `index` (`RM_MODELID`,`RM_ROLEID`) USING BTREE,
+ KEY `RM_MODELID` (`RM_MODELID`) USING BTREE,
+ CONSTRAINT `role_model_ibfk_1` FOREIGN KEY (`RM_MODELID`) REFERENCES `model` (`MODEL_ID`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色模块关联表';
+
+-- ----------------------------
+-- Records of `role_model`
+-- ----------------------------
+BEGIN;
+INSERT INTO `role_model` VALUES ('1', '48'), ('4', '48'), ('5', '48'), ('7', '48'), ('8', '48'), ('22', '48'), ('23', '48'), ('33', '48'), ('34', '48'), ('35', '48'), ('36', '48'), ('79', '48'), ('80', '48'), ('81', '48'), ('82', '48'), ('84', '48'), ('86', '48'), ('88', '48'), ('89', '48'), ('90', '48'), ('91', '48');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for `system_main_page`
+-- ----------------------------
+DROP TABLE IF EXISTS `system_main_page`;
+CREATE TABLE `system_main_page` (
+ `smp_appID` int(11) DEFAULT NULL COMMENT '自增长ID',
+ `smp_url` varchar(255) DEFAULT NULL COMMENT '默认后台显示的主界面',
+ `smp_modelID` int(11) DEFAULT NULL COMMENT '模块编号',
+ `smp_managerID` int(11) DEFAULT NULL COMMENT '管理员编号'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='后台主界面管理界面';
+
+-- ----------------------------
+-- Table structure for `system_skin`
+-- ----------------------------
+DROP TABLE IF EXISTS `system_skin`;
+CREATE TABLE `system_skin` (
+ `ss_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长ID',
+ `ss_loginpage` varchar(255) DEFAULT NULL COMMENT '登陆页面',
+ `ss_backgroundimg` varchar(255) DEFAULT NULL COMMENT '背景图片',
+ `ss_color` varchar(255) DEFAULT NULL COMMENT '字体颜色',
+ `ss_css` varchar(255) DEFAULT NULL COMMENT '样式',
+ `ss_datetime` datetime DEFAULT NULL COMMENT '生成时间',
+ `ss_appID` int(11) DEFAULT NULL COMMENT '0后台发布大于0表示是应用自定义',
+ `ss_categoryID` int(11) DEFAULT NULL COMMENT '主题分类',
+ PRIMARY KEY (`ss_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='后台皮肤管理表';
+
+-- ----------------------------
+-- Table structure for `system_skin_manager`
+-- ----------------------------
+DROP TABLE IF EXISTS `system_skin_manager`;
+CREATE TABLE `system_skin_manager` (
+ `ssm_managerID` int(11) NOT NULL DEFAULT '0' COMMENT '系统管理员编号',
+ `ssm_system_skin_ID` int(11) DEFAULT NULL COMMENT '系统皮肤管理员编号',
+ PRIMARY KEY (`ssm_managerID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='系统皮肤与管理员关联表';
+
+-- ----------------------------
+-- View structure for `v_article`
+-- ----------------------------
+DROP VIEW IF EXISTS `v_article`;
+CREATE VIEW `v_article` AS select `cms_article`.`ARTICLE_BASICID` AS `ARTICLE_BASICID`,`basic`.`BASIC_ID` AS `BASIC_ID`,`basic`.`BASIC_CATEGORYID` AS `BASIC_CATEGORYID`,`basic`.`BASIC_TITLE` AS `BASIC_TITLE`,`basic`.`BASIC_DESCRIPTION` AS `BASIC_DESCRIPTION`,`basic`.`BASIC_THUMBNAILS` AS `BASIC_THUMBNAILS`,`basic`.`BASIC_HIT` AS `BASIC_HIT`,`basic`.`BASIC_DATETIME` AS `BASIC_DATETIME`,`basic`.`BASIC_UPDATETIME` AS `BASIC_UPDATETIME`,`basic`.`BASIC_PEOPLEID` AS `BASIC_PEOPLEID`,`cms_article`.`ARTICLE_AUTHOR` AS `ARTICLE_AUTHOR`,`cms_article`.`ARTICLE_CONTENT` AS `ARTICLE_CONTENT`,`cms_article`.`ARTICLE_TYPE` AS `ARTICLE_TYPE`,`cms_article`.`ARTICLE_SOURCE` AS `ARTICLE_SOURCE`,`cms_article`.`ARTICLE_URL` AS `ARTICLE_URL`,`cms_article`.`ARTICLE_KEYWORD` AS `ARTICLE_KEYWORD`,`cms_article`.`ARTICLE_FREEORDER` AS `ARTICLE_FREEORDER`,`cms_article`.`ARTICLE_WEBID` AS `ARTICLE_WEBID`,`cms_column`.`COLUMN_KEYWORD` AS `COLUMN_KEYWORD`,`cms_column`.`COLUMN_DESCRIP` AS `COLUMN_DESCRIP`,`cms_column`.`COLUMN_TYPE` AS `COLUMN_TYPE`,`cms_column`.`COLUMN_URL` AS `COLUMN_URL`,`cms_column`.`COLUMN_LISTURL` AS `COLUMN_LISTURL`,`cms_column`.`COLUMN_TENTMODELID` AS `COLUMN_TENTMODELID`,`cms_column`.`COLUMN_WEBSITEID` AS `COLUMN_WEBSITEID`,`cms_column`.`COLUMN_PATH` AS `column_path`,`cms_column`.`COLUMN_CONTENTMODELID` AS `COLUMN_CONTENTMODELID`,`category`.`CATEGORY_TITLE` AS `CATEGORY_TITLE`,`category`.`CATEGORY_APPID` AS `CATEGORY_APPID`,`cms_column`.`COLUMN_CATEGORYID` AS `COLUMN_CATEGORYID`,`category`.`CATEGORY_ID` AS `CATEGORY_ID`,`basic`.`BASIC_SORT` AS `BASIC_SORT` from (((`basic` join `cms_article` on((`basic`.`BASIC_ID` = `cms_article`.`ARTICLE_BASICID`))) join `cms_column` on((`basic`.`BASIC_CATEGORYID` = `cms_column`.`COLUMN_CATEGORYID`))) join `category` on((`cms_column`.`COLUMN_CATEGORYID` = `category`.`CATEGORY_ID`)));
+
+-- ----------------------------
+-- View structure for `v_people_user`
+-- ----------------------------
+DROP VIEW IF EXISTS `v_people_user`;
+CREATE VIEW `v_people_user` AS select `people`.`PEOPLE_ID` AS `PEOPLE_ID`,`people`.`PEOPLE_PHONE` AS `PEOPLE_PHONE`,`people`.`PEOPLE_NAME` AS `PEOPLE_NAME`,`people`.`PEOPLE_PASSWORD` AS `PEOPLE_PASSWORD`,`people`.`PEOPLE_DATETIME` AS `PEOPLE_DATETIME`,`people`.`PEOPLE_APP_ID` AS `PEOPLE_APP_ID`,`people`.`PEOPLE_MAIL` AS `PEOPLE_MAIL`,`people`.`PEOPLE_STATE` AS `PEOPLE_STATE`,`people`.`PEOPLE_CODE` AS `PEOPLE_CODE`,`people`.`PEOPLE_CODESENDDATE` AS `PEOPLE_CODESENDDATE`,`people`.`PEOPLE_PHONECHECK` AS `PEOPLE_PHONECHECK`,`people`.`PEOPLE_MAILLCHECK` AS `PEOPLE_MAILLCHECK`,`people_user`.`PU_PEOPLE_ID` AS `PU_PEOPLE_ID`,`people_user`.`PU_REAL_NAME` AS `PU_REAL_NAME`,`people_user`.`PU_ADDRESS` AS `PU_ADDRESS`,`people_user`.`PU_ICON` AS `PU_ICON`,`people_user`.`PU_NICKNAME` AS `PU_NICKNAME`,`people_user`.`PU_SEX` AS `PU_SEX`,`people_user`.`PU_BIRTHDAY` AS `PU_BIRTHDAY`,`people_user`.`PU_CARD` AS `PU_CARD`,`people_user`.`PU_APP_ID` AS `PU_APP_ID` from (`people` left join `people_user` on((`people`.`PEOPLE_ID` = `people_user`.`PU_PEOPLE_ID`)));
+
+-- ----------------------------
+-- Procedure structure for `p_getAllChildren`
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `p_getAllChildren`;
+delimiter ;;
+CREATE PROCEDURE `p_getAllChildren`(`pId` int,`appId`int,`modelId` int)
+BEGIN
+
+ declare lev int;
+ set lev=1;
+ drop TEMPORARY table if exists tmp_category;
+ drop TEMPORARY table if exists tmp_category_child;
+ CREATE TEMPORARY TABLE tmp_category(category_id int(40),category_title varchar(50),category_categoryid varchar(40) ,lev INT) engine=memory;
+ CREATE TEMPORARY TABLE tmp_category_child(category_id int(40),category_title varchar(50),category_categoryid varchar(40) ,lev INT) engine=memory;
+ INSERT tmp_category SELECT category_id,category_title,category_categoryid,1 FROM `category` WHERE category_categoryid=pid and category_appid=appId and category_modelId=modelId;
+ INSERT tmp_category_child SELECT category_id,category_title,category_categoryid,1 FROM `category` WHERE category_categoryid=pid and category_appid=appId and category_modelId=modelId;
+ while ROW_COUNT()>0
+ do set lev=lev+1;
+ INSERT tmp_category SELECT c.category_id,c.category_title,c.category_categoryid,lev from category c join tmp_category_child a on c.category_categoryid = a.category_id AND a.lev=lev-1 and c.category_appid=appId and c.category_modelId=modelId;
+ INSERT tmp_category_child SELECT c.category_id,c.category_title,c.category_categoryid,lev from category c join tmp_category a on c.category_categoryid = a.category_id AND a.lev=lev-1 and c.category_appid=appId and c.category_modelId=modelId;
+ end while ;
+ INSERT tmp_category SELECT c.category_id,c.category_title,c.category_categoryid,0 FROM category c WHERE c.category_id=pid and c.category_appid=appId and c.category_modelId=modelId;
+ SELECT * FROM tmp_category;
+END
+ ;;
+delimiter ;
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git "a/doc/\344\275\277\347\224\250\346\211\213\345\206\214-\351\241\271\347\233\256\351\203\250\347\275\262.doc" "b/doc/\344\275\277\347\224\250\346\211\213\345\206\214-\351\241\271\347\233\256\351\203\250\347\275\262.doc"
new file mode 100644
index 00000000..72eb44cc
Binary files /dev/null and "b/doc/\344\275\277\347\224\250\346\211\213\345\206\214-\351\241\271\347\233\256\351\203\250\347\275\262.doc" differ
diff --git a/libs/Sdk4J-2.0.jar b/libs/Sdk4J-2.0.jar
new file mode 100644
index 00000000..78074448
Binary files /dev/null and b/libs/Sdk4J-2.0.jar differ
diff --git a/libs/Sdk4J.jar b/libs/Sdk4J.jar
new file mode 100644
index 00000000..78074448
Binary files /dev/null and b/libs/Sdk4J.jar differ
diff --git a/libs/activation-1.1.jar b/libs/activation-1.1.jar
new file mode 100644
index 00000000..53f82a1c
Binary files /dev/null and b/libs/activation-1.1.jar differ
diff --git a/libs/aopalliance-1.0.jar b/libs/aopalliance-1.0.jar
new file mode 100644
index 00000000..578b1a0c
Binary files /dev/null and b/libs/aopalliance-1.0.jar differ
diff --git a/libs/asm-4.2.jar b/libs/asm-4.2.jar
new file mode 100644
index 00000000..693913dd
Binary files /dev/null and b/libs/asm-4.2.jar differ
diff --git a/libs/aspectjweaver-1.8.1.jar b/libs/aspectjweaver-1.8.1.jar
new file mode 100644
index 00000000..50cb74d6
Binary files /dev/null and b/libs/aspectjweaver-1.8.1.jar differ
diff --git a/libs/bonecp-0.7.1.RELEASE.jar b/libs/bonecp-0.7.1.RELEASE.jar
new file mode 100644
index 00000000..51e5ea18
Binary files /dev/null and b/libs/bonecp-0.7.1.RELEASE.jar differ
diff --git a/libs/c3p0-0.9.1.1.jar b/libs/c3p0-0.9.1.1.jar
new file mode 100644
index 00000000..8d283e4e
Binary files /dev/null and b/libs/c3p0-0.9.1.1.jar differ
diff --git a/libs/cglib-3.1.jar b/libs/cglib-3.1.jar
new file mode 100644
index 00000000..25a5df15
Binary files /dev/null and b/libs/cglib-3.1.jar differ
diff --git a/libs/cglib-nodep-2.2.jar b/libs/cglib-nodep-2.2.jar
new file mode 100644
index 00000000..ed07cb50
Binary files /dev/null and b/libs/cglib-nodep-2.2.jar differ
diff --git a/libs/commons-beanutils-1.8.0.jar b/libs/commons-beanutils-1.8.0.jar
new file mode 100644
index 00000000..caf7ae33
Binary files /dev/null and b/libs/commons-beanutils-1.8.0.jar differ
diff --git a/libs/commons-codec-1.10.jar b/libs/commons-codec-1.10.jar
new file mode 100644
index 00000000..1d7417c4
Binary files /dev/null and b/libs/commons-codec-1.10.jar differ
diff --git a/libs/commons-collections-3.2.jar b/libs/commons-collections-3.2.jar
new file mode 100644
index 00000000..75580be2
Binary files /dev/null and b/libs/commons-collections-3.2.jar differ
diff --git a/libs/commons-digester-1.8.jar b/libs/commons-digester-1.8.jar
new file mode 100644
index 00000000..1110f0aa
Binary files /dev/null and b/libs/commons-digester-1.8.jar differ
diff --git a/libs/commons-fileupload-1.3.1.jar b/libs/commons-fileupload-1.3.1.jar
new file mode 100644
index 00000000..af0cda22
Binary files /dev/null and b/libs/commons-fileupload-1.3.1.jar differ
diff --git a/libs/commons-httpclient-3.1-rc1.jar b/libs/commons-httpclient-3.1-rc1.jar
new file mode 100644
index 00000000..09fe533a
Binary files /dev/null and b/libs/commons-httpclient-3.1-rc1.jar differ
diff --git a/libs/commons-io-2.2.jar b/libs/commons-io-2.2.jar
new file mode 100644
index 00000000..84ca5658
Binary files /dev/null and b/libs/commons-io-2.2.jar differ
diff --git a/libs/commons-lang-2.5.jar b/libs/commons-lang-2.5.jar
new file mode 100644
index 00000000..ae491da8
Binary files /dev/null and b/libs/commons-lang-2.5.jar differ
diff --git a/libs/commons-logging-1.1.1.jar b/libs/commons-logging-1.1.1.jar
new file mode 100644
index 00000000..1deef144
Binary files /dev/null and b/libs/commons-logging-1.1.1.jar differ
diff --git a/libs/core-3.1.0.jar b/libs/core-3.1.0.jar
new file mode 100644
index 00000000..63c228a9
Binary files /dev/null and b/libs/core-3.1.0.jar differ
diff --git a/libs/dom4j-1.6.1.jar b/libs/dom4j-1.6.1.jar
new file mode 100644
index 00000000..c8c4dbb9
Binary files /dev/null and b/libs/dom4j-1.6.1.jar differ
diff --git a/libs/dom4j-2.0.0-RC1.jar b/libs/dom4j-2.0.0-RC1.jar
new file mode 100644
index 00000000..ec16d435
Binary files /dev/null and b/libs/dom4j-2.0.0-RC1.jar differ
diff --git a/libs/druid-1.0.6.jar b/libs/druid-1.0.6.jar
new file mode 100644
index 00000000..ee25ca04
Binary files /dev/null and b/libs/druid-1.0.6.jar differ
diff --git a/libs/ezmorph-1.0.6.jar b/libs/ezmorph-1.0.6.jar
new file mode 100644
index 00000000..30fad12d
Binary files /dev/null and b/libs/ezmorph-1.0.6.jar differ
diff --git a/libs/fastjson-1.1.41.jar b/libs/fastjson-1.1.41.jar
new file mode 100644
index 00000000..5f58cef3
Binary files /dev/null and b/libs/fastjson-1.1.41.jar differ
diff --git a/libs/fastjson-1.2.6.jar b/libs/fastjson-1.2.6.jar
new file mode 100644
index 00000000..2e904185
Binary files /dev/null and b/libs/fastjson-1.2.6.jar differ
diff --git a/libs/filters-2.0.235.jar b/libs/filters-2.0.235.jar
new file mode 100644
index 00000000..39e4dd59
Binary files /dev/null and b/libs/filters-2.0.235.jar differ
diff --git a/libs/freemarker-2.3.20.jar b/libs/freemarker-2.3.20.jar
new file mode 100644
index 00000000..91390441
Binary files /dev/null and b/libs/freemarker-2.3.20.jar differ
diff --git a/libs/guava-r08.jar b/libs/guava-r08.jar
new file mode 100644
index 00000000..618a3cb1
Binary files /dev/null and b/libs/guava-r08.jar differ
diff --git a/libs/hamcrest-core-1.3.jar b/libs/hamcrest-core-1.3.jar
new file mode 100644
index 00000000..9d5fe16e
Binary files /dev/null and b/libs/hamcrest-core-1.3.jar differ
diff --git a/libs/httpclient-4.3.4.jar b/libs/httpclient-4.3.4.jar
new file mode 100644
index 00000000..f8a7afeb
Binary files /dev/null and b/libs/httpclient-4.3.4.jar differ
diff --git a/libs/httpcore-4.3.2.jar b/libs/httpcore-4.3.2.jar
new file mode 100644
index 00000000..813ec234
Binary files /dev/null and b/libs/httpcore-4.3.2.jar differ
diff --git a/libs/jackson-core-asl-1.9.11.jar b/libs/jackson-core-asl-1.9.11.jar
new file mode 100644
index 00000000..145fc489
Binary files /dev/null and b/libs/jackson-core-asl-1.9.11.jar differ
diff --git a/libs/jackson-core-asl-1.9.13.jar b/libs/jackson-core-asl-1.9.13.jar
new file mode 100644
index 00000000..bb4fe1da
Binary files /dev/null and b/libs/jackson-core-asl-1.9.13.jar differ
diff --git a/libs/jackson-mapper-asl-1.9.11.jar b/libs/jackson-mapper-asl-1.9.11.jar
new file mode 100644
index 00000000..3e686c6f
Binary files /dev/null and b/libs/jackson-mapper-asl-1.9.11.jar differ
diff --git a/libs/jackson-mapper-asl-1.9.13.jar b/libs/jackson-mapper-asl-1.9.13.jar
new file mode 100644
index 00000000..0f2073fc
Binary files /dev/null and b/libs/jackson-mapper-asl-1.9.13.jar differ
diff --git a/libs/java-image-scaling-0.8.6.jar b/libs/java-image-scaling-0.8.6.jar
new file mode 100644
index 00000000..fbc21e25
Binary files /dev/null and b/libs/java-image-scaling-0.8.6.jar differ
diff --git a/libs/javase-3.1.0.jar b/libs/javase-3.1.0.jar
new file mode 100644
index 00000000..2647da23
Binary files /dev/null and b/libs/javase-3.1.0.jar differ
diff --git a/libs/javax.mail-1.4.5.jar b/libs/javax.mail-1.4.5.jar
new file mode 100644
index 00000000..1037d7d7
Binary files /dev/null and b/libs/javax.mail-1.4.5.jar differ
diff --git a/libs/javax.servlet-api-3.1.0.jar b/libs/javax.servlet-api-3.1.0.jar
new file mode 100644
index 00000000..6b14c3d2
Binary files /dev/null and b/libs/javax.servlet-api-3.1.0.jar differ
diff --git a/libs/jaxb-api-2.2.12.jar b/libs/jaxb-api-2.2.12.jar
new file mode 100644
index 00000000..3f4638ce
Binary files /dev/null and b/libs/jaxb-api-2.2.12.jar differ
diff --git a/libs/jaxen-1.1.6.jar b/libs/jaxen-1.1.6.jar
new file mode 100644
index 00000000..52f47a4f
Binary files /dev/null and b/libs/jaxen-1.1.6.jar differ
diff --git a/libs/json-lib-2.2.3-jdk15.jar b/libs/json-lib-2.2.3-jdk15.jar
new file mode 100644
index 00000000..8c92fab0
Binary files /dev/null and b/libs/json-lib-2.2.3-jdk15.jar differ
diff --git a/libs/jsp-api-2.2.1-b03.jar b/libs/jsp-api-2.2.1-b03.jar
new file mode 100644
index 00000000..c20a4916
Binary files /dev/null and b/libs/jsp-api-2.2.1-b03.jar differ
diff --git a/libs/jsr311-api-1.1-ea.jar b/libs/jsr311-api-1.1-ea.jar
new file mode 100644
index 00000000..4cdc0891
Binary files /dev/null and b/libs/jsr311-api-1.1-ea.jar differ
diff --git a/libs/junit-4.11.jar b/libs/junit-4.11.jar
new file mode 100644
index 00000000..aaf74448
Binary files /dev/null and b/libs/junit-4.11.jar differ
diff --git a/libs/jxl-2.6.12.jar b/libs/jxl-2.6.12.jar
new file mode 100644
index 00000000..4a1fc64f
Binary files /dev/null and b/libs/jxl-2.6.12.jar differ
diff --git a/libs/jxl-2.6.jar b/libs/jxl-2.6.jar
new file mode 100644
index 00000000..313cab7f
Binary files /dev/null and b/libs/jxl-2.6.jar differ
diff --git a/libs/log4j-1.2.17.jar b/libs/log4j-1.2.17.jar
new file mode 100644
index 00000000..1d425cf7
Binary files /dev/null and b/libs/log4j-1.2.17.jar differ
diff --git a/libs/ms-proxy-1.0.0.jar b/libs/ms-proxy-1.0.0.jar
new file mode 100644
index 00000000..8ffc4176
Binary files /dev/null and b/libs/ms-proxy-1.0.0.jar differ
diff --git a/libs/ms-upgrader.jar b/libs/ms-upgrader.jar
new file mode 100644
index 00000000..c6b25e80
Binary files /dev/null and b/libs/ms-upgrader.jar differ
diff --git a/libs/mybatis-3.2.6.jar b/libs/mybatis-3.2.6.jar
new file mode 100644
index 00000000..cdd850fc
Binary files /dev/null and b/libs/mybatis-3.2.6.jar differ
diff --git a/libs/mybatis-spring-1.2.2.jar b/libs/mybatis-spring-1.2.2.jar
new file mode 100644
index 00000000..63a226f4
Binary files /dev/null and b/libs/mybatis-spring-1.2.2.jar differ
diff --git a/libs/mysql-connector-java-5.1.31.jar b/libs/mysql-connector-java-5.1.31.jar
new file mode 100644
index 00000000..26864e49
Binary files /dev/null and b/libs/mysql-connector-java-5.1.31.jar differ
diff --git a/libs/mysql-connector-java-5.1.8.jar b/libs/mysql-connector-java-5.1.8.jar
new file mode 100644
index 00000000..5a7c6fb0
Binary files /dev/null and b/libs/mysql-connector-java-5.1.8.jar differ
diff --git a/libs/protobuf-java-2.3.0.jar b/libs/protobuf-java-2.3.0.jar
new file mode 100644
index 00000000..e952209c
Binary files /dev/null and b/libs/protobuf-java-2.3.0.jar differ
diff --git a/libs/pull-parser-2.jar b/libs/pull-parser-2.jar
new file mode 100644
index 00000000..f5153fd4
Binary files /dev/null and b/libs/pull-parser-2.jar differ
diff --git a/libs/quartz-2.2.1.jar b/libs/quartz-2.2.1.jar
new file mode 100644
index 00000000..7cf3ca4d
Binary files /dev/null and b/libs/quartz-2.2.1.jar differ
diff --git a/libs/relaxngDatatype-20020414.jar b/libs/relaxngDatatype-20020414.jar
new file mode 100644
index 00000000..db9206f6
Binary files /dev/null and b/libs/relaxngDatatype-20020414.jar differ
diff --git a/libs/shiro-core-1.2.1.jar b/libs/shiro-core-1.2.1.jar
new file mode 100644
index 00000000..a5dede0f
Binary files /dev/null and b/libs/shiro-core-1.2.1.jar differ
diff --git a/libs/shiro-ehcache-1.2.1.jar b/libs/shiro-ehcache-1.2.1.jar
new file mode 100644
index 00000000..ef52711f
Binary files /dev/null and b/libs/shiro-ehcache-1.2.1.jar differ
diff --git a/libs/shiro-spring-1.2.1.jar b/libs/shiro-spring-1.2.1.jar
new file mode 100644
index 00000000..38fc9a27
Binary files /dev/null and b/libs/shiro-spring-1.2.1.jar differ
diff --git a/libs/shiro-web-1.2.1.jar b/libs/shiro-web-1.2.1.jar
new file mode 100644
index 00000000..f93594bc
Binary files /dev/null and b/libs/shiro-web-1.2.1.jar differ
diff --git a/libs/slf4j-api-1.5.10.jar b/libs/slf4j-api-1.5.10.jar
new file mode 100644
index 00000000..9ec867b2
Binary files /dev/null and b/libs/slf4j-api-1.5.10.jar differ
diff --git a/libs/slf4j-api-1.6.6.jar b/libs/slf4j-api-1.6.6.jar
new file mode 100644
index 00000000..4c03fa6b
Binary files /dev/null and b/libs/slf4j-api-1.6.6.jar differ
diff --git a/libs/slf4j-log4j12-1.5.11.jar b/libs/slf4j-log4j12-1.5.11.jar
new file mode 100644
index 00000000..ea7225be
Binary files /dev/null and b/libs/slf4j-log4j12-1.5.11.jar differ
diff --git a/libs/spring-aop-4.0.5.RELEASE.jar b/libs/spring-aop-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..062619c6
Binary files /dev/null and b/libs/spring-aop-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-aspects-4.0.5.RELEASE.jar b/libs/spring-aspects-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..2bcf455b
Binary files /dev/null and b/libs/spring-aspects-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-beans-4.0.5.RELEASE.jar b/libs/spring-beans-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..fb2f32ab
Binary files /dev/null and b/libs/spring-beans-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-context-4.0.5.RELEASE.jar b/libs/spring-context-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..fd6a0251
Binary files /dev/null and b/libs/spring-context-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-context-support-4.0.5.RELEASE.jar b/libs/spring-context-support-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..2167df7a
Binary files /dev/null and b/libs/spring-context-support-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-core-4.0.5.RELEASE.jar b/libs/spring-core-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..ef9166ed
Binary files /dev/null and b/libs/spring-core-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-expression-4.0.5.RELEASE.jar b/libs/spring-expression-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..248cbd22
Binary files /dev/null and b/libs/spring-expression-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-integration-core-4.0.4.RELEASE.jar b/libs/spring-integration-core-4.0.4.RELEASE.jar
new file mode 100644
index 00000000..f39ad2b9
Binary files /dev/null and b/libs/spring-integration-core-4.0.4.RELEASE.jar differ
diff --git a/libs/spring-integration-mail-4.0.4.RELEASE.jar b/libs/spring-integration-mail-4.0.4.RELEASE.jar
new file mode 100644
index 00000000..14ad5fd5
Binary files /dev/null and b/libs/spring-integration-mail-4.0.4.RELEASE.jar differ
diff --git a/libs/spring-jdbc-4.0.5.RELEASE.jar b/libs/spring-jdbc-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..3f695ecd
Binary files /dev/null and b/libs/spring-jdbc-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-messaging-4.0.7.RELEASE.jar b/libs/spring-messaging-4.0.7.RELEASE.jar
new file mode 100644
index 00000000..2e84e7db
Binary files /dev/null and b/libs/spring-messaging-4.0.7.RELEASE.jar differ
diff --git a/libs/spring-orm-4.0.5.RELEASE.jar b/libs/spring-orm-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..5212f22e
Binary files /dev/null and b/libs/spring-orm-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-retry-1.1.1.RELEASE.jar b/libs/spring-retry-1.1.1.RELEASE.jar
new file mode 100644
index 00000000..65c3d730
Binary files /dev/null and b/libs/spring-retry-1.1.1.RELEASE.jar differ
diff --git a/libs/spring-test-4.0.5.RELEASE.jar b/libs/spring-test-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..d75b2396
Binary files /dev/null and b/libs/spring-test-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-tx-4.0.5.RELEASE.jar b/libs/spring-tx-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..25660663
Binary files /dev/null and b/libs/spring-tx-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-web-4.0.5.RELEASE.jar b/libs/spring-web-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..c57f315c
Binary files /dev/null and b/libs/spring-web-4.0.5.RELEASE.jar differ
diff --git a/libs/spring-webmvc-4.0.5.RELEASE.jar b/libs/spring-webmvc-4.0.5.RELEASE.jar
new file mode 100644
index 00000000..f4a817c1
Binary files /dev/null and b/libs/spring-webmvc-4.0.5.RELEASE.jar differ
diff --git a/libs/stax-api-1.0-2.jar b/libs/stax-api-1.0-2.jar
new file mode 100644
index 00000000..015169dc
Binary files /dev/null and b/libs/stax-api-1.0-2.jar differ
diff --git a/libs/ueditor.jar b/libs/ueditor.jar
new file mode 100644
index 00000000..e8a1d992
Binary files /dev/null and b/libs/ueditor.jar differ
diff --git a/libs/xml-apis-1.0.b2.jar b/libs/xml-apis-1.0.b2.jar
new file mode 100644
index 00000000..ad33a5af
Binary files /dev/null and b/libs/xml-apis-1.0.b2.jar differ
diff --git a/libs/xpp3-1.1.4c.jar b/libs/xpp3-1.1.4c.jar
new file mode 100644
index 00000000..451ac82a
Binary files /dev/null and b/libs/xpp3-1.1.4c.jar differ
diff --git a/libs/xsdlib-2013.6.1.jar b/libs/xsdlib-2013.6.1.jar
new file mode 100644
index 00000000..a3156d01
Binary files /dev/null and b/libs/xsdlib-2013.6.1.jar differ
diff --git a/ms-rolling.log b/ms-rolling.log
new file mode 100644
index 00000000..138b2523
--- /dev/null
+++ b/ms-rolling.log
@@ -0,0 +1,3 @@
+[2015-12-26 17:14:52,448] qtp1468696365-19 com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId DEBUG - <== Total: 0
+[2015-12-26 17:15:51,356] Thread-1 com.mingsoft.base.listener.StartUpListener DEBUG - -=====
+[2015-12-26 17:15:51,365] Thread-1 com.alibaba.druid.pool.DruidDataSource INFO - {dataSource-1} closed
diff --git a/ms-rolling.log.1 b/ms-rolling.log.1
new file mode 100644
index 00000000..11c34003
--- /dev/null
+++ b/ms-rolling.log.1
@@ -0,0 +1,106 @@
+[2015-12-26 17:10:55,719] qtp500076814-20 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$e8e5a627.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$4a907b69.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
+[2015-12-26 17:10:56,309] Thread-1 com.mingsoft.base.listener.StartUpListener DEBUG - -=====
+[2015-12-26 17:10:56,314] Thread-1 com.alibaba.druid.pool.DruidDataSource INFO - {dataSource-1} closed
+[2015-12-26 17:14:37,025] main com.alibaba.druid.pool.DruidAbstractDataSource ERROR - maxIdle is deprecated
+[2015-12-26 17:14:37,104] main com.alibaba.druid.pool.DruidDataSource INFO - {dataSource-1} inited
+[2015-12-26 17:14:40,489] main com.mingsoft.base.listener.StartUpListener DEBUG - MS启动初始化开始
+[2015-12-26 17:14:40,494] main com.mingsoft.base.listener.StartUpListener DEBUG - MS启动初始化结束
+[2015-12-26 17:14:40,501] main com.mingsoft.basic.security.BaseAuthFilter DEBUG - Initializing filter 'baseAuthFilter'
+[2015-12-26 17:14:40,520] main com.mingsoft.basic.security.BaseAuthFilter DEBUG - Filter 'baseAuthFilter' configured successfully
+[2015-12-26 17:14:52,288] qtp1468696365-19 com.mingsoft.basic.dao.IAppDao.getByUrl DEBUG - ==> Preparing: select * from app where APP_URL like CONCAT('%',?,'%') limit 0,1
+[2015-12-26 17:14:52,379] qtp1468696365-19 com.mingsoft.basic.dao.IAppDao.getByUrl DEBUG - ==> Parameters: localhost:8080(String)
+[2015-12-26 17:14:52,402] qtp1468696365-19 com.mingsoft.basic.dao.IAppDao.getByUrl DEBUG - <== Total: 1
+[2015-12-26 17:14:52,441] qtp1468696365-19 com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId DEBUG - ==> Preparing: select * from system_skin left join system_skin_manager on ss_id=ssm_system_skin_ID where ssm_managerID=?
+[2015-12-26 17:14:52,444] qtp1468696365-19 com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId DEBUG - ==> Parameters: 50(Integer)
diff --git a/ms-rolling.log.2 b/ms-rolling.log.2
new file mode 100644
index 00000000..352f216e
--- /dev/null
+++ b/ms-rolling.log.2
@@ -0,0 +1,186 @@
+[2015-12-26 17:10:54,952] qtp500076814-16 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$e8e5a627.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$4a907b69.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
+[2015-12-26 17:10:55,414] qtp500076814-19 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$e8e5a627.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$4a907b69.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
diff --git a/ms-rolling.log.3 b/ms-rolling.log.3
new file mode 100644
index 00000000..a6e50c0f
--- /dev/null
+++ b/ms-rolling.log.3
@@ -0,0 +1,193 @@
+[2015-12-26 17:10:08,301] qtp1843315060-16 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$c2f2f9e8.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$3c24aefc.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
+[2015-12-26 17:10:08,980] Thread-1 com.mingsoft.base.listener.StartUpListener DEBUG - -=====
+[2015-12-26 17:10:08,987] Thread-1 com.alibaba.druid.pool.DruidDataSource INFO - {dataSource-1} closed
+[2015-12-26 17:10:41,744] main com.alibaba.druid.pool.DruidAbstractDataSource ERROR - maxIdle is deprecated
+[2015-12-26 17:10:41,818] main com.alibaba.druid.pool.DruidDataSource INFO - {dataSource-1} inited
+[2015-12-26 17:10:44,671] main com.mingsoft.base.listener.StartUpListener DEBUG - MS启动初始化开始
+[2015-12-26 17:10:44,675] main com.mingsoft.base.listener.StartUpListener DEBUG - MS启动初始化结束
+[2015-12-26 17:10:44,683] main com.mingsoft.basic.security.BaseAuthFilter DEBUG - Initializing filter 'baseAuthFilter'
+[2015-12-26 17:10:44,703] main com.mingsoft.basic.security.BaseAuthFilter DEBUG - Filter 'baseAuthFilter' configured successfully
+[2015-12-26 17:10:54,430] qtp500076814-18 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$e8e5a627.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$4a907b69.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.basic.action.LoginAction.login(LoginAction.java:82)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
diff --git a/ms-rolling.log.4 b/ms-rolling.log.4
new file mode 100644
index 00000000..791a4520
--- /dev/null
+++ b/ms-rolling.log.4
@@ -0,0 +1,186 @@
+[2015-12-26 17:10:07,465] qtp1843315060-18 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$c2f2f9e8.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$3c24aefc.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
+[2015-12-26 17:10:07,820] qtp1843315060-19 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$c2f2f9e8.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$3c24aefc.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
diff --git a/ms-rolling.log.5 b/ms-rolling.log.5
new file mode 100644
index 00000000..9a1a09e0
--- /dev/null
+++ b/ms-rolling.log.5
@@ -0,0 +1,186 @@
+[2015-12-26 17:10:06,544] qtp1843315060-21 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$c2f2f9e8.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$3c24aefc.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
+[2015-12-26 17:10:07,136] qtp1843315060-17 WARN WARN - Handler execution resulted in exception
+org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mingsoft.basic.dao.IAppDao.getByUrl
+ at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
+ at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
+ at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
+ at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
+ at com.sun.proxy.$Proxy42.getByUrl(Unknown Source)
+ at com.mingsoft.basic.biz.impl.AppBizImpl.getByUrl(AppBizImpl.java:53)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$c2f2f9e8.getByUrl()
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$FastClassBySpringCGLIB$$ac3288e3.invoke()
+ at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
+ at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
+ at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
+ at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
+ at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
+ at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
+ at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
+ at com.mingsoft.basic.biz.impl.AppBizImpl$$EnhancerBySpringCGLIB$$3c24aefc.getByUrl()
+ at com.mingsoft.base.action.BaseAction.getApp(BaseAction.java:883)
+ at com.mingsoft.base.action.BaseAction.getTemplatePath(BaseAction.java:1056)
+ at com.mingsoft.cms.action.web.ErrorAction._500(ErrorAction.java:89)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:606)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
+ at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
+ at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
+ at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
+ at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
+ at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
+ at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
+ at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
+ at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
+ at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
+ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
+ at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
+ at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
+ at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
+ at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
+ at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1311)
+ at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
+ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
+ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
+ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
+ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
+ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
+ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
+ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
+ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
+ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
+ at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
+ at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
+ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
+ at org.eclipse.jetty.server.Server.handle(Server.java:360)
+ at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
+ at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
+ at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
+ at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
+ at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
+ at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
+ at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
+ at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
+ at java.lang.Thread.run(Thread.java:745)
diff --git a/ms.log b/ms.log
new file mode 100644
index 00000000..fe505eeb
--- /dev/null
+++ b/ms.log
@@ -0,0 +1,14 @@
+[framework] 2015-12-26 17:14:37,025 - com.alibaba.druid.pool.DruidAbstractDataSource -0 [main] ERROR com.alibaba.druid.pool.DruidAbstractDataSource - maxIdle is deprecated
+[framework] 2015-12-26 17:14:37,104 - com.alibaba.druid.pool.DruidDataSource -79 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
+[framework] 2015-12-26 17:14:40,489 - com.mingsoft.base.listener.StartUpListener -3464 [main] DEBUG com.mingsoft.base.listener.StartUpListener - MS启动初始化开始
+[framework] 2015-12-26 17:14:40,494 - com.mingsoft.base.listener.StartUpListener -3469 [main] DEBUG com.mingsoft.base.listener.StartUpListener - MS启动初始化结束
+[framework] 2015-12-26 17:14:40,501 - com.mingsoft.basic.security.BaseAuthFilter -3476 [main] DEBUG com.mingsoft.basic.security.BaseAuthFilter - Initializing filter 'baseAuthFilter'
+[framework] 2015-12-26 17:14:40,520 - com.mingsoft.basic.security.BaseAuthFilter -3495 [main] DEBUG com.mingsoft.basic.security.BaseAuthFilter - Filter 'baseAuthFilter' configured successfully
+[framework] 2015-12-26 17:14:52,288 - com.mingsoft.basic.dao.IAppDao.getByUrl -15263 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.IAppDao.getByUrl - ==> Preparing: select * from app where APP_URL like CONCAT('%',?,'%') limit 0,1
+[framework] 2015-12-26 17:14:52,379 - com.mingsoft.basic.dao.IAppDao.getByUrl -15354 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.IAppDao.getByUrl - ==> Parameters: localhost:8080(String)
+[framework] 2015-12-26 17:14:52,402 - com.mingsoft.basic.dao.IAppDao.getByUrl -15377 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.IAppDao.getByUrl - <== Total: 1
+[framework] 2015-12-26 17:14:52,441 - com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId -15416 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId - ==> Preparing: select * from system_skin left join system_skin_manager on ss_id=ssm_system_skin_ID where ssm_managerID=?
+[framework] 2015-12-26 17:14:52,444 - com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId -15419 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId - ==> Parameters: 50(Integer)
+[framework] 2015-12-26 17:14:52,448 - com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId -15423 [qtp1468696365-19] DEBUG com.mingsoft.basic.dao.ISystemSkinDao.getByManagerId - <== Total: 0
+[framework] 2015-12-26 17:15:51,356 - com.mingsoft.base.listener.StartUpListener -74331 [Thread-1] DEBUG com.mingsoft.base.listener.StartUpListener - -=====
+[framework] 2015-12-26 17:15:51,365 - com.alibaba.druid.pool.DruidDataSource -74340 [Thread-1] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..e5da86f6
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,432 @@
+
+ 4.0.0
+ com.mingsoft
+ mcms
+ war
+ 4.5.4
+ 铭飞MCMS开源系统
+ http://ms.ming-soft.com
+
+
+
+ com.mingsoft
+ ms-proxy
+ 1.0.0
+ system
+ ${project.basedir}/src/main/webapp/WEB-INF/lib/ms-proxy-1.0.0.jar
+
+
+ com.mingsoft
+ ms-upgrader
+ 1.0.0
+ system
+ ${project.basedir}/src/main/webapp/WEB-INF/lib/ms-upgrader.jar
+
+
+
+ com.baidu
+ ueditor
+ 1.4.3
+ system
+ ${project.basedir}/src/main/webapp/WEB-INF/lib/ueditor.jar
+
+
+ com.baidu
+ ueditor
+ 1.4.3
+ system
+ ${project.basedir}/src/main/webapp/WEB-INF/lib/sigar.jar
+
+
+
+ net.gplatform
+ Sdk4J
+ 2.0
+
+
+
+ javax.xml.stream
+ stax-api
+ 1.0-2
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.2.12
+
+
+ com.jolbox
+ bonecp
+ 0.7.1.RELEASE
+
+
+ javax.ws.rs
+ jsr311-api
+ 1.1.1
+
+
+ jaxen
+ jaxen
+ 1.1.6
+
+
+ net.java.dev.msv
+ xsdlib
+ 2013.6.1
+
+
+ xpp3
+ xpp3
+ 1.1.4c
+
+
+ com.jhlabs
+ filters
+ 2.0.235
+
+
+
+ relaxngDatatype
+ relaxngDatatype
+ 20020414
+
+
+ org.quartz-scheduler
+ quartz
+ 2.2.1
+
+
+ c3p0
+ c3p0
+
+
+
+
+ pull-parser
+ pull-parser
+ 2
+
+
+ com.google.protobuf
+ protobuf-java
+ 2.3.0
+
+
+ com.mortennobel
+ java-image-scaling
+ 0.8.6
+
+
+ com.google.guava
+ guava
+ 18.0
+
+
+ javax.mail
+ mail
+ 1.4.5
+
+
+ dom4j
+ dom4j
+ 1.6.1
+
+
+ junit
+ junit
+ 4.11
+
+
+ org.mybatis
+ mybatis
+ 3.2.6
+
+
+ org.mybatis
+ mybatis-spring
+ 1.2.2
+
+
+ org.springframework
+ spring-context
+ 4.0.5.RELEASE
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.springframework
+ spring-aspects
+ 4.0.5.RELEASE
+
+
+ org.springframework
+ spring-orm
+ 4.0.5.RELEASE
+
+
+ org.springframework
+ spring-context-support
+ 4.0.5.RELEASE
+
+
+ org.springframework
+ spring-web
+ 4.0.5.RELEASE
+
+
+
+
+ org.apache.shiro
+ shiro-core
+ 1.2.1
+
+
+ org.apache.shiro
+ shiro-ehcache
+ 1.2.1
+
+
+ org.apache.shiro
+ shiro-spring
+ 1.2.1
+
+
+ org.apache.shiro
+ shiro-web
+ 1.2.1
+
+
+
+
+ org.springframework
+ spring-webmvc
+ 4.0.5.RELEASE
+
+
+ mysql
+ mysql-connector-java
+ 5.1.31
+
+
+ com.alibaba
+ druid
+ 1.0.6
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.3.4
+
+
+ commons-logging
+ commons-logging
+
+
+ commons-codec
+ commons-codec
+
+
+
+
+ org.springframework
+ spring-jdbc
+ 4.0.5.RELEASE
+
+
+ net.sourceforge.jexcelapi
+ jxl
+ 2.6.12
+
+
+ org.freemarker
+ freemarker
+ 2.3.20
+
+
+ org.aspectj
+ aspectjweaver
+ 1.8.1
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ 1.9.13
+
+
+
+ commons-digester
+ commons-digester
+ 1.8
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.3.1
+
+
+ commons-collections
+ commons-collections
+ 3.2
+
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
+
+ commons-codec
+ commons-codec
+ 1.10
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+
+
+ com.alibaba
+ fastjson
+ 1.2.6
+
+
+
+ com.google.zxing
+ javase
+ 3.1.0
+
+
+
+ com.google.zxing
+ core
+ 3.1.0
+
+
+
+ org.springframework
+ spring-test
+ 4.0.5.RELEASE
+
+
+ org.springframework.integration
+ spring-integration-mail
+ 4.0.4.RELEASE
+
+
+ org.springframework
+ spring-tx
+ 4.0.5.RELEASE
+
+
+ javax.servlet.jsp
+ jsp-api
+ 2.2.1-b03
+
+
+ cglib
+ cglib
+ 3.1
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.5
+
+
+ org.slf4j
+ slf4j-log4j12
+ 1.7.5
+ runtime
+
+
+
+ org.slf4j
+ jcl-over-slf4j
+ 1.7.5
+ runtime
+
+
+
+ org.slf4j
+ jul-to-slf4j
+ 1.7.5
+ runtime
+
+
+
+ log4j
+ log4j
+ 1.2.17
+
+
+
+ org.eclipse.jetty.orbit
+ javax.servlet.jsp.jstl
+ 1.2.0.v201105211821
+
+
+
+
+
+ mcms
+
+
+ src/main/java
+
+ **/*.xml
+ **/*.properties
+
+
+
+ src/main/resources
+
+ **/*.xml
+ **/*.properties
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+ UTF-8
+
+
+ ${java.home}/lib/rt.jar:${java.home}/lib/jce.jar
+
+
+
+
+
+
+ org.mortbay.jetty
+ jetty-maven-plugin
+ 8.1.5.v20120716
+
+ 8888
+ foo
+ 10
+
+ /
+
+
+
+
+ compile
+
+
diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store
new file mode 100644
index 00000000..440c9540
Binary files /dev/null and b/src/main/java/.DS_Store differ
diff --git a/src/main/java/com/jagregory/shiro/freemarker/AuthenticatedTag.java b/src/main/java/com/jagregory/shiro/freemarker/AuthenticatedTag.java
new file mode 100644
index 00000000..9300ca41
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/AuthenticatedTag.java
@@ -0,0 +1,44 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.log.Logger;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+
+import java.io.IOException;
+import java.util.Map;
+
+
+/**
+ * JSP tag that renders the tag body only if the current user has executed a successful authentication attempt
+ * during their current session.
+ *
+ *
This is more restrictive than the {@link UserTag}, which only
+ * ensures the current user is known to the system, either via a current login or from Remember Me services,
+ * which only makes the assumption that the current user is who they say they are, and does not guarantee it like
+ * this tag does.
+ *
+ *
The logically opposite tag of this one is the {@link NotAuthenticatedTag}
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.AuthenticatedTag}
+ *
+ * @since 0.2
+ */
+public class AuthenticatedTag extends SecureTag {
+ private static final Logger log = Logger.getLogger("AuthenticatedTag");
+
+ @Override
+ public void render(Environment env, Map params, TemplateDirectiveBody body) throws IOException, TemplateException {
+ if (getSubject() != null && getSubject().isAuthenticated()) {
+ if (log.isDebugEnabled()) {
+ log.debug("Subject exists and is authenticated. Tag body will be evaluated.");
+ }
+
+ renderBody(env, body);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Subject does not exist or is not authenticated. Tag body will not be evaluated.");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/jagregory/shiro/freemarker/GuestTag.java b/src/main/java/com/jagregory/shiro/freemarker/GuestTag.java
new file mode 100644
index 00000000..2ac4cde7
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/GuestTag.java
@@ -0,0 +1,42 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.log.Logger;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+
+import java.io.IOException;
+import java.util.Map;
+
+
+/**
+ * JSP tag that renders the tag body if the current user is not known to the system, either because they
+ * haven't logged in yet, or because they have no 'RememberMe' identity.
+ *
+ *
The logically opposite tag of this one is the {@link UserTag}. Please read that class's JavaDoc as it explains
+ * more about the differences between Authenticated/Unauthenticated and User/Guest semantic differences.
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.GuestTag}
+ *
+ * @since 0.9
+ */
+public class GuestTag extends SecureTag {
+ private static final Logger log = Logger.getLogger("AuthenticatedTag");
+
+ @Override
+ public void render(Environment env, Map params, TemplateDirectiveBody body) throws IOException, TemplateException {
+ if (getSubject() == null || getSubject().getPrincipal() == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Subject does not exist or does not have a known identity (aka 'principal'). " +
+ "Tag body will be evaluated.");
+ }
+
+ renderBody(env, body);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Subject exists or has a known identity (aka 'principal'). " +
+ "Tag body will not be evaluated.");
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/jagregory/shiro/freemarker/HasAnyRolesTag.java b/src/main/java/com/jagregory/shiro/freemarker/HasAnyRolesTag.java
new file mode 100644
index 00000000..9a80bc9a
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/HasAnyRolesTag.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.jagregory.shiro.freemarker;
+
+import org.apache.shiro.subject.Subject;
+
+
+/**
+ * Displays body content if the current user has any of the roles specified.
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.HasAnyRolesTag}
+ *
+ * @since 0.2
+ */
+public class HasAnyRolesTag extends RoleTag {
+ // Delimeter that separates role names in tag attribute
+ private static final String ROLE_NAMES_DELIMETER = ",";
+
+ protected boolean showTagBody(String roleNames) {
+ boolean hasAnyRole = false;
+ Subject subject = getSubject();
+
+ if (subject != null) {
+ // Iterate through roles and check to see if the user has one of the roles
+ for (String role : roleNames.split(ROLE_NAMES_DELIMETER)) {
+ if (subject.hasRole(role.trim())) {
+ hasAnyRole = true;
+ break;
+ }
+ }
+ }
+
+ return hasAnyRole;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/jagregory/shiro/freemarker/HasPermissionTag.java b/src/main/java/com/jagregory/shiro/freemarker/HasPermissionTag.java
new file mode 100644
index 00000000..9d25515b
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/HasPermissionTag.java
@@ -0,0 +1,12 @@
+package com.jagregory.shiro.freemarker;
+
+/**
+ *
Equivalent to {@link org.apache.shiro.web.tags.HasPermissionTag}
Equivalent to {@link org.apache.shiro.web.tags.LacksRoleTag}
+ */
+public class LacksRoleTag extends RoleTag {
+ protected boolean showTagBody(String roleName) {
+ boolean hasRole = getSubject() != null && getSubject().hasRole(roleName);
+ return !hasRole;
+ }
+}
diff --git a/src/main/java/com/jagregory/shiro/freemarker/NotAuthenticatedTag.java b/src/main/java/com/jagregory/shiro/freemarker/NotAuthenticatedTag.java
new file mode 100644
index 00000000..ddfd250f
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/NotAuthenticatedTag.java
@@ -0,0 +1,32 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.log.Logger;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+
+import java.io.IOException;
+import java.util.Map;
+
+
+/**
+ * Freemarker tag that renders the tag body only if the current user has not executed a successful authentication
+ * attempt during their current session.
+ *
+ *
The logically opposite tag of this one is the {@link org.apache.shiro.web.tags.AuthenticatedTag}.
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.NotAuthenticatedTag}
+ */
+public class NotAuthenticatedTag extends SecureTag {
+ static final Logger log = Logger.getLogger("NotAuthenticatedTag");
+
+ @Override
+ public void render(Environment env, Map params, TemplateDirectiveBody body) throws IOException, TemplateException {
+ if (getSubject() == null || !getSubject().isAuthenticated()) {
+ log.debug("Subject does not exist or is not authenticated. Tag body will be evaluated.");
+ renderBody(env, body);
+ } else {
+ log.debug("Subject exists and is authenticated. Tag body will not be evaluated.");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/jagregory/shiro/freemarker/PermissionTag.java b/src/main/java/com/jagregory/shiro/freemarker/PermissionTag.java
new file mode 100644
index 00000000..19963188
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/PermissionTag.java
@@ -0,0 +1,42 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+import freemarker.template.TemplateModelException;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ *
Equivalent to {@link org.apache.shiro.web.tags.PermissionTag}
Tag used to print out the String value of a user's default principal,
+ * or a specific principal as specified by the tag's attributes.
+ *
+ *
If no attributes are specified, the tag prints out the toString()
+ * value of the user's default principal. If the type attribute
+ * is specified, the tag looks for a principal with the given type. If the
+ * property attribute is specified, the tag prints the string value of
+ * the specified property of the principal. If no principal is found or the user
+ * is not authenticated, the tag displays nothing unless a defaultValue
+ * is specified.
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.PrincipalTag}
+ *
+ * @since 0.2
+ */
+public class PrincipalTag extends SecureTag {
+ static final Logger log = Logger.getLogger("PrincipalTag");
+
+ /**
+ * The type of principal to be retrieved, or null if the default principal should be used.
+ */
+ String getType(Map params) {
+ return getParam(params, "type");
+ }
+
+ /**
+ * The property name to retrieve of the principal, or null if the toString() value should be used.
+ */
+ String getProperty(Map params) {
+ return getParam(params, "property");
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void render(Environment env, Map params, TemplateDirectiveBody body) throws IOException, TemplateException {
+ String result = null;
+
+ if (getSubject() != null) {
+ // Get the principal to print out
+ Object principal;
+
+ if (getType(params) == null) {
+ principal = getSubject().getPrincipal();
+ } else {
+ principal = getPrincipalFromClassName(params);
+ }
+
+ // Get the string value of the principal
+ if (principal != null) {
+ String property = getProperty(params);
+
+ if (property == null) {
+ result = principal.toString();
+ } else {
+ result = getPrincipalProperty(principal, property);
+ }
+ }
+ }
+
+ // Print out the principal value if not null
+ if (result != null) {
+ try {
+ env.getOut().write(result);
+ } catch (IOException ex) {
+ throw new TemplateException("Error writing ["+result+"] to Freemarker.", ex, env);
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ Object getPrincipalFromClassName(Map params) {
+ String type = getType(params);
+
+ try {
+ Class cls = Class.forName(type);
+
+ return getSubject().getPrincipals().oneByType(cls);
+ } catch (ClassNotFoundException ex) {
+ log.error("Unable to find class for name ["+type+"]", ex);
+ }
+
+ return null;
+ }
+
+ String getPrincipalProperty(Object principal, String property) throws TemplateModelException {
+ try {
+ BeanInfo beanInfo = Introspector.getBeanInfo(principal.getClass());
+
+ // Loop through the properties to get the string value of the specified property
+ for (PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()) {
+ if (propertyDescriptor.getName().equals(property)) {
+ Object value = propertyDescriptor.getReadMethod().invoke(principal, (Object[]) null);
+
+ return String.valueOf(value);
+ }
+ }
+
+ // property not found, throw
+ throw new TemplateModelException("Property ["+property+"] not found in principal of type ["+principal.getClass().getName()+"]");
+ } catch (Exception ex) {
+ throw new TemplateModelException("Error reading property ["+property+"] from principal of type ["+principal.getClass().getName()+"]", ex);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/jagregory/shiro/freemarker/RoleTag.java b/src/main/java/com/jagregory/shiro/freemarker/RoleTag.java
new file mode 100644
index 00000000..bd1abfe3
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/RoleTag.java
@@ -0,0 +1,26 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ *
Equivalent to {@link org.apache.shiro.web.tags.RoleTag}
Usage: cfg.setSharedVeriable("shiro", new ShiroTags());
+ */
+public class ShiroTags extends SimpleHash {
+ public ShiroTags() {
+ put("authenticated", new AuthenticatedTag());
+ put("guest", new GuestTag());
+ put("hasAnyRoles", new HasAnyRolesTag());
+ put("hasPermission", new HasPermissionTag());
+ put("hasRole", new HasRoleTag());
+ put("lacksPermission", new LacksPermissionTag());
+ put("lacksRole", new LacksRoleTag());
+ put("notAuthenticated", new NotAuthenticatedTag());
+ put("principal", new PrincipalTag());
+ put("user", new UserTag());
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/jagregory/shiro/freemarker/UserTag.java b/src/main/java/com/jagregory/shiro/freemarker/UserTag.java
new file mode 100644
index 00000000..229d2d9a
--- /dev/null
+++ b/src/main/java/com/jagregory/shiro/freemarker/UserTag.java
@@ -0,0 +1,37 @@
+package com.jagregory.shiro.freemarker;
+
+import freemarker.core.Environment;
+import freemarker.log.Logger;
+import freemarker.template.TemplateDirectiveBody;
+import freemarker.template.TemplateException;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Freemarker tag that renders the tag body if the current user known to the system, either from a successful login attempt
+ * (not necessarily during the current session) or from 'RememberMe' services.
+ *
+ *
Note: This is less restrictive than the AuthenticatedTag since it only assumes
+ * the user is who they say they are, either via a current session login or via Remember Me services, which
+ * makes no guarantee the user is who they say they are. The AuthenticatedTag however
+ * guarantees that the current user has logged in during their current session, proving they really are
+ * who they say they are.
+ *
+ *
The logically opposite tag of this one is the {@link org.apache.shiro.web.tags.GuestTag}.
+ *
+ *
Equivalent to {@link org.apache.shiro.web.tags.UserTag}