加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
db_blog3.sql 157.00 KB
一键复制 编辑 原始数据 按行查看 历史
zhengjiang_nj 提交于 2018-07-01 23:37 . init commit blog
/*
SQLyog Ultimate v11.33 (64 bit)
MySQL - 5.1.49-community : Database - db_blog3
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`db_blog3` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `db_blog3`;
/*Table structure for table `t_blog` */
DROP TABLE IF EXISTS `t_blog`;
CREATE TABLE `t_blog` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) DEFAULT NULL,
`summary` varchar(400) DEFAULT NULL,
`releaseDate` datetime DEFAULT NULL,
`clickHit` int(11) DEFAULT NULL,
`replyHit` int(11) DEFAULT NULL,
`content` text,
`typeId` int(11) DEFAULT NULL,
`keyWord` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `typeId` (`typeId`),
CONSTRAINT `t_blog_ibfk_1` FOREIGN KEY (`typeId`) REFERENCES `t_blogtype` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8;
/*Data for the table `t_blog` */
insert into `t_blog`(`id`,`title`,`summary`,`releaseDate`,`clickHit`,`replyHit`,`content`,`typeId`,`keyWord`) values (39,'Java HelloWorld实现',' 第一个博客,当然从HelloWorld 开发,主要测试下 百度ueditor的代码高亮效果如何。下面上代码:package com.java1234.demo;/** * 测试 * @author Administrator * */public class HelloWorld { public stat','2016-02-02 10:00:42',459,22,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/> 第一个博客,当然从HelloWorld 开发,主要测试下 百度ueditor的代码高亮效果如何。</p><p><br/></p><p>下面上代码:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.demo;\n\n/**\n&nbsp;*&nbsp;测试\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;HelloWorld&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n System.out.println(&quot;Hello&nbsp;World,屌炸天!&quot;);\n }\n}</pre><p><br/></p><p>代码高亮还算凑合,如果加上 复制代码功能,会更好点;</p><p><br/></p><p>运行效果如下:</p><p><img src=\"/static/userImages/20160202/1454378386640040323.jpg\" title=\"1454378386640040323.jpg\" alt=\"QQ鎴浘20160202095931.jpg\"/></p><p><br/></p><p><br/></p><p>这个图我是直接用百度ueditor直接截图的,很方便。这个是我选用百度ueditor在线编辑器的一个重要原因。</p><p><br/></p><p><br/></p>',1,'java'),(40,'大学必须掌握的软件基础课程',' 大学软件专业有很多课程,有些学生搞不清哪些是重点,以下是笔者根据多年经验,认真很重要的课程罗列下:1,C语言 很重要,作为学编程的入门语言,也是众多流行编程语言之父。2,数据结构和算法很重要,以后深入理解一些东西有帮助,即使是Java把很多数据结构都进行了封装,但是学习本课程,可以对性能有深入理解;3,计','2016-02-02 12:41:52',553,11,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/>&nbsp;大学软件专业有很多课程,有些学生搞不清哪些是重点,以下是笔者根据多年经验,认真很重要的课程罗列下:</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>1,C语言 &nbsp;</strong></span></p><p>很重要,作为学编程的入门语言,也是众多流行编程语言之父。</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>2,数据结构和算法</strong></span></p><p>很重要,以后深入理解一些东西有帮助,即使是Java把很多数据结构都进行了封装,但是学习本课程,可以对性能有深入理解;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>3,计算机组成原理</strong></span></p><p>一般,学习一下;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>4,编译原理</strong></span></p><p>一般,学习一下;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>5,数据库原理</strong></span></p><p>很重要,对以后系统的数据库设计有帮助,站的层次高;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>6,操作系统原理</strong></span></p><p>很重要,对以后技术提供,和层次有帮助;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>7,计算机网络</strong></span></p><p>一般,学习一下;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>8,软件工程</strong></span></p><p>非常重要,对整个软件开发体系的熟悉,直接可以影响到一个技术人员的职业生涯;</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong>9,计算机英语</strong></span></p><p>非常重要,有一些屌丝不重视,这个真的很重要,以后学习一些新技术的时候,有时候中文资源比较少,这时候学习,基本是直接看官方英文文档,假如英语不行,会很苦逼;</p><p><br/></p><p><strong><span style=\"color: rgb(255, 0, 0);\">10,英语</span></strong></p><p>非常重要,这个和上面的计算机英语有区别,计算机英语主要是一些专业词汇的中文专业翻译;而英语的话,是更加广泛的概念,最少要达到4级,最好6级。大学时候通读基本英文技术书籍,我推荐 Head First系列,以及Thining in Java;</p><p><br/></p><p>以上是我认为比较重要的10个课程。大家可以参考下。。可以有遗漏,大家可以评论留言。讨论交流。</p><p><br/></p><p><span style=\"color: rgb(255, 0, 0);\"><strong><br/></strong></span></p>',4,'大学'),(41,'大学里应该掌握的两个能力',' 根据我的经验,我总结了下,大学里掌握以下两种,毕业的时候,用人单位比较喜欢;第一种能力,自学能力;所谓自学能力,顾名思义,就是自我学习知识,技术的能力,这种能力,人与人之间的差距有大,就像有的人毕业能拿13K,有的人只能拿3K;这种能力如何培养呢?根据我的经验,没有捷径,就是多读书,多思考,多实践,还有就','2016-02-02 13:14:53',553,12,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0003.gif\"/> &nbsp;根据我的经验,我总结了下,大学里掌握以下两种,毕业的时候,用人单位比较喜欢;</p><p><br/></p><p><strong><span style=\"color: rgb(255, 0, 0);\">第一种能力,自学能力;</span></strong></p><p>所谓自学能力,顾名思义,就是自我学习知识,技术的能力,这种能力,人与人之间的差距有大,就像有的人毕业能拿13K,有的人只能拿3K;</p><p>这种能力如何培养呢?</p><p>根据我的经验,没有捷径,就是多读书,多思考,多实践,还有就是稍微多做点笔记,多总结;</p><p>很多人自学能力差,大多数原因不是笨,是读书少,见识少。读书少,基础差,想学点新东西都吃力,底子问题;</p><p>学习方法方面,我有些心得;</p><p>有些二货拿到书,直接从头读到尾,而且不允许自己有遗漏,这个是一种效率很底下的学习方法;</p><p>我的建议如下:</p><p>第一:拿到一本书,先自己想想,是不是自己需要的书,网上多查查,这本书好不好,书的人写的,作者有牛逼的,也有比较渣;</p><p>第二:决定看一本书的时候,一定要先看目录大纲,把目录好好看看,这本书讲啥,章节的划分;然后脑海里有大体映像之后,再看具体章节;说简单点,就是先总后分;</p><p>第三:学习的时候,一定要做笔记,写总结;这样才会有提高;最好是写到自己的博客里;</p><p><br/></p><p><br/></p><p><strong><span style=\"color: rgb(255, 0, 0);\">第二种能力,分析问题和解决问题的能力;</span></strong></p><p>第二种能力,很关键,尤其是搞开发的人,这种能力直接关系到自己的前途;</p><p>比如组长或者项目经理给你一个需求,让你开发出来,我举个具体的例子,组长让你开发一个功能,从数据库取数据库,生成word,并且导出;</p><p>有些人一看这功能,顿时晕了,自己没搞过,老师没教过。无从下手。顿时感觉人生好迷茫;</p><p>这时候就是体现一个人分析问题和解决问题的能力了;</p><p>正常分析过程是这样的,首先是查询数据,然后生成一个word,页面请求,返回word文件流;这里涉及到生成word,可以通过百度关键字 java生成word;</p><p>可以看到有很多的技术方案,这时候,你再百度具体的方案的比较,当然也可以论坛,群里交流。比如velocity freemarker;找到方案后,就是学习这个技术,</p><p>这个就是上面的自学能力的体现,如何快速入门掌握,当然,这种简单的技术,直接搞点demo,运行下,很容易上手;不需要看书;</p><p>如何这种培养能力呢?</p><p>没有捷径,就是要多读书,多学习,多思考,以及最重要,多实践,多搞点小项目,搞的时候会遇到很多问题,设计问题,调试问题,技术方案问题等等;</p><p>遇到问题,解决问题。能力就是这样慢慢提高的。不是什么一下子就变成大神,除非你在做梦;<br/></p><p><br/></p><p><img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/>加油吧。骚年们!</p><p><br/></p>',4,'大学'),(42,'Mysql中文乱码问题解决','有些学员经常遇到 项目jdbc获取数据库数据,中文乱码;这里给出一些解决方案:第一种,修改Mysql数据库编码,改成utf-8,默认是latin1 (推荐); 如图,找到mysql安装,点mysql实例配置 一直点next知道下面这个界面:记住,前面那个圈 一点要点。。下拉框选utf8继续next直到:写你','2016-02-02 13:29:33',332,6,'<p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">有些学员经常遇到 项目jdbc获取数据库数据,中文乱码;</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">这里给出一些解决方案:</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><span style=\"color: rgb(255, 0, 0);\">第一种,修改Mysql数据库编码,改成utf-8,默认是latin1 (推荐);</span></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img alt=\"QQ鍥剧墖20160202132103.png\" src=\"/static/userImages/20160202/1454390480343030776.png\" title=\"1454390480343030776.png\"/> 如图,找到mysql安装,点mysql实例配置</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img src=\"/static/userImages/20160202/1454390537171022264.jpg\" alt=\"1454390537171022264.jpg\"/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">&nbsp;</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">&nbsp;一直点next知道下面这个界面:</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img alt=\"QQ鍥剧墖20160202132310.png\" src=\"/static/userImages/20160202/1454390616812058607.png\" title=\"1454390616812058607.png\"/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">记住,前面那个圈 一点要点。。下拉框选utf8</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">继续next直到:</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img alt=\"QQ鍥剧墖20160202132431.png\" src=\"/static/userImages/20160202/1454390692687028654.png\" title=\"1454390692687028654.png\"/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">写你原来的密码继续,然后继续Next:</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img alt=\"QQ鍥剧墖20160202132517.png\" src=\"/static/userImages/20160202/1454390731515038389.png\" title=\"1454390731515038389.png\"/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">点击 执行</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><img alt=\"QQ鍥剧墖20160202132618.png\" src=\"/static/userImages/20160202/1454390793796097934.png\" title=\"1454390793796097934.png\"/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">这样就OK了;</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">这个执行完。记得要把原来导入的项目数据库删除,重新的导入下即可;<br/></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><br/><span style=\"color: rgb(255, 0, 0);\"></span></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\"><span style=\"color: rgb(255, 0, 0);\">第二种,修改jdbc请求url 指定编码 (不推荐)<br/></span></p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">在jdbc url后面 加上 ?useUnicode=true&amp;characterEncoding=UTF8 指定下编码;</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">假如是在xml配置文件里 要转义下 搞成 ?useUnicode=true&amp;amp;characterEncoding=UTF-8 ;</p><p style=\"margin: 5px 0px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">比如在spring配置文件里:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;配置数据源&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;bean&nbsp;id=&quot;dataSource&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class=&quot;com.alibaba.druid.pool.DruidDataSource&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&quot;url&quot;&nbsp;value=&quot;jdbc:mysql://localhost:3306/db_blog?useUnicode=true&amp;amp;characterEncoding=UTF-8&quot;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&quot;username&quot;&nbsp;value=&quot;root&quot;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&quot;password&quot;&nbsp;value=&quot;123456&quot;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;/bean&gt;</pre><p><br/></p><p>推荐第一种;</p><p><br/></p>',2,'mysql 乱码'),(43,'解决Url带中文参数乱码问题',' 这里我来介绍下如何配置Tomcat 来解决Url带中文参数乱码问题;首先打开Tomcat安装目录,以Tomcat7为例,其他版本基本一样;打开conf文件打开server.xml大概在70行左右的位置 我们加一个属性 URIEncoding=\"UTF-8\"搞成这样即可。。这个是发布项目的时候,配置方式。下面','2016-01-22 13:38:39',381,5,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0001.gif\"/> 这里我来介绍下如何配置Tomcat 来解决Url带中文参数乱码问题;</p><p><br/></p><p>首先打开Tomcat安装目录,以Tomcat7为例,其他版本基本一样;</p><p><img src=\"/static/userImages/20160202/1454391117593077429.jpg\" alt=\"1454391117593077429.jpg\"/></p><p><br/></p><p>打开conf文件</p><p><img src=\"/static/userImages/20160202/1454391166890014358.jpg\" alt=\"1454391166890014358.jpg\"/><br/></p><p><br/></p><p>打开server.xml</p><p><img src=\"/static/userImages/20160202/1454391299968024532.jpg\" alt=\"1454391299968024532.jpg\"/><br/></p><p><br/></p><p>大概在70行左右的位置 我们加一个属性 URIEncoding=&quot;UTF-8&quot;</p><p><br/></p><p><img src=\"/static/userImages/20160202/1454391361171014090.jpg\" alt=\"1454391361171014090.jpg\"/></p><p><br/></p><p>搞成这样即可。。这个是发布项目的时候,配置方式。</p><p><br/></p><p>下面介绍开发的时候,如何配置:</p><p>打开eclipse</p><p>找到server</p><p><img src=\"/static/userImages/20160202/1454391411687030232.jpg\" alt=\"1454391411687030232.jpg\"/><br/></p><p><br/></p><p>点开server.xml</p><p><img src=\"/static/userImages/20160202/1454391443968032571.jpg\" alt=\"1454391443968032571.jpg\"/><br/></p><p><br/></p><p>和刚才一样,加下 URIEncoding=&quot;UTF-8&quot; 这样就支持Url中文参数了;</p><p><br/></p><p>当然还有其他方法,比较麻烦。比如自己转码,过滤。这里就不介绍了。<br/></p>',3,'url中文参数'),(44,'人生需要奋斗','今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要轻言放弃。--马云','2016-02-02 14:03:06',350,22,'<p>今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要轻言放弃。--马云</p><p><img alt=\"1-1510121339113S.jpg\" src=\"/static/userImages/20160202/1454392975421022042.jpg\" title=\"1454392975421022042.jpg\"/></p>',5,NULL),(45,'shiro介绍以及推荐视频教程','shiro是apache提供的强大而灵活的开源安全框架,它主要用来处理身份认证,授权,企业会话管理和加密。shiro功能:用户验证、用户执行访问权限控制、在任何环境下使用session API,如cs程序。可以使用多数据源如同时使用oracle、mysql。单点登录(sso)支持。remember me服务。','2016-02-02 17:00:30',549,27,'<p>shiro是apache提供的强大而灵活的开源安全框架,它主要用来处理身份认证,授权,企业会话管理和加密。</p><p>shiro功能:用户验证、用户执行访问权限控制、在任何环境下使用session API,如cs程序。可以使用多数据源如同时使用oracle、mysql。单点登录(sso)支持。remember me服务。</p><p><br/></p><p>推荐视频教程 一头扎进shiro&nbsp;</p><p>课程目录:<span class=\"Apple-tab-span\" style=\"white-space: pre;\"> </span><a href=\"http://www.java1234.com/zy032.html\" target=\"_blank\" title=\"http://www.java1234.com/zy032.html\">http://www.java1234.com/zy032.html</a><span class=\"Apple-tab-span\" style=\"white-space: pre;\"> </span></p><p>百度云打包下载: &nbsp;<a href=\"http://pan.baidu.com/s/1ntEifgt\" target=\"_blank\" title=\"http://pan.baidu.com/s/1ntEifgt\">http://pan.baidu.com/s/1ntEifgt</a></p>',7,'shiro java'),(47,'什么是webservice?',' webservice 有的人一看到这个,估计会认为这个是一种新技术,一种新框架。其实不是,严格的说,webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互。 这里具体举个例子,比如在Windows Server服务器上有个C#.Net开发的应用A,在Linux上有个J','2016-02-03 16:07:31',452,15,'<p>&nbsp; webservice 有的人一看到这个,估计会认为这个是一种新技术,一种新框架。<br/></p><p>其实不是,严格的说,webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互。</p><p><br/></p><p>&nbsp; 这里具体举个例子,比如在Windows Server服务器上有个C#.Net开发的应用A,在Linux上有个Java语言开发的应用B,</p><p>B应用要调用A应用,或者是互相调用。用于查看对方的业务数据。</p><p>&nbsp; 再举个例子,天气预报接口。无数的应用需要获取天气预报信息;这些应用可能是各种平台,各种技术实现;而气象局的项目,估计也就一两种,要对外提供天气预报信息,这个时候,如何解决呢?</p><p><br/></p><p>&nbsp; webservice就是出于以上类似需求而定义出来的规范;</p><p>&nbsp;&nbsp;</p><p>&nbsp; 开发人员一般就是在具体平台开发webservice接口,以及调用webservice接口;每种开发语言都有自己的webservice实现框架。比如Java 就有&nbsp;Apache Axis1、Apache Axis2、Codehaus XFire、Apache CXF、Apache Wink、Jboss &nbsp;RESTEasyd等等...</p><p><br/></p><p><img src=\"/static/userImages/20160203/1454486847949023678.jpg\" title=\"1454486847949023678.jpg\" alt=\"20131203094415-1061627437.jpg\"/></p><p><br/></p><p><br/></p><p>&nbsp;&nbsp;</p>',9,'webservice java'),(48,'百度云资源,是程序员们的发家致富一块肥肉',' 百度云在前两年的“云大战”中,最终获胜,当年各种云盘,相互厮杀,有技术方面的,有公关方面的原因,最终还是百度云大获全胜; 百度云经过几年的发展,逐渐成熟,性能稳定。开始的时候是不考虑盈利的,无广告。一直花钱投入,立志把这个云技术项目做好。时间证明了一切,百度云是一个优秀的,用户量最大的,资源最多,并且处','2016-02-04 18:49:15',1923,24,'<p>&nbsp; 百度云在前两年的“云大战”中,最终获胜,当年各种云盘,相互厮杀,有技术方面的,有公关方面的原因,最终还是百度云大获全胜;</p><p>&nbsp; 百度云经过几年的发展,逐渐成熟,性能稳定。开始的时候是不考虑盈利的,无广告。一直花钱投入,立志把这个云技术项目做好。时间证明了一切,百度云是一个优秀的,用户量最大的,资源最多,</p><p>并且处理违法信息的手段都是成熟的。</p><p>&nbsp; 大家看了标题也许有疑问,“百度云资源,是程序员们的发家致富一块肥肉” 根本原因是百度云拥有海量的用户分享的资源, 但为什么是程序员的肥肉呢。据本人观察,中国至少有500家网站吃到百度云这块肥肉,一种一家就是我,<a href=\"http://pan.java1234.com/\" target=\"_blank\" title=\"http://pan.java1234.com/\">http://pan.java1234.com/</a></p><p>我这个项目,主要是利用谷歌自定义搜索,来搜索用户需要的资源。日IP 2万左右,但是钱赚得不多。</p><p>&nbsp;下面我来谈谈如何利用百度云来赚钱,这里只针对程序员,因为只有程序员有技术来实现。说简单点,就是百度云的海量资源,程序员们可以看作是海量的页面,可以拿过来,搞成自己的资源页面。这样自己搞的站点,就拥有了海量的页面,只要seo搞得还行,一天搞个几万个流量,甚至几十万流量都没问题。然后挂google广告,百度联盟广告,我看到过类似网站,成功申请到谷歌广告,百度联盟广告的。</p><p>&nbsp;这块蛋糕,以后肯定会被越来越多的程序员看重,并且分享。但是我个人觉得,这块蛋糕非常大,大得我估计能养活10万个程序员。<img src=\"http://img.baidu.com/hi/jx2/j_0005.gif\"/> 当然有些人觉得我吹牛逼,其实我说的还是保守的值。</p><p>&nbsp;下面我来分析下,如何来搞这个项目 要用到哪些技术,传统的php ,asp.net,jsp 都可以来实现这项目。我自己也去看了人家的实现,核心的是采集技术,怎么个采集法呢,不是随便瞎搞的,一条比较好的方法是先去采集百度云分享达人的帐号,然后挨个的采集他们的分享资源。就是搞这个项目,说实话,要花不少时间,就是在采集资源这块。我估计有不少程序员是全职搞这个项目的,我上次看到几个,根据流量和广告。我估计他们一个月至少有2,3万。流量很大。采集到数据后,然后就是显示,这个再简单不过了。作为程序员,如果连这个都不会,那只能称技术员了。</p><p>&nbsp;&nbsp;</p><p>&nbsp; 好了,今天就把这个牛逼蛋糕介绍到这里,希望大家看到我这个文章,假如技术上满足条件,可以试着业余先搞搞。或许你从此屌炸天了。</p><p><br/></p><p><img src=\"/static/userImages/20160204/1454582940339078791.jpg\" title=\"1454582940339078791.jpg\" alt=\"QQ鎴浘20160204184853.jpg\"/></p><p><br/></p><p><br/></p>',4,'百度云 赚钱'),(49,'新的一年,祝愿大家幸福平安,事业有成','新的一年,祝愿大伙猴年大吉。 看我博客的,大多数都是在奋斗的年轻人,希望大家在最能够吃苦的年纪,一定要多努力。20到30岁是人生学习专业知识,积累经验,积累人脉以及磨练自己的最佳时期。一定要把握好。当然包括我自己,作为一个成了家的男人,也要奋斗,让家人过好的生活。','2016-02-09 20:12:21',313,14,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0002.gif\"/><img src=\"http://img.baidu.com/hi/jx2/j_0002.gif\"/><img src=\"http://img.baidu.com/hi/jx2/j_0002.gif\"/><br/></p><p><br/></p><p>新的一年,祝愿大伙猴年大吉。</p><p><br/></p><p><img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/> 看我博客的,大多数都是在奋斗的年轻人,希望大家在最能够吃苦的年纪,一定要多努力。20到30岁是人生学习专业知识,积累经验,积累人脉以及磨练自己的最佳时期。一定要把握好。</p><p><img alt=\"1104291174.png\" src=\"/static/userImages/20160209/1455019874408003267.png\" title=\"1455019874408003267.png\"/></p><p><br/></p><p>当然包括我自己,作为一个成了家的男人,也要奋斗,让家人过好的生活。<img src=\"http://img.baidu.com/hi/ldw/w_0003.gif\"/></p><p><br/></p>',5,NULL),(50,'使用Jsoup解析出html中的img元素','jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。博客项目有个需求。展示博客列表的时候,显示一些博客里的图片,增强用户体验;这里的话,有两种方案,第一种 是在后台处理,把','2016-02-14 12:52:43',306,7,'<p><span style=\"color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px; background-color: rgb(255, 255, 255);\">jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。</span></p><p><img src=\"/static/userImages/20160214/1455425736515085353.jpg\" title=\"1455425736515085353.jpg\" alt=\"QQ鎴浘20160214125257.jpg\"/></p><p><span style=\"color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px; background-color: rgb(255, 255, 255);\"><br/></span></p><p><span style=\"color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px; background-color: rgb(255, 255, 255);\">博客项目有个需求。展示博客列表的时候,显示一些博客里的图片,增强用户体验;</span></p><p>这里的话,有两种方案,第一种 是在后台处理,把解析好的图片存集合里,然后转发到页面,遍历显示;还有一种是把博客内容送到页面,用Jquery处理。</p><p>我考虑了下。还是在后台处理好比较好,因为项目本身用到了 cnd加速,所以在前端处理反而影响效率。</p><p>在后端处理,可以使用Jsoup,很方便;</p><p><br/></p><p>Jsoup主页:<a href=\"http://jsoup.org/\" target=\"_blank\" title=\"http://jsoup.org/\">http://jsoup.org/</a></p><p><br/></p><p>maven地址:</p><pre class=\"brush:xml;toolbar:false\">&lt;dependency&gt;\n &lt;groupId&gt;org.jsoup&lt;/groupId&gt;\n &lt;artifactId&gt;jsoup&lt;/artifactId&gt;\n &lt;version&gt;1.8.3&lt;/version&gt;\n &lt;/dependency&gt;</pre><p><br/></p><p><br/></p><p>这里给下关键代码:</p><pre class=\"brush:java;toolbar:false\">for(Blog&nbsp;blog:blogList){\n List&lt;String&gt;&nbsp;imagesList=blog.getImagesList();\n String&nbsp;blogInfo=blog.getContent();\n Document&nbsp;doc=Jsoup.parse(blogInfo);\n Elements&nbsp;jpgs=doc.select(&quot;img[src$=.jpg]&quot;);&nbsp;// 查找扩展名是jpg的图片\n for(int&nbsp;i=0;i&lt;jpgs.size();i++){\n Element&nbsp;jpg=jpgs.get(i);\n imagesList.add(jpg.toString());\n if(i==2){\n break;\n }\n }\n }</pre><p><br/></p><p>主要涉及到一些选择器。不难。大家可以参考下官方文档。或者百度很容易上手。</p><p><br/></p>',10,'jsoup java'),(51,'使用CXF开发WebService服务器端接口','CXF作为java领域主流的WebService实现框架,Java程序员有必要掌握它。CXF主页:http://cxf.apache.org/简介:百度百科今天的话,主要是用CXF来开发下WebService服务器端接口,明天写下开发客户端接口;这里用Maven。首先建一个Maven的j2se项目;项目的jr','2016-02-14 20:46:04',308,1,'<p><br/>CXF作为java领域主流的WebService实现框架,Java程序员有必要掌握它。</p><p><br/></p><p>CXF主页:<a href=\"http://cxf.apache.org/\" target=\"_blank\" title=\"http://cxf.apache.org/\">http://cxf.apache.org/</a></p><p><br/></p><p>简介:<a href=\"http://baike.baidu.com/link?url=DSx84NVH4yZmYVYOiyFVucRScx5i1rXy5VH6N8VgLygZwkybqL1RVAISqgmWXt-pycDsWVTfydkOowd1ysGxGq\" target=\"_blank\" title=\"http://baike.baidu.com/link?url=DSx84NVH4yZmYVYOiyFVucRScx5i1rXy5VH6N8VgLygZwkybqL1RVAISqgmWXt-pycDsWVTfydkOowd1ysGxGq\">百度百科</a></p><p><br/></p><p>今天的话,主要是用CXF来开发下WebService服务器端接口,明天写下开发客户端接口;</p><p><br/></p><p>这里用Maven。<br/></p><p><br/></p><p>首先建一个Maven的j2se项目;<br/></p><p><img src=\"/static/userImages/20160214/1455452546687063197.jpg\" title=\"1455452546687063197.jpg\" alt=\"QQ鎴浘20160214201912.jpg\"/></p><p><br/></p><p>项目的jre用1.7,因为1.7有webservice的默认实现。不要用1.5 不然下面你用我的代码会有问题,用1.5的话,还需要另外加jar包,这里为了大家省事,要换成1.7;</p><p><img src=\"/static/userImages/20160214/1455452618468053349.jpg\" title=\"1455452618468053349.jpg\" alt=\"QQ鎴浘20160214201936.jpg\"/></p><p><br/></p><p><br/></p><p>根据规范,我们先建一个接口类:HelloWorld</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;javax.jws.WebService;\n\n@WebService\npublic&nbsp;interface&nbsp;HelloWorld&nbsp;{\n\n public&nbsp;String&nbsp;say(String&nbsp;str);\n}</pre><p><br/></p><p>再建一个具体的实现类:HelloWorldImpl</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice.impl;\n\nimport&nbsp;javax.jws.WebService;\n\nimport&nbsp;com.java1234.webservice.HelloWorld;\n\n@WebService\npublic&nbsp;class&nbsp;HelloWorldImpl&nbsp;implements&nbsp;HelloWorld{\n\n public&nbsp;String&nbsp;say(String&nbsp;str)&nbsp;{\n return&nbsp;&quot;Hello&nbsp;&quot;+str;\n }\n\n}</pre><p><br/></p><p>最后建一个发布服务的主类:Server<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\n\nimport&nbsp;javax.xml.ws.Endpoint;\n\nimport&nbsp;com.java1234.webservice.impl.HelloWorldImpl;\n\npublic&nbsp;class&nbsp;Server&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n System.out.println(&quot;web&nbsp;service&nbsp;start&quot;);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloWorld&nbsp;implementor&nbsp;=&nbsp;new&nbsp;HelloWorldImpl();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;address&nbsp;=&nbsp;&quot;http://192.168.1.103/helloWorld&quot;;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Endpoint.publish(address,&nbsp;implementor);&nbsp;&nbsp;//&nbsp;JDK实现\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;web&nbsp;service&nbsp;started&quot;);&nbsp;&nbsp;\n }\n}</pre><p><br/></p><p>这里的Endpoint是Jdk自身实现的WebService。所以到这里我们不需要用到CXF的任何东西。</p><p>这里的address,写上自己的本机IP</p><p>我们运行下Server类:</p><p>运行效果如下:<br/></p><p><img src=\"/static/userImages/20160214/1455452954968056097.jpg\" title=\"1455452954968056097.jpg\" alt=\"QQ鎴浘20160214202633.jpg\"/></p><p><br/></p><p>我们在浏览器里访问:<a href=\"http://192.168.1.103/helloWorld?wsdl\" _src=\"http://192.168.1.103/helloWorld?wsdl\">http://192.168.1.103/helloWorld?wsdl</a> </p><p><br/></p><p>效果:<br/></p><p><img src=\"/static/userImages/20160214/1455453073062071044.jpg\" title=\"1455453073062071044.jpg\" alt=\"QQ鎴浘20160214202817.jpg\"/></p><p><br/></p><p>说明已经成功调用了webservice接口;</p><p><br/></p><p>这里的wsdl 是&nbsp;Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。WSDL是Web Service的描述语言,用于描述Web Service的服务,接口绑定等,为用户提供详细的接口说明书。</p><p><br/></p><p>请求后得到的是一个xml规范文档。是一套规范,后面会具体介绍,任何语言平台技术都可以解析。</p><p><br/></p><p><br/></p><p><br/></p><p>下面我们介绍使用CXF来实现webservice接口:</p><p>我们先在pom.xml中加入:<br/></p><pre class=\"brush:xml;toolbar:false\">&lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-core&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n &lt;/dependency&gt;\n \n &lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n &lt;/dependency&gt;\n \n &lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-rt-transports-http-jetty&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n &lt;/dependency&gt;</pre><p><br/></p><p>这里要额外加入jetty,作为webservice发布的服务器。jetty是一个内嵌的web服务器;</p><p><br/></p><p><img src=\"/static/userImages/20160214/1455453479984038162.jpg\" title=\"1455453479984038162.jpg\" alt=\"QQ鎴浘20160214203514.jpg\"/></p><p><br/></p><p>我们把Server改下。换成CXF实现:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\n\nimport&nbsp;org.apache.cxf.jaxws.JaxWsServerFactoryBean;\n\nimport&nbsp;com.java1234.webservice.impl.HelloWorldImpl;\n\npublic&nbsp;class&nbsp;Server&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n System.out.println(&quot;web&nbsp;service&nbsp;start&quot;);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloWorld&nbsp;implementor&nbsp;=&nbsp;new&nbsp;HelloWorldImpl();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;address&nbsp;=&nbsp;&quot;http://192.168.1.103/helloWorld&quot;;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Endpoint.publish(address,&nbsp;implementor);&nbsp;&nbsp;//&nbsp;JDK实现\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JaxWsServerFactoryBean&nbsp;factoryBean&nbsp;=&nbsp;new&nbsp;JaxWsServerFactoryBean();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setAddress(address);&nbsp;//&nbsp;设置暴露地址\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceClass(HelloWorld.class);&nbsp;//&nbsp;接口类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceBean(implementor);&nbsp;//&nbsp;设置实现类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.create(); \n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;web&nbsp;service&nbsp;started&quot;);&nbsp;&nbsp;\n }\n}</pre><p><br/></p><p>运行效果和刚才一样,这里就不再重复;</p><p><br/></p><p>完整源码下载:<a href=\"http://pan.baidu.com/s/1jHwGLF4\" target=\"_blank\" title=\"http://pan.baidu.com/s/1jHwGLF4\">http://pan.baidu.com/s/1jHwGLF4</a> </p><p><br/></p>',9,'webservice cxf java'),(52,'使用CXF开发WebService客户端','前面一讲开发了webservice服务器端接口,今天的话,我们来开发webservice客户端,让大家来体验下过程;首先建一个Maven项目,项目名字,WS_Client;然后我们要用CXF给我们提供的工具wsdl2java 来根据请求的url生成客户端代码;wsdl2java工具在CXF开发包里;开发下载地','2016-02-15 21:06:30',324,7,'<p>前面一讲开发了webservice服务器端接口,今天的话,我们来开发webservice客户端,让大家来体验下过程;</p><p><br/></p><p>首先建一个Maven项目,项目名字,WS_Client;</p><p><img src=\"/static/userImages/20160215/1455539511890048174.jpg\" alt=\"1455539511890048174.jpg\"/><br/></p><p><br/></p><p>然后我们要用CXF给我们提供的工具wsdl2java 来根据请求的url生成客户端代码;</p><p><br/></p><p>wsdl2java工具在CXF开发包里;</p><p>开发下载地址:<a title=\"http://cxf.apache.org/download.html\" target=\"_blank\" href=\"http://cxf.apache.org/download.html\">http://cxf.apache.org/download.html</a></p><p><img alt=\"QQ鎴浘20160215203213.jpg\" src=\"/static/userImages/20160215/1455539700734093102.jpg\" title=\"1455539700734093102.jpg\" width=\"667\" height=\"264\" style=\"width: 667px; height: 264px;\"/></p><p><br/></p><p>下载二进制包,然后解压到D盘 <br/></p><p><img alt=\"QQ鎴浘20160215203317.jpg\" src=\"/static/userImages/20160215/1455539761187019902.jpg\" title=\"1455539761187019902.jpg\"/></p><p><br/></p><p>这里我们看到了wsdl2java命令;当然要用的话,还得配置Path。我们打开环境变量配置,加入路径 D:\\apache-cxf-3.1.5\\bin&nbsp; 可能你的和我不一样;</p><p><img src=\"/static/userImages/20160215/1455539844625087079.jpg\" alt=\"1455539844625087079.jpg\"/><br/></p><p><br/></p><p>现在我们要干的事是在我们项目里生成我们需要的webservice客户端代码,</p><p>我们找到项目的本地路径,</p><p><img alt=\"QQ鎴浘20160215203622.jpg\" src=\"/static/userImages/20160215/1455539950421090821.jpg\" title=\"1455539950421090821.jpg\"/></p><p><br/></p><p>我的地址是:D:\\workspace\\WS_Client\\src\\main\\java 你们的可能和我不一样:</p><p><br/></p><p>然后我们进入dos,进入上面的本地硬盘地址,然后执行命令:wsdl2java&nbsp;<a href=\"http://192.168.1.103/helloWorld?wsdl\" _src=\"http://192.168.1.103/helloWorld?wsdl\">http://192.168.1.103/helloWorld?wsdl</a> </p><p><img src=\"/static/userImages/20160215/1455542517421041234.jpg\" title=\"1455542517421041234.jpg\" alt=\"QQ鎴浘20160215211824.jpg\"/></p><p><br/></p><p>这样就完成了代码的生成,我们刷新下工程:</p><p><img src=\"/static/userImages/20160215/1455542567125006252.jpg\" title=\"1455542567125006252.jpg\" alt=\"QQ鎴浘20160215212002.jpg\"/></p><p><br/></p><p>最关键的代码是HelloWorldService.java 我们下面写请求主类要用到;</p><p><br/></p><p><br/></p><p>我们下面写下主类 Client ,自己建下:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\npublic&nbsp;class&nbsp;Client&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n HelloWorldService&nbsp;service=new&nbsp;HelloWorldService();\n HelloWorld&nbsp;helloWorld=service.getHelloWorldPort();\n System.out.println(helloWorld.say(&quot;java1234_小锋&quot;));\n }\n}</pre><p><br/></p><p>运行如下:</p><p><img src=\"/static/userImages/20160215/1455542695984058850.jpg\" title=\"1455542695984058850.jpg\" alt=\"QQ鎴浘20160215212217.jpg\"/></p><p><br/></p><p>说明我们成功调用了webservice服务器端的接口。</p><p><br/></p><p>完整代码:<a href=\"http://pan.baidu.com/s/1gebOAR5\" target=\"_blank\" title=\"http://pan.baidu.com/s/1gebOAR5\">http://pan.baidu.com/s/1gebOAR5</a></p>',9,'webservice cxf'),(53,'CXF处理JavaBean以及复合类型','前面讲的是处理简单类型,今天这里来讲下CXF处理JavaBean以及复合类型,比如集合;这里实例是客户端传一个JavaBean,服务器端返回集合类型;在原来的项目实例基础上,我们先创建一个实体类User:package com.java1234.entity;/** * 用户实体类 * @author Adm','2016-02-18 10:31:19',202,8,'<p>前面讲的是处理简单类型,今天这里来讲下CXF处理JavaBean以及复合类型,比如集合;</p><p><br/></p><p>这里实例是客户端传一个JavaBean,服务器端返回集合类型;</p><p><br/></p><p>在原来的项目实例基础上,我们先创建一个实体类User:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.entity;\n\n/**\n&nbsp;*&nbsp;用户实体类\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;User&nbsp;{\n\n private&nbsp;Integer&nbsp;id;&nbsp;//&nbsp;编号\n private&nbsp;String&nbsp;userName;&nbsp;//&nbsp;用户名\n private&nbsp;String&nbsp;password;&nbsp;//&nbsp;密码\n \n public&nbsp;Integer&nbsp;getId()&nbsp;{\n return&nbsp;id;\n }\n public&nbsp;void&nbsp;setId(Integer&nbsp;id)&nbsp;{\n this.id&nbsp;=&nbsp;id;\n }\n public&nbsp;String&nbsp;getUserName()&nbsp;{\n return&nbsp;userName;\n }\n public&nbsp;void&nbsp;setUserName(String&nbsp;userName)&nbsp;{\n this.userName&nbsp;=&nbsp;userName;\n }\n public&nbsp;String&nbsp;getPassword()&nbsp;{\n return&nbsp;password;\n }\n public&nbsp;void&nbsp;setPassword(String&nbsp;password)&nbsp;{\n this.password&nbsp;=&nbsp;password;\n }\n \n \n}</pre><p><br/></p><p>再创建一个Role实体类:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.entity;\n\n/**\n&nbsp;*&nbsp;角色实体\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;Role&nbsp;{\n\n private&nbsp;Integer&nbsp;id;&nbsp;//&nbsp;编号\n private&nbsp;String&nbsp;roleName;&nbsp;//&nbsp;角色名称\n \n \n \n public&nbsp;Role()&nbsp;{\n super();\n //&nbsp;TODO&nbsp;Auto-generated&nbsp;constructor&nbsp;stub\n }\n \n \n \n public&nbsp;Role(Integer&nbsp;id,&nbsp;String&nbsp;roleName)&nbsp;{\n super();\n this.id&nbsp;=&nbsp;id;\n this.roleName&nbsp;=&nbsp;roleName;\n }\n\n\n\n public&nbsp;Integer&nbsp;getId()&nbsp;{\n return&nbsp;id;\n }\n public&nbsp;void&nbsp;setId(Integer&nbsp;id)&nbsp;{\n this.id&nbsp;=&nbsp;id;\n }\n public&nbsp;String&nbsp;getRoleName()&nbsp;{\n return&nbsp;roleName;\n }\n public&nbsp;void&nbsp;setRoleName(String&nbsp;roleName)&nbsp;{\n this.roleName&nbsp;=&nbsp;roleName;\n }\n \n \n}</pre><p><br/></p><p><br/></p><p>然后HelloWorld再加一个接口方法getRoleByUser,通过用户查找角色:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;javax.jws.WebService;\n\nimport&nbsp;com.java1234.entity.Role;\nimport&nbsp;com.java1234.entity.User;\n\n@WebService\npublic&nbsp;interface&nbsp;HelloWorld&nbsp;{\n\n public&nbsp;String&nbsp;say(String&nbsp;str);\n \n public&nbsp;List&lt;Role&gt;&nbsp;getRoleByUser(User&nbsp;user);\n}</pre><p><br/></p><p><br/></p><p>然后HelloWorld接口实现类 HelloWorldImpl写下新增的方法的具体实现,我们这里写死,模拟下即可:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice.impl;\n\nimport&nbsp;java.util.ArrayList;\nimport&nbsp;java.util.List;\n\nimport&nbsp;javax.jws.WebService;\n\nimport&nbsp;com.java1234.entity.Role;\nimport&nbsp;com.java1234.entity.User;\nimport&nbsp;com.java1234.webservice.HelloWorld;\n\n@WebService\npublic&nbsp;class&nbsp;HelloWorldImpl&nbsp;implements&nbsp;HelloWorld{\n\n public&nbsp;String&nbsp;say(String&nbsp;str)&nbsp;{\n return&nbsp;&quot;Hello&nbsp;&quot;+str;\n }\n\n public&nbsp;List&lt;Role&gt;&nbsp;getRoleByUser(User&nbsp;user)&nbsp;{\n List&lt;Role&gt;&nbsp;roleList=new&nbsp;ArrayList&lt;Role&gt;();\n //&nbsp;模拟&nbsp;直接写死\n if(user!=null){\n if(user.getUserName().equals(&quot;java1234&quot;)&nbsp;&amp;&amp;&nbsp;user.getPassword().equals(&quot;123456&quot;)){\n roleList.add(new&nbsp;Role(1,&quot;技术总监&quot;));\n roleList.add(new&nbsp;Role(2,&quot;架构师&quot;));\n }else&nbsp;if(user.getUserName().equals(&quot;jack&quot;)&nbsp;&amp;&amp;&nbsp;user.getPassword().equals(&quot;123456&quot;)){\n roleList.add(new&nbsp;Role(3,&quot;程序员&quot;));\n }\n return&nbsp;roleList;\n }else{\n return&nbsp;null; \n }\n \n }\n \n \n\n}</pre><p><br/></p><p>服务端其他地方不用动;<br/></p><p><br/></p><p>下面我们来处理下客户端,和前面讲的一样。我们用wsdl2java工具重新生成代码,这里就不再讲;</p><p><br/></p><p><img src=\"/static/userImages/20160218/1455762437448028677.jpg\" title=\"1455762437448028677.jpg\" alt=\"QQ鎴浘20160218103035.jpg\"/></p><p><br/></p><p>这里我看到,实体类,以及接口实现,代码都生成了。</p><p><br/></p><p>我们改下Client类:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\n\npublic&nbsp;class&nbsp;Client&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n HelloWorldService&nbsp;service=new&nbsp;HelloWorldService();\n HelloWorld&nbsp;helloWorld=service.getHelloWorldPort();\n //System.out.println(helloWorld.say(&quot;java1234&quot;));\n User&nbsp;user=new&nbsp;User();\n user.setUserName(&quot;jack&quot;);\n user.setPassword(&quot;123456&quot;);\n List&lt;Role&gt;&nbsp;roleList=helloWorld.getRoleByUser(user);\n for(Role&nbsp;role:roleList){\n System.out.println(role.getId()+&quot;,&quot;+role.getRoleName());\n }\n }\n}</pre><p><br/></p><p>运行截图:<br/></p><p><img src=\"/static/userImages/20160218/1455762521698070806.jpg\" title=\"1455762521698070806.jpg\" alt=\"QQ鎴浘20160218103159.jpg\"/></p><p><br/></p><p>完整代码:<a href=\"http://pan.baidu.com/s/1c1drMYO\" target=\"_blank\" title=\"http://pan.baidu.com/s/1c1drMYO\">http://pan.baidu.com/s/1c1drMYO</a></p><p><br/></p>',9,'webservice cxf'),(54,'webservice执行过程深入理解','前面我们搞了1,2个DEMO,基本对webservice服务发布,调用 ,执行 有一定的了解。今天的话,我们再系统的梳理下webservice执行过程。首先我们在webservice服务器端开发webservice接口,然后发布webservice;然后我们通过一个Url调用webservice接口,比如发布','2016-02-19 20:18:54',286,1,'<p>前面我们搞了1,2个DEMO,基本对webservice服务发布,调用 ,执行 有一定的了解。</p><p>今天的话,我们再系统的梳理下webservice执行过程。</p><p><br/></p><p>首先我们在webservice服务器端开发webservice接口,然后发布webservice;</p><p><br/></p><p>然后我们通过一个Url调用webservice接口,比如发布的时候 ,url是&nbsp;http://192.168.1.103/helloWorld</p><p><br/></p><p>那我们请求的url就是&nbsp;http://192.168.1.103/helloWorld?wsdl &nbsp;</p><p><br/></p><p>我们在浏览器里输入,运行如下:</p><p><img src=\"/static/userImages/20160219/1455883676261078945.jpg\" title=\"1455883676261078945.jpg\" alt=\"QQ鎴浘20160219201122.jpg\"/></p><p><br/></p><p>这一大串xml标记,其实就是wsdl (Web Services Description Language) 也就是Web Service描述语言,描述服务器端定义的webservice接口的相关信息,</p><p>当然我们不用花时间去学习这东西,毕竟这东西是一套规范,但是我们仔细观察,猜测,也能分析出一些猫腻来,这里wsdl:types就是定义了一些变量,wsdl:message相当于定义方法,</p><p>wsdl:portType相当与调用与返回,下面的话,就是一些操作。这东西不必要去研究细节,搞这东西会晕死的。有工具给我处理。我们角度要站得高。</p><p><br/></p><p>客户端通过这个url请求,获得wsdl规范的xml文档片段信息,然后这里又涉及到一个新的概念SOAP(Simple Object Access Protocol)即简单对象访问协议,我们通过这个协议,来实现客户端,服务器端消息交互,SOAP使用XML消息调用远程方法;当然交互的媒介就是xml,具体交互内容根据wsdl文档描述来。</p><p><br/></p><p>这个就是大体的一个webservie执行过程。<img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/> 当然,我作为一个开发者,我觉得一般的应用,Ajax跨域调用,以JSON作为交互媒介也不错。当然也要根据具体情况来。比如有大量的对象,集合类型,webservice还是有他的强项的。</p><p><br/></p><p><br/></p><p><br/></p>',9,'webservice cxf'),(55,'我的第一辆代步车-别克英朗',' 2015年折腾了好几个月,把驾照搞定了。至于买车,东看看西看看。最终选了别克英朗作为第一辆入门代步车。开了几个月,体验不错。今天回丈母娘家,自己洗车。省了20块。 等这量车开报废了,变身老司机,准备入手奥迪A4L,或者奥迪A6L。','2016-02-21 17:02:21',700,35,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0013.gif\"/> 2015年折腾了好几个月,把驾照搞定了。至于买车,东看看西看看。最终选了别克英朗作为第一辆入门代步车。开了几个月,体验不错。</p><p>今天回丈母娘家,自己洗车。省了20块。</p><p><br/></p><p><img src=\"http://blog.java1234.com/static/userImages/20160221/1456045138917057522.jpg\" title=\"1456045138917057522.jpg\" style=\"white-space: normal;\"/></p><p><br/></p><p><img src=\"/static/userImages/20160221/1456045138542012090.jpg\" style=\"\" title=\"1456045138542012090.jpg\"/></p><p><img src=\"/static/userImages/20160221/1456045138542074202.jpg\" style=\"\" title=\"1456045138542074202.jpg\"/></p><p><img src=\"/static/userImages/20160221/1456045138542027541.jpg\" style=\"width: 598px; height: 905px;\" title=\"1456045138542027541.jpg\" width=\"598\" height=\"905\"/></p><p><br/></p><p><br/></p><p><img src=\"http://img.baidu.com/hi/jx2/j_0011.gif\"/> 等这量车开报废了,变身老司机,准备入手奥迪A4L,或者奥迪A6L。</p><p><br/></p><p><br/></p>',5,''),(56,'cxf处理一些Map等复杂类型','前面讲的一些都是简单类型,cxf都支持。但是有些复杂类型,cxf是不支持,比如常用的Map类型;下面我们在前面的实例基础上在加一个方法,比如我们现在有个需求,获取所有用用户以及对应的每个用户所有角色信息;服务器端:HelloWorld接口加方法:/** * 获取所有用户以及对应的角色 * @return ','2016-02-22 17:46:30',185,0,'<p>前面讲的一些都是简单类型,cxf都支持。但是有些复杂类型,cxf是不支持,比如常用的Map类型;<br/></p><p><br/></p><p>下面我们在前面的实例基础上在加一个方法,比如我们现在有个需求,获取所有用用户以及对应的每个用户所有角色信息;</p><p><br/></p><p>服务器端:<br/></p><p><br/></p><p>HelloWorld接口加方法:</p><pre class=\"brush:java;toolbar:false\">/**\n &nbsp;*&nbsp;获取所有用户以及对应的角色\n &nbsp;*&nbsp;@return\n &nbsp;*/\n public&nbsp;Map&lt;String,List&lt;Role&gt;&gt;&nbsp;getRoles();</pre><p><br/></p><p>HelloWorldImpl实现类加方法实现:<br/></p><pre class=\"brush:java;toolbar:false\">public&nbsp;Map&lt;String,&nbsp;List&lt;Role&gt;&gt;&nbsp;getRoles()&nbsp;{\n Map&lt;String,List&lt;Role&gt;&gt;&nbsp;map=new&nbsp;HashMap&lt;String,List&lt;Role&gt;&gt;();\n List&lt;Role&gt;&nbsp;roleList1=new&nbsp;ArrayList&lt;Role&gt;();\n roleList1.add(new&nbsp;Role(1,&quot;技术总监&quot;));\n roleList1.add(new&nbsp;Role(2,&quot;架构师&quot;));\n map.put(&quot;java1234&quot;,&nbsp;roleList1);\n List&lt;Role&gt;&nbsp;roleList2=new&nbsp;ArrayList&lt;Role&gt;();\n roleList2.add(new&nbsp;Role(1,&quot;程序员&quot;));\n map.put(&quot;jack&quot;,&nbsp;roleList2);\n return&nbsp;map;\n }</pre><p><br/></p><p>然后我们启动Server类:发现报错:</p><p><img src=\"/static/userImages/20160222/1456134575421042758.jpg\" title=\"1456134575421042758.jpg\" alt=\"QQ鎴浘20160222175231.jpg\"/></p><p>这个报错信息说,不支持该类型;</p><p><br/></p><p>这里我们有好几种解决方案,这里我们用最常用的一种,使用适配器,把cxf不能接受的类型通过适配器,转能接受的类型。</p><p><br/></p><p>我们使用@XmlJavaTypeAdapter注解,加在接口定义上,完整接口代码如下:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\nimport&nbsp;java.util.Map;\n\nimport&nbsp;javax.jws.WebService;\nimport&nbsp;javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;\n\nimport&nbsp;com.java1234.adapter.MapAdapter;\nimport&nbsp;com.java1234.entity.Role;\nimport&nbsp;com.java1234.entity.User;\n\n@WebService\npublic&nbsp;interface&nbsp;HelloWorld&nbsp;{\n\n public&nbsp;String&nbsp;say(String&nbsp;str);\n \n public&nbsp;List&lt;Role&gt;&nbsp;getRoleByUser(User&nbsp;user);\n \n /**\n &nbsp;*&nbsp;获取所有用户以及对应的角色\n &nbsp;*&nbsp;@return\n &nbsp;*/\n @XmlJavaTypeAdapter(MapAdapter.class)\n public&nbsp;Map&lt;String,List&lt;Role&gt;&gt;&nbsp;getRoles();\n}</pre><p><br/></p><p>这里参数需要一个实现了XmlAdapter类的适配器类;</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.adapter;\n\nimport&nbsp;java.util.HashMap;\nimport&nbsp;java.util.List;\nimport&nbsp;java.util.Map;\n\nimport&nbsp;javax.xml.bind.annotation.adapters.XmlAdapter;\n\nimport&nbsp;com.java1234.entity.Role;\n\n/**\n&nbsp;*&nbsp;Map适配器\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;MapAdapter&nbsp;extends&nbsp;XmlAdapter&lt;MyRole[],&nbsp;Map&lt;String,List&lt;Role&gt;&gt;&gt;{\n\n /**\n &nbsp;*&nbsp;适配转换&nbsp;&nbsp;MyRole[]&nbsp;-&gt;&nbsp;Map&lt;String,&nbsp;List&lt;Role&gt;&gt;\n &nbsp;*/\n @Override\n public&nbsp;Map&lt;String,&nbsp;List&lt;Role&gt;&gt;&nbsp;unmarshal(MyRole[]&nbsp;v)&nbsp;throws&nbsp;Exception&nbsp;{\n Map&lt;String,&nbsp;List&lt;Role&gt;&gt;&nbsp;map=new&nbsp;HashMap&lt;String,List&lt;Role&gt;&gt;();\n for(int&nbsp;i=0;i&lt;v.length;i++){\n MyRole&nbsp;r=v[i];\n map.put(r.getKey(),&nbsp;r.getValue());\n }\n return&nbsp;map;\n }\n\n /**\n &nbsp;*&nbsp;适配转换&nbsp;&nbsp;Map&lt;String,&nbsp;List&lt;Role&gt;&gt;&nbsp;-&gt;&nbsp;MyRole[]\n &nbsp;*/\n @Override\n public&nbsp;MyRole[]&nbsp;marshal(Map&lt;String,&nbsp;List&lt;Role&gt;&gt;&nbsp;v)&nbsp;throws&nbsp;Exception&nbsp;{\n MyRole[]&nbsp;roles=new&nbsp;MyRole[v.size()];\n int&nbsp;i=0;\n for(String&nbsp;key:v.keySet()){\n roles[i]=new&nbsp;MyRole();\n roles[i].setKey(key);\n roles[i].setValue(v.get(key));\n i++;\n }\n return&nbsp;roles;\n }\n\n \n \n\n}</pre><p>这里的话XmlAdapter要加两个参数,XmlAdapter&lt;ValueType,BoundType&gt;&nbsp;</p><p>ValueType是cxf能接收的类型,这里我用了数组;</p><p>BoundType是cxf不能接受的类型,也就是我例子里的需求的Map类型;</p><p><br/></p><p>这里大家会看到,还有一个MyRole自定义类型,key:value。我们搞成两个属性,具体实现如下:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.adapter;\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;com.java1234.entity.Role;\n\n/**\n&nbsp;*&nbsp;自定义实体&nbsp;cxf能接受\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;MyRole&nbsp;{\n\n private&nbsp;String&nbsp;key;\n private&nbsp;List&lt;Role&gt;&nbsp;value;\n \n public&nbsp;String&nbsp;getKey()&nbsp;{\n return&nbsp;key;\n }\n public&nbsp;void&nbsp;setKey(String&nbsp;key)&nbsp;{\n this.key&nbsp;=&nbsp;key;\n }\n public&nbsp;List&lt;Role&gt;&nbsp;getValue()&nbsp;{\n return&nbsp;value;\n }\n public&nbsp;void&nbsp;setValue(List&lt;Role&gt;&nbsp;value)&nbsp;{\n this.value&nbsp;=&nbsp;value;\n }\n \n \n}</pre><p><br/></p><p>OK 这样就行了。我们运行Server类,发布webservice接口:</p><p><img src=\"/static/userImages/20160222/1456134226937065109.jpg\" title=\"1456134226937065109.jpg\" alt=\"QQ鎴浘20160222174638.jpg\"/></p><p><br/></p><p><br/></p><p>然后就到了webservice客户端,我们用wsdl2java工具生成下最新代码,具体过程前面讲过,这里不重复讲:</p><p>生成代码如下:</p><p><img src=\"/static/userImages/20160222/1456134312484067804.jpg\" title=\"1456134312484067804.jpg\" alt=\"QQ鎴浘20160222174813.jpg\"/></p><p><br/></p><p>我们修改下Client类:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\n\npublic&nbsp;class&nbsp;Client&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n HelloWorldService&nbsp;service=new&nbsp;HelloWorldService();\n HelloWorld&nbsp;helloWorld=service.getHelloWorldPort();\n //System.out.println(helloWorld.say(&quot;java1234&quot;));\n /*User&nbsp;user=new&nbsp;User();\n user.setUserName(&quot;jack&quot;);\n user.setPassword(&quot;123456&quot;);\n List&lt;Role&gt;&nbsp;roleList=helloWorld.getRoleByUser(user);\n for(Role&nbsp;role:roleList){\n System.out.println(role.getId()+&quot;,&quot;+role.getRoleName());\n }*/\n MyRoleArray&nbsp;array=helloWorld.getRoles();\n List&lt;MyRole&gt;&nbsp;roleList=array.item;\n for(int&nbsp;i=0;i&lt;roleList.size();i++){\n MyRole&nbsp;my=roleList.get(i);\n System.out.print(my.key+&quot;:&quot;);\n for(Role&nbsp;r:my.value){\n System.out.print(r.getId()+&quot;,&quot;+r.getRoleName()+&quot;&nbsp;&quot;);\n }\n System.out.println();\n }\n }\n}</pre><p><br/></p><p>运行下:</p><p><img src=\"/static/userImages/20160222/1456134352140052359.jpg\" title=\"1456134352140052359.jpg\" alt=\"QQ鎴浘20160222174853.jpg\"/></p><p><br/></p><p>OK,这样就实现了复杂类型的调用;</p><p><br/></p><p>完整代码:<a href=\"http://pan.baidu.com/s/1kTUseOZ\" target=\"_blank\" title=\"http://pan.baidu.com/s/1kTUseOZ\">http://pan.baidu.com/s/1kTUseOZ</a></p>',9,'webservice cxf'),(57,'hibernate无法自动建表的原因','假如启动hibernate,并且数据库已经建好;假如启动的时候报错,项目启动失败,大多数情况是不能自动建表,可以根据报错信息,解决问题;这里我要说的是另外一种情况,假如项目启动没有报错,一切正常,但是数据库依然没有自动建表,这里很有可能的原因是数据库驱动版本过低的原因;大家可以把搞个新点的数据库驱动版本即可;','2016-02-24 14:10:41',126,2,'<p>假如启动hibernate,并且数据库已经建好;<br/></p><p>假如启动的时候报错,项目启动失败,大多数情况是不能自动建表,可以根据报错信息,解决问题;</p><p>这里我要说的是另外一种情况,假如项目启动没有报错,一切正常,但是数据库依然没有自动建表,这里很有可能的原因是数据库驱动版本过低的原因;</p><p>大家可以把搞个新点的数据库驱动版本即可;</p>',11,'hibernate jdbc'),(58,'开发环境如何运行web项目不带项目名字','比如有个项目Blog;默认情况下,我们发布到Tomcat,要运行项目。浏览器地址是这样的: http://localhost:8080/Blog但是某些情况,我们只有一个项目,而且需要直接IP加端口访问,这个时候,我们可以通过配置Eclipse里的Servers;比如Tomcat作为Web服务器,Eclips','2016-02-24 18:42:23',227,5,'<p>比如有个项目Blog;</p><p><img src=\"/static/userImages/20160224/1456309931725025871.jpg\" alt=\"1456309931725025871.jpg\"/></p><p><br/></p><p>默认情况下,我们发布到Tomcat,要运行项目。浏览器地址是这样的: http://localhost:8080/Blog<br/></p><p><br/></p><p>但是某些情况,我们只有一个项目,而且需要直接IP加端口访问,这个时候,我们可以通过配置Eclipse里的Servers;</p><p>比如Tomcat作为Web服务器,Eclipse Package Explorer 视图下有 :</p><p><br/></p><p><img src=\"/static/userImages/20160224/1456310119928082641.jpg\" alt=\"1456310119928082641.jpg\"/></p><p><br/></p><p>我们打开server.xml,我们在最下方可以看到一个Context节点:</p><p>&lt;Context docBase=&quot;Blog&quot; path=&quot;/Blog&quot; reloadable=&quot;true&quot; source=&quot;org.eclipse.jst.j2ee.server:Blog&quot;/&gt;&lt;/Host&gt;</p><p><br/></p><p>我们只需要把 path属性值改下,改成path=&quot;/&quot; 即可;</p><p><br/></p><p>改成 保存下; 我们就可以用 http://localhost:8080/ 来访问项目; 当然这里的端口也是可以修改的;</p><p><br/></p><p>我们找到Connector节点:&lt;Connector URIEncoding=&quot;UTF-8&quot; connectionTimeout=&quot;20000&quot; port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot; redirectPort=&quot;8443&quot;/&gt;</p><p>我们修改port即可 改成80 这样就不需要加端口了;(发布到互联网的项目,我们都要改成80端口);</p><p>这里的 URIEncoding=&quot;UTF-8&quot;是我自己加的。主要解决url带中文参数问题,具体请看 <a _src=\"http://blog.java1234.com/blog/articles/43.html\" href=\"http://blog.java1234.com/blog/articles/43.html\">http://blog.java1234.com/blog/articles/43.html</a><br/></p><p><br/> </p><p><br/> </p>',3,'tomcat'),(59,'如何发布Web项目到互联网','比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好;我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat;然后我们把自己开发的项目打包,打成War包;具体操作;右击项目-> Export然后点击 Next ;选择Browse,','2016-02-24 18:55:40',484,10,'<p>比如我们有个项目想要发布到互联网上,我们首先需要购买域名以及主机,主机的话,推荐云主机(本人推荐西部数码或者阿里云),性能好;</p><p>我们先在云主机上搭建环境,比如Mysql,Jdk,Tomcat;</p><p>然后我们把自己开发的项目打包,打成War包;</p><p>具体操作;右击项目-&gt; Export</p><p><img alt=\"QQ鎴浘20160224184605.jpg\" src=\"/static/userImages/20160224/1456310792100080598.jpg\" title=\"1456310792100080598.jpg\"/></p><p><br/></p><p>然后点击 Next ;</p><p><img alt=\"QQ鎴浘20160224184644.jpg\" src=\"/static/userImages/20160224/1456310837522027928.jpg\" title=\"1456310837522027928.jpg\"/></p><p><br/></p><p>选择Browse,我们随便选个地方&nbsp; 然后点击Finish即可;</p><p>这样我们就可以生成一个War包了;</p><p>我们把War包传到主机上去,放到Tomcat的webapps下,启动tomcat的startup.bat,会自动解压项目;</p><p>到了这里,还不够。我们只能通过 <a _src=\"http://外网IP:8080/项目名称访问;\" href=\"http://外网IP:8080/项目名称访问;\">http://外网IP:8080/项目名称访问;</a><br/></p><p>我们现在要干两个事情,第一个是去掉端口,第二个是去掉项目名称</p><p>我们找到tomcat安装包下的conf文件夹下的server.xml文件;</p><p><img alt=\"QQ鎴浘20160224185006.jpg\" src=\"/static/userImages/20160224/1456311055147010296.jpg\" title=\"1456311055147010296.jpg\"/></p><p>找到Connector节点;</p><pre class=\"brush:xml;toolbar:false\">&lt;Connector&nbsp;port=&quot;8080&quot;&nbsp;protocol=&quot;HTTP/1.1&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectionTimeout=&quot;20000&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirectPort=&quot;8443&quot;&nbsp;/&gt;</pre><p>我们把port=&quot;8080&quot;改成80端口即可,这样我们就可以不用端口了。不加端口就是默认访问80端口;</p><p><br/></p><p>我们在最后 找到Host节点:</p><pre class=\"brush:xml;toolbar:false\">&lt;Host&nbsp;name=&quot;localhost&quot;&nbsp;&nbsp;appBase=&quot;webapps&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unpackWARs=&quot;true&quot;&nbsp;autoDeploy=&quot;true&quot;&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;SingleSignOn&nbsp;valve,&nbsp;share&nbsp;authentication&nbsp;between&nbsp;web&nbsp;applications\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation&nbsp;at:&nbsp;/docs/config/valve.html&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Valve&nbsp;className=&quot;org.apache.catalina.authenticator.SingleSignOn&quot;&nbsp;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Access&nbsp;log&nbsp;processes&nbsp;all&nbsp;example.\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation&nbsp;at:&nbsp;/docs/config/valve.html\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note:&nbsp;The&nbsp;pattern&nbsp;used&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;using&nbsp;pattern=&quot;common&quot;&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Valve&nbsp;className=&quot;org.apache.catalina.valves.AccessLogValve&quot;&nbsp;directory=&quot;logs&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix=&quot;localhost_access_log.&quot;&nbsp;suffix=&quot;.txt&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern=&quot;%h&nbsp;%l&nbsp;%u&nbsp;%t&nbsp;&amp;quot;%r&amp;quot;&nbsp;%s&nbsp;%b&quot;&nbsp;/&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Host&gt;</pre><p></p><p>我们在里面加一个节点:</p><p>&lt;Context path=&quot;&quot; docBase=&quot;C:\\apache-tomcat-7.0.11-windows-x86\\apache-tomcat-7.0.11\\webapps\\Blog&quot; debug=&quot;0&quot; reloadable=&quot;true&quot; /&gt;&nbsp;&nbsp; <br/></p><pre class=\"brush:xml;toolbar:false\">&lt;Host&nbsp;name=&quot;localhost&quot;&nbsp;&nbsp;appBase=&quot;webapps&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unpackWARs=&quot;true&quot;&nbsp;autoDeploy=&quot;true&quot;&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;SingleSignOn&nbsp;valve,&nbsp;share&nbsp;authentication&nbsp;between&nbsp;web&nbsp;applications\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation&nbsp;at:&nbsp;/docs/config/valve.html&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Valve&nbsp;className=&quot;org.apache.catalina.authenticator.SingleSignOn&quot;&nbsp;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Context&nbsp;path=&quot;&quot;&nbsp;docBase=&quot;C:\\apache-tomcat-7.0.11-windows-x86\\apache-tomcat-7.0.11\\webapps\\BaiduYun&quot;&nbsp;debug=&quot;0&quot;&nbsp;reloadable=&quot;true&quot;&nbsp;/&gt;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Access&nbsp;log&nbsp;processes&nbsp;all&nbsp;example.\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation&nbsp;at:&nbsp;/docs/config/valve.html\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note:&nbsp;The&nbsp;pattern&nbsp;used&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;using&nbsp;pattern=&quot;common&quot;&nbsp;--&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Valve&nbsp;className=&quot;org.apache.catalina.valves.AccessLogValve&quot;&nbsp;directory=&quot;logs&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix=&quot;localhost_access_log.&quot;&nbsp;suffix=&quot;.txt&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern=&quot;%h&nbsp;%l&nbsp;%u&nbsp;%t&nbsp;&amp;quot;%r&amp;quot;&nbsp;%s&nbsp;%b&quot;&nbsp;resolveHosts=&quot;false&quot;/&gt;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Host&gt;</pre><p></p><p>这里的docBase要给成你的项目所在你服务器的本机的绝对路径;</p><p>其他不用变;</p><p><br/></p><p>项目数据库脚本的话自己导入下即可;这样就完整了项目部署;</p><p>我们可以直接通过外网IP直接访问项目;</p><p>域名解析下服务器外网IP。我们就可以通过域名访问了;</p><p><br/></p>',3,'tomcat'),(60,'如何找到Web项目编译好的class文件','在某些情况,我们需要获取部分Eclipse里的项目编译好的class文件。这里我举个例子,比如我有一个web项目,已经发布到了互联网。但是有个小改动,我们只改了一个java类,这时候。我们不需要把项目重新打War包了,直接找到那个修改好的新产生的class文件,送到服务器,直接替换下原来的class文件即可,','2016-02-25 08:10:32',244,8,'<p>在某些情况,我们需要获取部分Eclipse里的项目编译好的class文件。</p><p>这里我举个例子,比如我有一个web项目,已经发布到了互联网。但是有个小改动,我们只改了一个java类,这时候。我们不需要把项目重新打War包了,</p><p>直接找到那个修改好的新产生的class文件,送到服务器,直接替换下原来的class文件即可,</p><p>配置的Tomcat server.xml的时候 我们Context节点,要加reloadable=&quot;true&quot;,这样的话,Tomcat会自动重新启动项目,不需要我们人工的重启,很方便;</p><p>那如何找到Web项目编译好的class文件呢?</p><p>我们分两种项目进行讲解:</p><p>1,普通Web项目</p><p>我们首先找到Eclipse的工作空间 workspace;</p><p><img src=\"/static/userImages/20160225/1456358794413068531.jpg\" title=\"1456358794413068531.jpg\" alt=\"QQ鎴浘20160225080603.jpg\"/></p><p>这里的BaiduYunServer就是一个普通Web项目,我们点下文件夹,</p><p><img src=\"/static/userImages/20160225/1456358844069022109.jpg\" title=\"1456358844069022109.jpg\" alt=\"QQ鎴浘20160225080653.jpg\"/></p><p>里面有个build文件夹,这里就是项目编译的所有的class文件。</p><p><br/></p><p>2,Maven项目</p><p>我们还是首先找到Eclipse的工作空间 workspace;</p><p><img src=\"/static/userImages/20160225/1456358920038000713.jpg\" title=\"1456358920038000713.jpg\" alt=\"QQ鎴浘20160225080759.jpg\"/></p><p>这里的Blog项目,就是一个Maven项目,我们点下Blog;</p><p><img src=\"/static/userImages/20160225/1456358967319070308.jpg\" title=\"1456358967319070308.jpg\" alt=\"QQ鎴浘20160225080857.jpg\"/></p><p>这里有个target项目,里面就是Maven项目编译好的class文件,当然有配置文件的话,也会在里面;</p><p><br/></p><p>我们可以在里面找到我们需要的class文件;</p><p><br/></p>',3,'tomcat class文件'),(61,'j2se项目如何打成可以运行Jar包','经常有学员写完一个j2se项目来问我如何打成Jar包,很多学员自己摸索了。由于选错了一个选项,打出来的是Jar包,但不是可运行Jar包;今天我来讲下J2se项目如何打包成可运行Jar包;我们首先建一个J2se项目,随便取名 就叫Test算了:然后我们新建一个Java类 JFrameTest类代码如何:impo','2016-02-26 21:18:25',367,2,'<p>经常有学员写完一个j2se项目来问我如何打成Jar包,很多学员自己摸索了。由于选错了一个选项,打出来的是Jar包,但不是可运行Jar包;<br/></p><p><br/></p><p>今天我来讲下J2se项目如何打包成可运行Jar包;</p><p><br/></p><p>我们首先建一个J2se项目,随便取名 就叫Test算了:</p><p>然后我们新建一个Java类&nbsp;JFrameTest</p><p><img src=\"/static/userImages/20160226/1456492304460084475.jpg\" title=\"1456492304460084475.jpg\" alt=\"QQ鎴浘20160226211111.jpg\"/></p><p><br/></p><p>类代码如何:</p><pre class=\"brush:java;toolbar:false\">import&nbsp;java.awt.Color;\n\nimport&nbsp;javax.swing.JFrame;\n\npublic&nbsp;class&nbsp;JFrameTest&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n JFrame&nbsp;jFrame=new&nbsp;JFrame(&quot;JFrame窗体&quot;);\n jFrame.getContentPane().setBackground(Color.RED);&nbsp;//&nbsp;设置容器的背景颜色\n jFrame.setLocation(400,&nbsp;200);&nbsp;//&nbsp;设置容器的位置\n jFrame.setSize(500,200);&nbsp;//&nbsp;设置容器大小\n jFrame.setVisible(true);&nbsp;//&nbsp;让容器显示\n }\n}</pre><p><br/></p><p>然后我们右击项目,选择 Export(导出):</p><p><img src=\"/static/userImages/20160226/1456492376757021856.png\" title=\"1456492376757021856.png\" alt=\"QQ鍥剧墖20160226211216.png\"/></p><p><br/></p><p>下面就是重点了。一定要选择Runnable Jar file,可以运行Jar包; 选择第一个Jar file就坑了,那个是不可运行的Jar包;</p><p><br/></p><p>我们继续点Next ;</p><p><img src=\"/static/userImages/20160226/1456492463241086491.png\" title=\"1456492463241086491.png\" alt=\"QQ鍥剧墖20160226211347.png\"/></p><p><br/></p><p>这里 我们首先选择启动的包含main方法入口的主类,我们开发的j2se项目可能有好几个类里都包含main方法,我们要选入口的类(一般是登录的那个类);</p><p>我们这里选择JFrameTest; 然后我们再点Browse(浏览),导出的目标位置,就放桌面算了;</p><p><img src=\"/static/userImages/20160226/1456492597600055236.jpg\" title=\"1456492597600055236.jpg\" alt=\"QQ鎴浘20160226211544.jpg\"/></p><p><br/></p><p>最后我们选择Finish,我们会看到桌面会有一个Jar包;</p><p><img src=\"/static/userImages/20160226/1456492651772092576.jpg\" title=\"1456492651772092576.jpg\" alt=\"QQ鎴浘20160226211658.jpg\"/></p><p><br/></p><p>我们双击运行下,</p><p><img src=\"/static/userImages/20160226/1456492676600021293.jpg\" title=\"1456492676600021293.jpg\" alt=\"QQ鎴浘20160226211720.jpg\"/></p><p><br/></p><p>直接出结果。</p><p><br/></p><p><br/></p><p><br/></p>',1,'打包'),(62,'CXF添加拦截器','今天开始讲下拦截器,前面大家学过servlet,struts2 都有拦截器概念,主要作用是做一些权限过滤,编码处理等;webservice也可以加上拦截器,我们可以给webservice请求加权限判断功能;webservice分服务端和客户端,服务端和客户端都是可以加拦截器的,无论是服务端还是客户端,都分进,','2016-02-28 18:29:15',260,2,'<p style=\"white-space: normal;\">今天开始讲下拦截器,前面大家学过servlet,struts2 都有拦截器概念,主要作用是做一些权限过滤,编码处理等;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">webservice也可以加上拦截器,我们可以给webservice请求加权限判断功能;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">webservice分服务端和客户端,服务端和客户端都是可以加拦截器的,无论是服务端还是客户端,都分进,出(In,Out)拦截器;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们先来改下服务端的Server类:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;org.apache.cxf.interceptor.LoggingInInterceptor;\nimport&nbsp;org.apache.cxf.interceptor.LoggingOutInterceptor;\nimport&nbsp;org.apache.cxf.jaxws.JaxWsServerFactoryBean;\n\nimport&nbsp;com.java1234.webservice.impl.HelloWorldImpl;\n\npublic&nbsp;class&nbsp;Server&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n System.out.println(&quot;web&nbsp;service&nbsp;start&quot;);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloWorld&nbsp;implementor&nbsp;=&nbsp;new&nbsp;HelloWorldImpl();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;address&nbsp;=&nbsp;&quot;http://192.168.1.103/helloWorld&quot;;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JaxWsServerFactoryBean&nbsp;factoryBean&nbsp;=&nbsp;new&nbsp;JaxWsServerFactoryBean();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setAddress(address);&nbsp;//&nbsp;设置暴露地址\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceClass(HelloWorld.class);&nbsp;//&nbsp;接口类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceBean(implementor);&nbsp;//&nbsp;设置实现类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.getInInterceptors().add(new&nbsp;LoggingInInterceptor());&nbsp;//&nbsp;添加in拦截器&nbsp;日志拦截器\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.getOutInterceptors().add(new&nbsp;LoggingOutInterceptor());&nbsp;//&nbsp;添加out拦截器\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.create(); \n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;web&nbsp;service&nbsp;started&quot;);&nbsp;&nbsp;\n }\n}</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的话,我们通过factoryBean对象可以获取拦截器组,添加进或者出拦截器,这里有个经典的拦截器,我们开发的时候经常用,就是日志拦截器,</p><p style=\"white-space: normal;\">我们可以把客户端的请求,以及服务端返回的信息打印出来,可以打印控制台,也可以打印到执行文件;这里为了演示方便,直接搞无参的拦截器,</p><p style=\"white-space: normal;\">打印到控制台;&nbsp;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">无论是自定义的拦截器,还是CXF自带的拦截器,都必须实现Interceptor接口。</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们执行下Server类:</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160228/1456653585413038703.jpg\" title=\"1456653585413038703.jpg\" alt=\"QQ鎴浘20160228175925.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">然后我们再来执行下客户端的Client类,结果:</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160228/1456653669428069419.jpg\" title=\"1456653669428069419.jpg\" alt=\"QQ鎴浘20160228180012.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">然后我们仔细观察Server端的控制台:</p><pre class=\"brush:java;toolbar:false\">web&nbsp;service&nbsp;start\n二月&nbsp;28,&nbsp;2016&nbsp;5:59:19&nbsp;下午&nbsp;org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean&nbsp;buildServiceFromClass\n信息:&nbsp;Creating&nbsp;Service&nbsp;{http://webservice.java1234.com/}HelloWorldService&nbsp;from&nbsp;class&nbsp;com.java1234.webservice.HelloWorld\n二月&nbsp;28,&nbsp;2016&nbsp;5:59:20&nbsp;下午&nbsp;org.apache.cxf.endpoint.ServerImpl&nbsp;initDestination\n信息:&nbsp;Setting&nbsp;the&nbsp;server&#39;s&nbsp;publish&nbsp;address&nbsp;to&nbsp;be&nbsp;http://192.168.1.103:80/helloWorld\nSLF4J:&nbsp;Failed&nbsp;to&nbsp;load&nbsp;class&nbsp;&quot;org.slf4j.impl.StaticLoggerBinder&quot;.\nSLF4J:&nbsp;Defaulting&nbsp;to&nbsp;no-operation&nbsp;(NOP)&nbsp;logger&nbsp;implementation\nSLF4J:&nbsp;See&nbsp;http://www.slf4j.org/codes.html#StaticLoggerBinder&nbsp;for&nbsp;further&nbsp;details.\nweb&nbsp;service&nbsp;started\n二月&nbsp;28,&nbsp;2016&nbsp;6:00:07&nbsp;下午&nbsp;org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld\n信息:&nbsp;Inbound&nbsp;Message\n----------------------------\nID:&nbsp;1\nAddress:&nbsp;http://192.168.1.103/helloWorld?wsdl\nHttp-Method:&nbsp;GET\nContent-Type:&nbsp;\nHeaders:&nbsp;{Accept=[text/html,&nbsp;image/gif,&nbsp;image/jpeg,&nbsp;*;&nbsp;q=.2,&nbsp;*/*;&nbsp;q=.2],&nbsp;connection=[keep-alive],&nbsp;Content-Type=[null],&nbsp;Host=[192.168.1.103],&nbsp;User-Agent=[Java/1.7.0_67]}\n--------------------------------------\n二月&nbsp;28,&nbsp;2016&nbsp;6:00:07&nbsp;下午&nbsp;org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld\n信息:&nbsp;Inbound&nbsp;Message\n----------------------------\nID:&nbsp;2\nAddress:&nbsp;http://192.168.1.103/helloWorld\nEncoding:&nbsp;UTF-8\nHttp-Method:&nbsp;POST\nContent-Type:&nbsp;text/xml;&nbsp;charset=UTF-8\nHeaders:&nbsp;{Accept=[text/xml,&nbsp;multipart/related],&nbsp;connection=[keep-alive],&nbsp;Content-Length=[175],&nbsp;content-type=[text/xml;&nbsp;charset=UTF-8],&nbsp;Host=[192.168.1.103],&nbsp;SOAPAction=[&quot;&quot;],&nbsp;User-Agent=[JAX-WS&nbsp;RI&nbsp;2.2.4-b01]}\nPayload:&nbsp;&lt;?xml&nbsp;version=&quot;1.0&quot;&nbsp;?&gt;&lt;S:Envelope&nbsp;xmlns:S=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;S:Body&gt;&lt;ns2:getRoles&nbsp;xmlns:ns2=&quot;http://webservice.java1234.com/&quot;/&gt;&lt;/S:Body&gt;&lt;/S:Envelope&gt;\n--------------------------------------\n二月&nbsp;28,&nbsp;2016&nbsp;6:00:07&nbsp;下午&nbsp;org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld\n信息:&nbsp;Outbound&nbsp;Message\n---------------------------\nID:&nbsp;2\nResponse-Code:&nbsp;200\nEncoding:&nbsp;UTF-8\nContent-Type:&nbsp;text/xml\nHeaders:&nbsp;{}\nPayload:&nbsp;&lt;soap:Envelope&nbsp;xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;soap:Body&gt;&lt;ns2:getRolesResponse&nbsp;xmlns:ns2=&quot;http://webservice.java1234.com/&quot;&gt;&lt;return&gt;&lt;item&gt;&lt;key&gt;jack&lt;/key&gt;&lt;value&gt;&lt;id&gt;1&lt;/id&gt;&lt;roleName&gt;程序员&lt;/roleName&gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;java1234&lt;/key&gt;&lt;value&gt;&lt;id&gt;1&lt;/id&gt;&lt;roleName&gt;技术总监&lt;/roleName&gt;&lt;/value&gt;&lt;value&gt;&lt;id&gt;2&lt;/id&gt;&lt;roleName&gt;架构师&lt;/roleName&gt;&lt;/value&gt;&lt;/item&gt;&lt;/return&gt;&lt;/ns2:getRolesResponse&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;\n--------------------------------------</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的打印出来的就是日志信息:Inbound 进信息 &nbsp;Outbound 是出信息,进的时候,大家会看到有个Headers SOAP消息。后面我们可以在里面加我们的数据;</p><p style=\"white-space: normal;\">在Outbound Message里,Payload消息里我们可以找到webservice返回的数据 SOAP消息;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">同理,我们在客户端也可以加进出拦截器,修改Client代码:</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;org.apache.cxf.frontend.ClientProxy;\nimport&nbsp;org.apache.cxf.interceptor.LoggingInInterceptor;\nimport&nbsp;org.apache.cxf.interceptor.LoggingOutInterceptor;\n\npublic&nbsp;class&nbsp;Client&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n HelloWorldService&nbsp;service=new&nbsp;HelloWorldService();\n HelloWorld&nbsp;helloWorld=service.getHelloWorldPort();\n org.apache.cxf.endpoint.Client&nbsp;client=ClientProxy.getClient(helloWorld);\n client.getInInterceptors().add(new&nbsp;LoggingInInterceptor());&nbsp;//&nbsp;添加in拦截器&nbsp;日志拦截器\n client.getOutInterceptors().add(new&nbsp;LoggingOutInterceptor());&nbsp;//&nbsp;添加out拦截器\n //System.out.println(helloWorld.say(&quot;java1234&quot;));\n /*User&nbsp;user=new&nbsp;User();\n user.setUserName(&quot;jack&quot;);\n user.setPassword(&quot;123456&quot;);\n List&lt;Role&gt;&nbsp;roleList=helloWorld.getRoleByUser(user);\n for(Role&nbsp;role:roleList){\n System.out.println(role.getId()+&quot;,&quot;+role.getRoleName());\n }*/\n MyRoleArray&nbsp;array=helloWorld.getRoles();\n List&lt;MyRole&gt;&nbsp;roleList=array.item;\n for(int&nbsp;i=0;i&lt;roleList.size();i++){\n MyRole&nbsp;my=roleList.get(i);\n System.out.print(my.key+&quot;:&quot;);\n for(Role&nbsp;r:my.value){\n System.out.print(r.getId()+&quot;,&quot;+r.getRoleName()+&quot;&nbsp;&quot;);\n }\n System.out.println();\n }\n }\n}</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的话,我们用到了ClientProxy,客户端代理。</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们请求的时候,可以看到控制台的日志信息:</p><pre class=\"brush:java;toolbar:false\">二月&nbsp;28,&nbsp;2016&nbsp;6:22:53&nbsp;下午&nbsp;org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean&nbsp;buildServiceFromWSDL\n信息:&nbsp;Creating&nbsp;Service&nbsp;{http://webservice.java1234.com/}HelloWorldService&nbsp;from&nbsp;WSDL:&nbsp;http://192.168.1.103/helloWorld?wsdl\n二月&nbsp;28,&nbsp;2016&nbsp;6:22:53&nbsp;下午&nbsp;org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld\n信息:&nbsp;Outbound&nbsp;Message\n---------------------------\nID:&nbsp;1\nAddress:&nbsp;http://192.168.1.103/helloWorld\nEncoding:&nbsp;UTF-8\nHttp-Method:&nbsp;POST\nContent-Type:&nbsp;text/xml\nHeaders:&nbsp;{Accept=[*/*],&nbsp;SOAPAction=[&quot;&quot;]}\nPayload:&nbsp;&lt;soap:Envelope&nbsp;xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;soap:Body&gt;&lt;ns2:getRoles&nbsp;xmlns:ns2=&quot;http://webservice.java1234.com/&quot;/&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;\n--------------------------------------\n二月&nbsp;28,&nbsp;2016&nbsp;6:22:53&nbsp;下午&nbsp;org.apache.cxf.services.HelloWorldService.HelloWorldPort.HelloWorld\n信息:&nbsp;Inbound&nbsp;Message\n----------------------------\nID:&nbsp;1\nResponse-Code:&nbsp;200\nEncoding:&nbsp;UTF-8\nContent-Type:&nbsp;text/xml;&nbsp;charset=UTF-8\nHeaders:&nbsp;{content-type=[text/xml;&nbsp;charset=UTF-8],&nbsp;Date=[Sun,&nbsp;28&nbsp;Feb&nbsp;2016&nbsp;10:22:53&nbsp;GMT],&nbsp;Server=[Jetty(9.2.11.v20150529)],&nbsp;transfer-encoding=[chunked]}\nPayload:&nbsp;&lt;soap:Envelope&nbsp;xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;soap:Body&gt;&lt;ns2:getRolesResponse&nbsp;xmlns:ns2=&quot;http://webservice.java1234.com/&quot;&gt;&lt;return&gt;&lt;item&gt;&lt;key&gt;jack&lt;/key&gt;&lt;value&gt;&lt;id&gt;1&lt;/id&gt;&lt;roleName&gt;程序员&lt;/roleName&gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;java1234&lt;/key&gt;&lt;value&gt;&lt;id&gt;1&lt;/id&gt;&lt;roleName&gt;技术总监&lt;/roleName&gt;&lt;/value&gt;&lt;value&gt;&lt;id&gt;2&lt;/id&gt;&lt;roleName&gt;架构师&lt;/roleName&gt;&lt;/value&gt;&lt;/item&gt;&lt;/return&gt;&lt;/ns2:getRolesResponse&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;\n--------------------------------------\njack:1,程序员&nbsp;\njava1234:1,技术总监&nbsp;2,架构师</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里也是出进的日志信息,和上面那个类似;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">OK到这里的话,添加拦截器已经讲完了;<br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">完整代码:<a href=\"http://pan.baidu.com/s/1dEbs19Z\" target=\"_blank\" title=\"http://pan.baidu.com/s/1dEbs19Z\">http://pan.baidu.com/s/1dEbs19Z</a></p><p style=\"white-space: normal;\"><br/></p><p><br/></p>',9,'webservice cxf 拦截器'),(63,'我的某个徒弟的博客开通啦',' http://www.liuyu.space/ 在我的指导下,我的一个即将找工作的学徒搞了好几天。终于把博客系统搭建好了。真心祝愿他找份好工作,以后事业有成;','2016-02-29 20:23:24',674,12,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0002.gif\"/>&nbsp;<a href=\"http://www.liuyu.space/\" target=\"_blank\" title=\"http://www.liuyu.space/\">http://www.liuyu.space/</a>&nbsp; 在我的指导下,我的一个即将找工作的学徒搞了好几天。终于把博客系统搭建好了。</p><p><br/></p><p><img src=\"/static/userImages/20160229/1456748535413045927.jpg\" style=\"width: 851px; height: 599px;\" title=\"1456748535413045927.jpg\" width=\"851\" height=\"599\"/></p><p><img src=\"/static/userImages/20160229/1456748535507079958.jpg\" style=\"width: 817px; height: 522px;\" title=\"1456748535507079958.jpg\" width=\"817\" height=\"522\"/></p><p><br/></p><p>真心祝愿他找份好工作,以后事业有成;</p><p><br/></p><p><br/></p>',4,'博客 学徒'),(64,'便宜货不代表垃圾货','我出了不少教程,很多免费的。当然也有一些实战型的教程,收费。收费不贵,同样的课程,可能其他地方价格是我的5倍,10倍,不是因为我是个体,就算后面开了公司,也是这个价格。我们不追求暴利,我们有自己的信仰。今天有个朋友又问我来买教程:2年前花了100块买了3个项目教程,就业了,现在工作了。继续买我的高质量的便宜教','2016-03-02 11:13:26',522,7,'<p style=\"white-space: normal;\">我出了不少教程,很多免费的。当然也有一些实战型的教程,收费。收费不贵,同样的课程,可能其他地方价格是我的5倍,10倍,不是因为我是个体,就算后面开了公司,也是这个价格。<br/></p><p style=\"white-space: normal;\">我们不追求暴利,我们有自己的信仰。</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">今天有个朋友又问我来买教程:</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160302/1456888285491075900.jpg\" title=\"1456888285491075900.jpg\" alt=\"QQ鎴浘20160302100504.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">2年前花了100块买了3个项目教程,就业了,现在工作了。继续买我的高质量的便宜教程;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p><br/></p>',5,'教程'),(65,'部署Maven项目无法找到Maven管理的Jar包','有些学员部署Maven项目的时候,经常遇到奇葩问题,就是导入了maven项目,也没报错,但是运行的时候,各种奇葩报错,xxx.class not found;等等;这种问题根源项目没有把maven管理的Jar包依赖进去;如何解决呢?这里给下解决方案:右击项目,-》 Properties -》 Deployme','2016-03-03 12:41:53',379,4,'<p style=\"white-space: normal;\">有些学员部署Maven项目的时候,经常遇到奇葩问题,就是导入了maven项目,也没报错,但是运行的时候,各种奇葩报错,xxx.class not found;等等;<br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这种问题根源项目没有把maven管理的Jar包依赖进去;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">如何解决呢?</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里给下解决方案:<br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">右击项目,-》&nbsp;Properties -》&nbsp;Deployment Assembly</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160303/1456979882147011039.jpg\" title=\"1456979882147011039.jpg\" alt=\"QQ鎴浘20160303123627.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们点击 Add ;</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160303/1456979944772024572.png\" title=\"1456979944772024572.png\" alt=\"QQ鍥剧墖20160303123803.png\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">选&nbsp;Java Build Path Entries &nbsp;然后 Next&nbsp;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160303/1456979983616007611.jpg\" title=\"1456979983616007611.jpg\" alt=\"QQ鎴浘20160303123903.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">选&nbsp;maven Dependencies 然后点 &quot;Finish&quot; 即可;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这样就把Maven管理的Jar包依赖上去了;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">假如还有其他小的报错。根据报错信息来解决即可,应该不是什么大问题了;</p><p style=\"white-space: normal;\"><br/></p><p><br/></p>',12,'maven 部署'),(66,'我的一个女徒弟出师了','4个月前,一个环境专业的女生前来报名,学习Java,聊了会。觉得她数学逻辑不错,就收了她了。她学习也比较用功。如今学习了4个月,基本上达到企业级开发水平。加上我的就业指导。收到了好几个Offer,任她挑。4个月内,我收了她500学费。让她找到了5,6K的工作。希望她以后能好好发展,多多努力。最终都是靠自己的。','2016-03-03 17:49:48',807,9,'<p>4个月前,一个环境专业的女生前来报名,学习Java,聊了会。觉得她数学逻辑不错,就收了她了。她学习也比较用功。如今学习了4个月,基本上达到企业级开发水平。<br/></p><p>加上我的就业指导。收到了好几个Offer,任她挑。4个月内,我收了她500学费。让她找到了5,6K的工作。希望她以后能好好发展,多多努力。最终都是靠自己的。</p><p><br/></p><p>简历和个人信息出于隐私保护,就不截图了。</p><p><br/></p><p><img src=\"/static/userImages/20160303/1457003956053024948.jpg\" title=\"1457003956053024948.jpg\" alt=\"1456998523491078512_鍓湰.jpg\"/></p><p><br/></p><p><img src=\"/static/userImages/20160303/1456998534288030616.jpg\" title=\"1456998534288030616.jpg\" alt=\"QQ鎴浘20160303174421.jpg\"/></p><p><br/></p><p><br/></p>',5,'徒弟'),(67,'机械专业哥们自学我的Java免费教程成功就业','5个月前,一个机械专业哥们,学习我的Java免费教程。那时候他没有报名我的门徒;今天他找到我,说把我的免费教程都学了。找到工作了。现在是要买我的vip教程,继续深造;','2016-03-04 12:39:27',825,10,'<p>5个月前,一个机械专业哥们,学习我的Java免费教程。那时候他没有报名我的门徒;<br/></p><p><br/></p><p>今天他找到我,说把我的免费教程都学了。找到工作了。现在是要买我的vip教程,继续深造;</p><p><br/></p><p><img src=\"/static/userImages/20160304/1457066611366059060.jpg\" title=\"1457066611366059060.jpg\" alt=\"QQ鎴浘20160304124209.jpg\"/></p>',4,'教程'),(68,'又一个老vip会员成功7K成功入职,还管饭',' 锋哥的vip还是听牛逼的。又一个vip会员(非门徒)。成功入职,7K 管饭。。有图有真相。','2016-03-10 16:25:15',729,17,'<p><img src=\"http://img.baidu.com/hi/jx2/j_0007.gif\"/>&nbsp;锋哥的vip还是听牛逼的。</p><p><br/></p><p>又一个vip会员(非门徒)。成功入职,7K 管饭。。有图有真相。</p><p><br/></p><p><img src=\"/static/userImages/20160310/1457598434819051566.jpg\" title=\"1457598434819051566.jpg\" alt=\"aaa.jpg\"/></p>',4,'vip 门徒'),(69,'CXF添加自定义拦截器','前面我们说到CXF添加内置的拦截器,今天的话,我们来讲下如何添加自定义拦截器;我们的实例是客户端访问服务端webservice接口要加权限认证。我们思路先说下。我们可以通过在SOAP消息的Header头信息中添加自定义信息,然后发送到服务端端,服务器端通过获取Header头消息,然后进行认证;这里的添加消息,','2016-03-14 09:54:13',146,1,'<p>前面我们说到CXF添加内置的拦截器,今天的话,我们来讲下如何添加自定义拦截器;</p><p><br/></p><p>我们的实例是客户端访问服务端webservice接口要加权限认证。</p><p><br/></p><p>我们思路先说下。我们可以通过在SOAP消息的Header头信息中添加自定义信息,然后发送到服务端端,服务器端通过获取</p><p>Header头消息,然后进行认证;这里的添加消息,和获取消息认证,我们都是通过自定义拦截器来实现;</p><p><br/></p><p>OK下面我们来实现下:</p><p><br/></p><p>首先是服务器端:</p><p><br/></p><p>我们自定义拦截器:MyInterceptor</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.interceptor;\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;org.apache.cxf.binding.soap.SoapMessage;\nimport&nbsp;org.apache.cxf.headers.Header;\nimport&nbsp;org.apache.cxf.interceptor.Fault;\nimport&nbsp;org.apache.cxf.phase.AbstractPhaseInterceptor;\nimport&nbsp;org.apache.cxf.phase.Phase;\nimport&nbsp;org.w3c.dom.Element;\nimport&nbsp;org.w3c.dom.NodeList;\n\n/**\n&nbsp;*&nbsp;自定义拦截器\n&nbsp;*&nbsp;@author&nbsp;Administrator\n&nbsp;*\n&nbsp;*/\npublic&nbsp;class&nbsp;MyInterceptor&nbsp;extends&nbsp;AbstractPhaseInterceptor&lt;SoapMessage&gt;{\n\n public&nbsp;MyInterceptor(){\n //&nbsp;在调用方法之前调用拦截器\n super(Phase.PRE_INVOKE);\n }\n\n /**\n &nbsp;*&nbsp;拦截获取消息\n &nbsp;*/\n public&nbsp;void&nbsp;handleMessage(SoapMessage&nbsp;message)&nbsp;throws&nbsp;Fault&nbsp;{\n List&lt;Header&gt;&nbsp;headers=message.getHeaders();\n if(headers==null&nbsp;||&nbsp;headers.size()==0){\n throw&nbsp;new&nbsp;Fault(new&nbsp;IllegalArgumentException(&quot;没有Header,拦截器实施拦截&quot;));\n }\n Header&nbsp;firstHeader=headers.get(0);\n Element&nbsp;ele=(Element)&nbsp;firstHeader.getObject();\n NodeList&nbsp;userIds=ele.getElementsByTagName(&quot;userName&quot;);\n NodeList&nbsp;userPasses=ele.getElementsByTagName(&quot;password&quot;);\n \n if(userIds.getLength()!=1){\n throw&nbsp;new&nbsp;Fault(new&nbsp;IllegalArgumentException(&quot;用户名格式不对&quot;));\n }\n \n if(userPasses.getLength()!=1){\n throw&nbsp;new&nbsp;Fault(new&nbsp;IllegalArgumentException(&quot;密码格式不对&quot;));\n }\n \n String&nbsp;userId=userIds.item(0).getTextContent();\n String&nbsp;userPass=userPasses.item(0).getTextContent();\n \n if(!userId.equals(&quot;java1234&quot;)&nbsp;||&nbsp;!&nbsp;userPass.equals(&quot;123456&quot;)){\n throw&nbsp;new&nbsp;Fault(new&nbsp;IllegalArgumentException(&quot;用户名或者密码不正确&quot;));\n }\n \n }\n}</pre><p><br/></p><p>这里的话,我们主要是获取Header头消息,然后获取userName和password节点,然后获取值,进行权限判断,假如认证不通过,我们抛出异常;</p><p><br/></p><p>在Server类里,我们要添加一个in 拦截器,在进入的时候,我们要进行验证;<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;org.apache.cxf.interceptor.LoggingInInterceptor;\nimport&nbsp;org.apache.cxf.interceptor.LoggingOutInterceptor;\nimport&nbsp;org.apache.cxf.jaxws.JaxWsServerFactoryBean;\n\nimport&nbsp;com.java1234.interceptor.MyInterceptor;\nimport&nbsp;com.java1234.webservice.impl.HelloWorldImpl;\n\npublic&nbsp;class&nbsp;Server&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n System.out.println(&quot;web&nbsp;service&nbsp;start&quot;);&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloWorld&nbsp;implementor&nbsp;=&nbsp;new&nbsp;HelloWorldImpl();&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;address&nbsp;=&nbsp;&quot;http://10.10.7.18/helloWorld&quot;;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JaxWsServerFactoryBean&nbsp;factoryBean&nbsp;=&nbsp;new&nbsp;JaxWsServerFactoryBean();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setAddress(address);&nbsp;//&nbsp;设置暴露地址\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceClass(HelloWorld.class);&nbsp;//&nbsp;接口类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.setServiceBean(implementor);&nbsp;//&nbsp;设置实现类\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.getInInterceptors().add(new&nbsp;LoggingInInterceptor());&nbsp;//&nbsp;添加in拦截器&nbsp;日志拦截器\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.getOutInterceptors().add(new&nbsp;LoggingOutInterceptor());&nbsp;//&nbsp;添加out拦截器\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.getInInterceptors().add(new&nbsp;MyInterceptor());&nbsp;//&nbsp;添加自定义拦截器\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryBean.create(); \n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;web&nbsp;service&nbsp;started&quot;);&nbsp;&nbsp;\n }\n}</pre><p><br/></p><p>接下来是修改客户端代码:</p><p>我们同样要添加一个自定义拦截器:AddHeaderInterceptor</p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.interceptor;\n\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;javax.xml.namespace.QName;\n\nimport&nbsp;org.apache.cxf.binding.soap.SoapMessage;\nimport&nbsp;org.apache.cxf.headers.Header;\nimport&nbsp;org.apache.cxf.helpers.DOMUtils;\nimport&nbsp;org.apache.cxf.interceptor.Fault;\nimport&nbsp;org.apache.cxf.phase.AbstractPhaseInterceptor;\nimport&nbsp;org.apache.cxf.phase.Phase;\nimport&nbsp;org.w3c.dom.Document;\nimport&nbsp;org.w3c.dom.Element;\n\npublic&nbsp;class&nbsp;AddHeaderInterceptor&nbsp;extends&nbsp;AbstractPhaseInterceptor&lt;SoapMessage&gt;&nbsp;{\n\n private&nbsp;String&nbsp;userName;\n private&nbsp;String&nbsp;password;\n\n public&nbsp;AddHeaderInterceptor(String&nbsp;userName,&nbsp;String&nbsp;password)&nbsp;{\n super(Phase.PREPARE_SEND);&nbsp;//&nbsp;发送SOAP消息之前调用拦截器\n this.userName=userName;\n this.password=password;\n }\n\n public&nbsp;void&nbsp;handleMessage(SoapMessage&nbsp;message)&nbsp;throws&nbsp;Fault&nbsp;{\n List&lt;Header&gt;&nbsp;headers=message.getHeaders();\n \n Document&nbsp;doc=DOMUtils.createDocument();\n Element&nbsp;ele=doc.createElement(&quot;authHeader&quot;);\n Element&nbsp;idElement=doc.createElement(&quot;userName&quot;);\n idElement.setTextContent(userName);\n Element&nbsp;passElement=doc.createElement(&quot;password&quot;);\n passElement.setTextContent(password);\n \n ele.appendChild(idElement);\n ele.appendChild(passElement);\n \n headers.add(new&nbsp;Header(new&nbsp;QName(&quot;java1234&quot;),ele));\n \n \n }\n\n \n}</pre><p><br/></p><p>这里的话,我们主要是在拦截器里创建头消息;</p><p><br/></p><p>Client类里我们要修改下,加下Out 拦截器:<br/></p><pre class=\"brush:java;toolbar:false\">package&nbsp;com.java1234.webservice;\n\nimport&nbsp;java.util.List;\n\nimport&nbsp;org.apache.cxf.frontend.ClientProxy;\nimport&nbsp;org.apache.cxf.interceptor.LoggingInInterceptor;\nimport&nbsp;org.apache.cxf.interceptor.LoggingOutInterceptor;\n\nimport&nbsp;com.java1234.interceptor.AddHeaderInterceptor;\n\npublic&nbsp;class&nbsp;Client&nbsp;{\n\n public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\n HelloWorldService&nbsp;service=new&nbsp;HelloWorldService();\n HelloWorld&nbsp;helloWorld=service.getHelloWorldPort();\n org.apache.cxf.endpoint.Client&nbsp;client=ClientProxy.getClient(helloWorld);\n //&nbsp;client.getInInterceptors().add(new&nbsp;LoggingInInterceptor());&nbsp;//&nbsp;添加in拦截器&nbsp;日志拦截器\n client.getOutInterceptors().add(new&nbsp;AddHeaderInterceptor(&quot;java1234&quot;,&quot;123456&quot;));&nbsp;//&nbsp;添加自定义拦截器\n client.getOutInterceptors().add(new&nbsp;LoggingOutInterceptor());&nbsp;//&nbsp;添加out拦截器\n //System.out.println(helloWorld.say(&quot;java1234&quot;));\n /*User&nbsp;user=new&nbsp;User();\n user.setUserName(&quot;jack&quot;);\n user.setPassword(&quot;123456&quot;);\n List&lt;Role&gt;&nbsp;roleList=helloWorld.getRoleByUser(user);\n for(Role&nbsp;role:roleList){\n System.out.println(role.getId()+&quot;,&quot;+role.getRoleName());\n }*/\n MyRoleArray&nbsp;array=helloWorld.getRoles();\n List&lt;MyRole&gt;&nbsp;roleList=array.item;\n for(int&nbsp;i=0;i&lt;roleList.size();i++){\n MyRole&nbsp;my=roleList.get(i);\n System.out.print(my.key+&quot;:&quot;);\n for(Role&nbsp;r:my.value){\n System.out.print(r.getId()+&quot;,&quot;+r.getRoleName()+&quot;&nbsp;&quot;);\n }\n System.out.println();\n }\n }\n}</pre><p><br/></p><p>OK这样就完整了自定义拦截器实现权限认证;</p><p><br/></p><p>先运行Server类,和以前一样;</p><p><br/></p><p>假如我们把 &nbsp;client.getOutInterceptors().add(new AddHeaderInterceptor(&quot;java1234&quot;,&quot;123456&quot;)); // 添加自定义拦截器</p><p>密码改成 123&nbsp;</p><p><br/></p><p>然后运行Client类,会报错;</p><p><img src=\"/static/userImages/20160314/1457920424960022579.png\" title=\"1457920424960022579.png\" alt=\"QQ鎴浘20160314095323.png\"/></p><p><br/></p><p>用户名或者密码不正确;</p><p><br/></p><p>完整代码:&nbsp;<a href=\"http://pan.baidu.com/s/1dEaHNcX\" target=\"_blank\" title=\"http://pan.baidu.com/s/1dEaHNcX\">http://pan.baidu.com/s/1dEaHNcX</a></p><p><br/></p>',9,'webservice cxf'),(70,'Spring整合CXF之发布WebService服务','今天我们来讲下如何用Spring来整合CXF,来发布WebService服务;给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-spring.html根据官方文档。我们把前面的实例用Spring整合CXF来处理下。会简化很多;首先我们来建一个','2016-03-16 14:23:36',170,2,'<p style=\"white-space: normal;\">今天我们来讲下如何用Spring来整合CXF,来发布WebService服务;<br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">给下官方文档地址:<a href=\"http://cxf.apache.org/docs/writing-a-service-with-spring.html\" target=\"_blank\" title=\"http://cxf.apache.org/docs/writing-a-service-with-spring.html\">http://cxf.apache.org/docs/writing-a-service-with-spring.html</a></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">根据官方文档。我们把前面的实例用Spring整合CXF来处理下。会简化很多;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">首先我们来建一个Maven项目&nbsp;WebService_CXF</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">建好项目第一步,我们打开pom.xml</p><p style=\"white-space: normal;\">我们来添加下Spring支持:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;添加Spring支持&nbsp;--&gt;\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-core&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-beans&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n&lt;dependency&gt;\n &nbsp;&lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &nbsp;&lt;artifactId&gt;spring-tx&lt;/artifactId&gt;\n &nbsp;&lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n &lt;/dependency&gt;\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-context&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-context-support&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-web&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-aop&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-aspects&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.springframework&lt;/groupId&gt;\n &lt;artifactId&gt;spring-jdbc&lt;/artifactId&gt;\n &lt;version&gt;4.1.7.RELEASE&lt;/version&gt;\n&lt;/dependency&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">接下来添加下CXF支持:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;添加cxf支持&nbsp;&nbsp;--&gt;\n&lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-core&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n&lt;/dependency&gt;\n\n&lt;dependency&gt;\n &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;\n &lt;artifactId&gt;cxf-rt-transports-http&lt;/artifactId&gt;\n &lt;version&gt;3.1.5&lt;/version&gt;\n&lt;/dependency&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们在项目里添加下&nbsp;applicationContext.xml spring配置文件 我们要额外添加下命名路径,因为我们要用新的标签;</p><pre class=\"brush:xml;toolbar:false\">&lt;beans&nbsp;xmlns=&quot;http://www.springframework.org/schema/beans&quot;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:p=&quot;http://www.springframework.org/schema/p&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:context=&quot;http://www.springframework.org/schema/context&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:jee=&quot;http://www.springframework.org/schema/jee&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:jaxws=&quot;http://cxf.apache.org/jaxws&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation=&quot;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop&nbsp;http://www.springframework.org/schema/aop/spring-aop-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/context&nbsp;http://www.springframework.org/schema/context/spring-context-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/jee&nbsp;http://www.springframework.org/schema/jee/spring-jee-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx&nbsp;http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://cxf.apache.org/jaxws&nbsp;http://cxf.apache.org/schemas/jaxws.xsd&quot;&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的我是参考官方文档上,添加了 jaxws支持。。大家直接贴下即可;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">然后我们再导入下cxf里的一些bean配置,参考官方文档:</p><pre class=\"brush:xml;toolbar:false\">&lt;import&nbsp;resource=&quot;classpath:META-INF/cxf/cxf.xml&quot;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;import&nbsp;resource=&quot;classpath:META-INF/cxf/cxf-servlet.xml&quot;/&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">(我看了cxf核心包,其实质疑偶cxf.xml,没有cxf-servlet.xml 估计是兼容前面版本)</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们把前面的类贴到我们这个项目了;</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160316/1458107956835081125.jpg\" title=\"1458107956835081125.jpg\" alt=\"QQ鎴浘20160316135804.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的HelloWorldImpl类上,我们加一个&nbsp;@Component(&quot;helloWorld&quot;) &nbsp;</p><p style=\"white-space: normal;\">Spring配置文件里,我加下扫描:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;自动扫描&nbsp;--&gt;\n&lt;context:component-scan&nbsp;base-package=&quot;com.java1234.webservice&quot;&nbsp;/&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">前面搞完后,我们在处理下web.xml文件 首先启动的时候,必须加载Spring:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;Spring配置文件&nbsp;--&gt;\n&lt;context-param&gt;\n &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;\n &lt;param-value&gt;classpath:applicationContext.xml&lt;/param-value&gt;\n&lt;/context-param&gt;\n\n&lt;!--&nbsp;Spring监听器&nbsp;--&gt;\n&lt;listener&gt;\n &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;\n&lt;/listener&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">然后我们要定义一个Servlet,主要是处理WebService请求:</p><pre class=\"brush:xml;toolbar:false\">&lt;servlet&gt;&nbsp;&nbsp;\n&nbsp;&lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;&nbsp;&nbsp;\n&nbsp;&lt;servlet-class&gt;org.apache.cxf.transport.servlet.CXFServlet&lt;/servlet-class&gt;&nbsp;&nbsp;\n&lt;/servlet&gt;&nbsp;&nbsp;\n\n&lt;servlet-mapping&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;/webservice/*&lt;/url-pattern&gt;&nbsp;&nbsp;\n&lt;/servlet-mapping&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里的话,我们所有的 /webservice请求,都交给CXFServlet类处理;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">最后一步,我们在Spring配置文件里,定义下webservice接口发布:<br/></p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;定义服务提供者&nbsp;&nbsp;--&gt;\n&lt;jaxws:endpoint\n implementor=&quot;#helloWorld&quot;\n address=&quot;/HelloWorld&quot;\n&nbsp;&gt;&lt;/jaxws:endpoint&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">这里implementor指定webservice接口实现类</p><p style=\"white-space: normal;\">address是具体的接口路径</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">最终完整的applicationContext.xml配置文件如下:</p><pre class=\"brush:xml;toolbar:false\">&lt;?xml&nbsp;version=&quot;1.0&quot;&nbsp;encoding=&quot;UTF-8&quot;?&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&lt;beans&nbsp;xmlns=&quot;http://www.springframework.org/schema/beans&quot;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:p=&quot;http://www.springframework.org/schema/p&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:context=&quot;http://www.springframework.org/schema/context&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:jee=&quot;http://www.springframework.org/schema/jee&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;xmlns:jaxws=&quot;http://cxf.apache.org/jaxws&quot;\n&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation=&quot;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop&nbsp;http://www.springframework.org/schema/aop/spring-aop-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/context&nbsp;http://www.springframework.org/schema/context/spring-context-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/jee&nbsp;http://www.springframework.org/schema/jee/spring-jee-4.0.xsd&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx&nbsp;http://www.springframework.org/schema/tx/spring-tx-4.0.xsd\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://cxf.apache.org/jaxws&nbsp;http://cxf.apache.org/schemas/jaxws.xsd&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n &lt;import&nbsp;resource=&quot;classpath:META-INF/cxf/cxf.xml&quot;/&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;import&nbsp;resource=&quot;classpath:META-INF/cxf/cxf-servlet.xml&quot;/&gt;\n \n&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;自动扫描&nbsp;--&gt;\n &lt;context:component-scan&nbsp;base-package=&quot;com.java1234.webservice&quot;&nbsp;/&gt;\n \n &lt;!--&nbsp;定义服务提供者&nbsp;&nbsp;--&gt;\n &lt;jaxws:endpoint\n implementor=&quot;#helloWorld&quot;\n address=&quot;/HelloWorld&quot;\n &nbsp;&gt;&lt;/jaxws:endpoint&gt;\n&lt;/beans&gt;</pre><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们来启动下项目,然后访问&nbsp;http://localhost:8080/WebService_CXF/webservice/&nbsp;</p><p style=\"white-space: normal;\">效果如下:</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160316/1458108744475018549.jpg\" title=\"1458108744475018549.jpg\" alt=\"a.jpg\" width=\"711\" height=\"369\" style=\"width: 711px; height: 369px;\"/></p><p style=\"white-space: normal;\">说明已经webservice接口已经发布成功了;</p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">我们可以访问具体的接口:&nbsp;http://localhost:8080/WebService_CXF/webservice/HelloWorld?wsdl</p><p style=\"white-space: normal;\">效果如下:</p><p style=\"white-space: normal;\"><img src=\"http://blog.java1234.com/static/userImages/20160316/1458108937241033682.jpg\" title=\"1458108937241033682.jpg\" alt=\"b.jpg\"/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\">完整代码:<a href=\"http://pan.baidu.com/s/1nuhocNf\" target=\"_blank\" title=\"http://pan.baidu.com/s/1nuhocNf\">http://pan.baidu.com/s/1nuhocNf</a></p><p style=\"white-space: normal;\"><br/></p><p style=\"white-space: normal;\"><br/></p><p><br/></p>',9,'spring webservice cxf'),(71,'Spring整合CXF之添加拦截器','今天主要来讲解下如何在Spring整合CXF环境下,添加拦截器;这里我们给下官方的参考文档:http://cxf.apache.org/docs/jax-ws-configuration.html 结合官方文档,我们在前面的实例基础上,加代码:首先我们把前面的自定义拦截器 MyInterceptor 贴进来。','2016-03-17 12:11:55',175,3,'<p>今天主要来讲解下如何在Spring整合CXF环境下,添加拦截器;</p><p><br/></p><p>这里我们给下官方的参考文档:<a href=\"http://cxf.apache.org/docs/jax-ws-configuration.html\" target=\"_blank\" title=\"http://cxf.apache.org/docs/jax-ws-configuration.html\">http://cxf.apache.org/docs/jax-ws-configuration.html</a> </p><p><br/></p><p>结合官方文档,我们在前面的实例基础上,加代码:</p><p><br/></p><p><img src=\"/static/userImages/20160317/1458187484241078987.jpg\" title=\"1458187484241078987.jpg\" alt=\"bbb.jpg\"/></p><p><br/></p><p>首先我们把前面的自定义拦截器 MyInterceptor 贴进来。</p><p><br/></p><p>然后我们打开spring配置文件,applicationContext.xml</p><p><br/></p><p>根据官方文档:我们通过jaxws:inInterceptors&nbsp;jaxws:outInterceptors 这两个标签来添加in拦截器和out拦截器</p><p><br/></p><p>我们修改下jaxws:endpoint 节点:</p><pre class=\"brush:xml;toolbar:false\">&lt;!--&nbsp;定义服务提供者&nbsp;&nbsp;--&gt;\n&lt;jaxws:endpoint\n implementor=&quot;#helloWorld&quot;\n address=&quot;/HelloWorld&quot;&gt;\n &lt;!--&nbsp;添加in拦截器&nbsp;--&gt;\n &lt;jaxws:inInterceptors&gt;\n &nbsp;&lt;bean&nbsp;class=&quot;org.apache.cxf.interceptor.LoggingInInterceptor&quot;/&gt;\n &nbsp;&lt;bean&nbsp;class=&quot;com.java1234.interceptor.MyInterceptor&quot;/&gt;\n &lt;/jaxws:inInterceptors&gt;\n &lt;!--&nbsp;添加out拦截器&nbsp;--&gt;\n &lt;jaxws:outInterceptors&gt;\n &nbsp;&lt;bean&nbsp;class=&quot;org.apache.cxf.interceptor.LoggingInInterceptor&quot;/&gt;\n &lt;/jaxws:outInterceptors&gt;\n&lt;/jaxws:endpoint&gt;</pre><p><br/></p><p>这里 我们添加了两个in拦截器,一个是cxf自带的LogginInInterceptor拦截器,还有一个是我们自己定义的MyInterceptor拦截器,</p><p>主要用作权限判断;</p><p><br/></p><p>out拦截器,我们还是用了一个cxf自带的LogginInInterceptor拦截器;</p><p><br/></p><p>这样我们就完事了;我们可以看到。用spring我们可以很轻松的完整拦截器的配置;</p><p><br/></p><p>接下来测试下话,我们还是用前面开发的WS_Client来测试,因为请求的websercie地址变了。</p><p>所以我们用wsdl2java工具重新生成下新的客户端代码;(具体操作大家看前面的帖子,这里就不再重复叙述)</p><p><br/></p><p>我们测试的话,大家可以先把客户端的拦截器注释掉,我们会发现会报错,说找不到header消息;</p><p><br/></p><p>假如密码弄错,会报用户名或者密码不对;</p><p><br/></p><p>我们用正确的密码,webservice接口会返回正确的结果。</p><p><br/></p><p>OK。今天就到这里。</p><p><br/></p>',9,'webservice cxf 自定义拦截器');
/*Table structure for table `t_blogger` */
DROP TABLE IF EXISTS `t_blogger`;
CREATE TABLE `t_blogger` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(50) DEFAULT NULL,
`password` varchar(100) DEFAULT NULL,
`profile` text,
`nickName` varchar(50) DEFAULT NULL,
`sign` varchar(100) DEFAULT NULL,
`imageName` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `t_blogger` */
insert into `t_blogger`(`id`,`userName`,`password`,`profile`,`nickName`,`sign`,`imageName`) values (1,'java1234','204688081e96b4f0fd4b539132b07cbf','<p>Java1234_小锋(QQ:527085608),毕业于江苏师范大学计算机系;</p><p>有6年多的JAVA学习工作研究经验,Oracle认证Java程序员;</p><p>目前成立了自己的工作室,主要从事Java培训指导,以及Java开源研究,有好的私活的话,也会接几个玩玩;</p><p>同时运维主要站点 <a href=\"http://www.java1234.com/\" target=\"_blank\">http://www.java1234.com/</a>&nbsp;子站点 <a href=\"http://pan.java1234.com\" target=\"_blank\">http://pan.java1234.com</a>&nbsp;以及本站点 <a href=\"http://blog.java1234.com\" target=\"_blank\">http://blog.java1234.com</a><br/></p><p><br/></p><p><img src=\"http://img.baidu.com/hi/tsj/t_0009.gif\"/>&nbsp;本屌出身贫寒,从小学习努力,勤奋刻苦;</p><p><img src=\"http://img.baidu.com/hi/tsj/t_0013.gif\"/> &nbsp;功夫不负有心人,本屌27岁的时候,房子,车子,媳妇都有了,基本步入小康生活;</p><p><img src=\"http://img.baidu.com/hi/jx2/j_0003.gif\"/> &nbsp;座右铭&nbsp;“知识改变命运,技术改变世界” ;</p><p><br/></p><p><br/></p><p><br/></p><p>本屌照片:</p><p><img src=\"/static/userImages/20160202/1454377391671056069.jpg\" title=\"1454377391671056069.jpg\" alt=\"QQ鎴浘20160202094243.jpg\"/></p><p><br/></p><p>Oracle认证Java程序员证书:</p><p><img src=\"/static/userImages/20160202/1454376931640083951.jpg\" title=\"1454376931640083951.jpg\" alt=\"QQ鍥剧墖20131027222624.jpg\" width=\"602\" height=\"473\" style=\"width: 602px; height: 473px;\"/></p><p><br/></p><p><br/></p>','Java1234_小锋','知识改变命运,技术改变世界','20160202095456.jpg');
/*Table structure for table `t_blogtype` */
DROP TABLE IF EXISTS `t_blogtype`;
CREATE TABLE `t_blogtype` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`typeName` varchar(30) DEFAULT NULL,
`orderNo` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
/*Data for the table `t_blogtype` */
insert into `t_blogtype`(`id`,`typeName`,`orderNo`) values (1,'Java核心基础',1),(2,'Mysql',2),(3,'Tomcat',3),(4,'IT之路',6),(5,'随心生活',7),(7,'shiro',4),(9,'webservice',5),(10,'jsoup',4),(11,'hibernate',5),(12,'maven',5);
/*Table structure for table `t_comment` */
DROP TABLE IF EXISTS `t_comment`;
CREATE TABLE `t_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userIp` varchar(50) DEFAULT NULL,
`blogId` int(11) DEFAULT NULL,
`content` varchar(1000) DEFAULT NULL,
`commentDate` datetime DEFAULT NULL,
`state` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=336 DEFAULT CHARSET=utf8;
/*Data for the table `t_comment` */
insert into `t_comment`(`id`,`userIp`,`blogId`,`content`,`commentDate`,`state`) values (17,'221.204.14.22',39,'屌炸天测试','2016-02-02 12:17:37',1),(18,'221.204.14.22',44,'评论测试','2016-02-02 15:56:03',1),(19,'120.52.18.47',40,'逗逼蜂,猜我是谁','2016-02-02 17:45:59',1),(20,'221.204.14.22',43,'评测再测','2016-02-02 17:54:05',1),(21,'221.204.14.21',45,'3222222224','2016-02-02 18:43:45',1),(22,'221.204.14.21',39,'峰哥你猜我是谁','2016-02-02 18:44:09',1),(24,'202.102.85.15',45,'dfdsfd','2016-02-02 19:09:32',1),(25,'202.102.85.15',45,'dfdsfd','2016-02-02 19:09:42',1),(26,'120.52.18.54',40,'沙发沙发','2016-02-02 19:12:48',1),(32,'125.88.189.20',45,'dsfadsfds','2016-02-02 19:33:16',1),(33,'120.52.18.45',39,'2332','2016-02-02 21:05:52',1),(34,'221.204.14.22',45,'alert(\'1\')','2016-02-02 21:22:44',1),(35,'221.204.14.22',45,'alert(\'1\')','2016-02-02 21:23:28',1),(36,'61.240.144.21',44,'赞赞赞!!!','2016-02-02 22:22:24',1),(37,'222.73.144.28',45,'真厉害!','2016-02-03 00:11:27',1),(38,'125.88.189.21',45,'溜脾','2016-02-03 08:06:46',1),(39,'125.88.189.21',45,'溜脾','2016-02-03 08:06:51',1),(40,'120.52.18.45',45,'alert(\"溜脾\");','2016-02-03 09:48:31',1),(41,'202.102.85.19',45,'12312312312','2016-02-03 10:06:40',1),(42,'202.102.85.19',45,'15615615615616156515','2016-02-03 10:06:58',1),(43,'125.88.189.12',39,'牛掰','2016-02-03 10:46:21',1),(44,'222.73.144.32',44,'应用','2016-02-03 11:04:18',1),(45,'202.102.85.15',45,'6666','2016-02-03 11:19:40',1),(46,'222.73.144.27',45,'楼主每天花在学习上的时间是多少 ?','2016-02-03 11:40:14',1),(47,'222.73.144.27',45,'尔','2016-02-03 11:41:23',1),(48,'222.73.144.27',45,'如同仁堂','2016-02-03 11:41:35',1),(49,'222.73.144.30',45,'这个站点不错,我喜欢这样的风格,很简洁','2016-02-03 13:33:34',1),(50,'125.88.189.19',41,'博主说得不错哦','2016-02-03 14:02:21',1),(51,'221.204.14.24',41,'赞','2016-02-03 15:50:30',1),(52,'221.204.14.24',40,'Σ( ° △ °|||)︴ ','2016-02-03 15:51:41',1),(53,'120.52.18.49',47,'不错啊','2016-02-03 17:24:14',1),(54,'120.52.18.49',39,'不错','2016-02-03 17:25:04',1),(59,'202.102.85.17',45,'hahaha','2016-02-03 20:38:33',1),(60,'183.136.133.29',39,'好牛逼啊','2016-02-03 20:46:56',1),(61,'221.204.14.22',47,'额外无污染','2016-02-03 21:42:34',1),(62,'221.204.14.27',44,'生活是一种态度!','2016-02-03 22:48:06',1),(63,'113.17.174.44',40,'相見恨晚','2016-02-04 00:55:43',1),(64,'113.17.174.47',41,'赞','2016-02-04 01:54:47',1),(65,'120.52.18.47',44,'赞','2016-02-04 09:14:42',1),(66,'120.52.18.47',44,'赞赞赞','2016-02-04 09:15:03',1),(67,'120.52.18.47',42,'赞赞赞','2016-02-04 09:15:28',1),(68,'222.73.144.27',39,'不是有主站吗,怎么专门开一个博客了','2016-02-04 09:51:13',1),(69,'120.52.18.49',47,':)','2016-02-04 09:57:34',1),(70,'120.52.18.49',47,'耶?师傅我刚发表的文字咋不见了~~~','2016-02-04 10:11:55',1),(71,'221.204.14.23',47,'webservice 有的人一看到这个,估计会认为这个是一种新技术,一种新框架。\n\n其实不是,严格的说,webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互。\n\n\n\n 这里具体举个例子,比如在Windows Server服务器上有个C#.Net开发的应用A,在Linux上有个Java语言开发的应用B,\n\nB应用要调用A应用,或者是互相调用。用于查看对方的业务数据。\n\n 再举个例子,天气预报接口。无数的应用需要获取天气预报信息;这些应用可能是各种平台,各种技术实现;而气象局的项目,估计也就一两种,要对外提供天气预报信息,这个时候,如何解决呢?\n\n\n\n webservice就是出于以上类似需求而定义出来的规范;\n\n \n\n 开发人员一般就是在具体平台开发webservice接口,以及调用webservice接口;每种开发语言都有自己的webservice实现框架。比如Java 就有 Apache Axis1、Apache Axis2、Codehaus XFire、Apache CXF、Apache Wink、Jboss RESTEasyd等等...','2016-02-04 10:39:56',1),(72,'183.136.133.31',39,'大神就是这样玩的','2016-02-04 11:28:05',1),(73,'61.160.224.135',40,'来看看','2016-02-04 12:11:02',1),(74,'113.17.174.48',39,'好厉害','2016-02-04 14:37:24',1),(75,'113.17.174.48',39,'好厉害','2016-02-04 14:37:59',1),(76,'120.52.18.51',44,'这个评论不需要注册的么','2016-02-04 15:39:13',1),(77,'120.52.18.50',47,'天天天天天天','2016-02-04 16:00:32',1),(78,'120.52.18.50',47,'吞吞吐吐','2016-02-04 16:01:06',1),(79,'222.73.144.31',48,'123123','2016-02-04 19:36:19',1),(80,'222.73.144.31',48,'来说两句','2016-02-04 19:36:36',1),(81,'221.204.14.23',44,'让他有让他有额y','2016-02-04 21:05:52',1),(82,'221.204.14.23',48,'为','2016-02-05 11:12:45',1),(83,'221.204.14.23',44,'2楼SB','2016-02-05 11:14:03',1),(84,'221.204.14.28',48,'审核测试','2016-02-06 10:09:56',1),(85,'61.240.144.20',48,'峰哥威武 峰哥威武 峰哥威武','2016-02-06 17:37:41',1),(86,'202.102.85.19',48,'1564156145','2016-02-06 19:13:52',1),(87,'120.52.18.49',48,'峰哥,具体怎么搞啊?可以给你发邮件咱们私聊吗?','2016-02-06 21:59:48',1),(88,'120.52.18.49',45,'峰哥,我是你的VIP会员呢。嘿嘿。个人觉得,一个技术网站,一方面是资源多。另一个方面就是需要有原创。这点峰哥做的可以。还有这个站点不就是屌丝记事本的原型吗。','2016-02-06 22:03:15',1),(89,'221.204.14.25',44,'aa','2016-02-07 11:55:10',1),(90,'202.102.85.20',47,'不错不错','2016-02-08 07:47:01',1),(91,'202.102.85.20',47,'不错不错','2016-02-08 07:47:02',1),(92,'120.52.18.52',48,'峰哥威武霸气,猴年吉祥','2016-02-08 09:20:03',1),(93,'221.204.14.23',48,'四大','2016-02-08 22:05:52',1),(94,'221.204.14.24',49,'新的一年,祝愿峰哥猴年大吉。\n','2016-02-10 10:10:41',1),(95,'221.204.14.21',49,'为什么这个评论楼层是倒着啊?!!先评论的是1楼,再一个评论先评论的就成2楼了','2016-02-10 10:55:17',1),(96,'113.17.174.46',49,'13年去北大青鸟学习过。。最后工作却与开发无关。。空余时间较多想学习安卓开发,可以前学的java忘的差不多了','2016-02-10 15:18:12',1),(97,'202.102.85.19',41,'读起来挺有感觉的,希望自己能每天进步一点点!加油','2016-02-10 20:13:30',1),(98,'222.73.144.34',44,'test','2016-02-11 10:22:19',1),(99,'125.88.189.13',44,'dsad','2016-02-11 20:26:48',1),(100,'222.73.144.30',44,'test 叼扎天ip','2016-02-12 10:11:09',1),(101,'202.102.85.15',47,'good','2016-02-12 12:06:32',1),(102,'202.102.85.20',49,'<font color=red>新年快乐</font>','2016-02-12 16:55:57',1),(103,'183.136.133.29',41,'赞','2016-02-12 22:12:32',1),(104,'221.204.14.23',39,'赞','2016-02-13 19:18:04',1),(105,'61.160.224.139',48,'测试下','2016-02-13 20:55:16',1),(106,'61.160.224.139',48,'ad','2016-02-13 21:06:08',1),(107,'125.88.189.14',49,'看看','2016-02-14 10:14:26',1),(108,'120.52.18.54',49,'试试','2016-02-14 12:46:00',2),(109,'120.52.18.54',49,'试试','2016-02-14 12:46:22',1),(110,'222.73.144.28',48,'666','2016-02-14 16:11:15',1),(111,'221.204.14.20',50,'手动滑稽','2016-02-14 19:21:52',1),(112,'125.88.189.18',49,'fghjk','2016-02-14 19:56:22',1),(113,'202.102.85.15',44,'ee','2016-02-14 20:37:16',1),(114,'125.88.189.12',41,'解决了我的很多学习方法上的困惑,非常感谢!','2016-02-15 11:18:05',1),(115,'222.73.144.27',50,'用它在做爬虫','2016-02-15 14:45:23',1),(116,'222.73.144.27',50,'用它在做爬虫','2016-02-15 14:45:43',1),(117,'221.204.14.21',50,'fffff','2016-02-15 15:20:43',1),(118,'222.73.144.32',44,'楼主厉害,汗颜','2016-02-15 16:14:11',1),(119,'222.73.144.28',39,'谢谢锋哥!','2016-02-15 16:51:58',1),(120,'61.240.144.26',48,'好~~~~~~~~~~~~','2016-02-15 16:58:02',1),(121,'202.102.85.22',42,'asdf','2016-02-16 09:03:05',1),(122,'183.136.133.42',52,'配置完环境变量之后应该怎么验证是否配置成功了呢,因为我按照上面的步骤进行。提示:\'wsdl2java\' 不是内部或外部命令,也不是可运行的程序或批处理文件。怎么处理','2016-02-16 11:34:09',1),(123,'183.136.133.42',52,'本人菜鸟一枚,刚才我跟您发的信息,现在已经搞定!希望您在后续的文章里能否发表一篇文章是关于CXF WebService的应用场景,或者大多应该应用在哪,最好有例子说明。','2016-02-16 12:00:12',1),(124,'222.73.144.32',50,'12321312','2016-02-16 16:44:07',1),(125,'202.102.85.22',52,'peizhihuanjingbianliang','2016-02-16 20:27:25',2),(126,'202.102.85.22',52,'配置环境变量','2016-02-16 20:27:45',1),(127,'202.102.85.22',52,'<script>\nfor(;;){\nwhile(true){\nalert(\"haha);\n}}\n</script>','2016-02-16 20:28:45',2),(128,'202.102.85.17',45,'<script>alert(\"溜脾\");</script>','2016-02-17 11:23:04',2),(129,'183.136.133.28',43,'不错哦~','2016-02-17 14:08:37',1),(130,'221.204.14.27',39,'牛逼,问一下右上角搜索如何实现的?群主','2016-02-17 14:13:48',1),(131,'221.204.14.27',44,'知识改变命运,技术改变世界','2016-02-17 14:18:06',1),(132,'120.52.18.53',48,'峰哥威武 峰哥威武 峰哥威武 ','2016-02-17 14:23:39',1),(133,'221.204.14.27',49,'新年快乐','2016-02-17 14:32:23',1),(134,'120.52.18.53',45,'峰哥,什么时间有空了,讲讲jackrabbit','2016-02-17 14:35:23',1),(135,'120.52.18.50',44,'不明觉厉~','2016-02-17 14:50:30',1),(136,'120.52.18.50',48,'吾问无为谓','2016-02-17 15:28:56',1),(137,'222.73.144.33',47,'Good!','2016-02-17 15:53:52',1),(138,'221.204.14.23',40,'test','2016-02-17 17:30:47',2),(139,'221.204.14.23',40,'Test IP','2016-02-17 17:31:18',1),(140,'221.204.14.25',51,'rfff','2016-02-17 17:43:45',2),(141,'119.84.15.37',48,'哈哈哈哈,不错哟','2016-02-17 18:21:15',1),(142,'221.204.14.28',48,'评论测试','2016-02-17 19:58:10',1),(143,'221.204.14.23',50,'cnd加速什么鬼','2016-02-18 18:36:01',1),(144,'120.52.18.47',53,'<a href=\"www.java1234.com\">测试</a>','2016-02-18 20:00:07',2),(145,'120.52.18.54',53,'<a href=\"www.java1234.com\">test</a>','2016-02-18 20:01:01',2),(146,'221.204.14.23',47,'1212','2016-02-18 20:28:26',2),(147,'221.204.14.23',47,'1212','2016-02-18 20:28:35',2),(148,'202.102.85.20',53,'123213','2016-02-18 20:55:23',2),(149,'202.102.85.20',53,'123213','2016-02-18 20:55:27',2),(150,'202.102.85.20',53,'\n<script type=\"text/javascript\">\nalert(\'1\');\n</script>','2016-02-18 20:56:02',2),(151,'202.102.85.20',53,'\n<script type=\"text/javascript\">\nalert(\'1\');\n</script>','2016-02-18 20:56:03',2),(152,'202.102.85.20',53,'\n<script type=\"text/javascript\">\nalert(\'1\');\n</script>','2016-02-18 20:56:16',2),(153,'120.52.18.49',39,'牛逼啊','2016-02-18 21:55:24',2),(154,'120.52.18.49',39,'牛逼啊','2016-02-18 21:55:32',2),(155,'120.52.18.49',39,'牛逼啊','2016-02-18 21:55:33',2),(156,'120.52.18.49',39,'牛逼啊','2016-02-18 21:55:35',1),(157,'120.52.18.49',39,'牛逼啊','2016-02-18 21:55:35',2),(158,'120.52.18.49',39,'狠人','2016-02-18 21:55:48',1),(159,'221.204.14.27',53,'锋哥赞一个','2016-02-18 22:34:03',1),(160,'120.52.18.50',53,'12','2016-02-19 12:54:52',1),(161,'222.73.144.34',49,'可以','2016-02-20 19:52:09',1),(162,'183.136.133.31',45,'http://blog.java1234.com/index.html?page=0&typeId=7&\n//////\n\n### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'-10,10\' at line 5\n### The error may exist in file [C:\\apache-tomcat-7.0.63\\webapps\\Blog\\WEB-INF\\classes\\com\\java1234\\mappers\\BlogMapper.xml]\n### The error may involve com.java1234.dao.BlogDao.list-Inline\n### The error occurred while setting parameters\n### SQL: select * from t_blog WHERE typeId = ? order by releaseDate desc limit ?,?','2016-02-20 23:09:32',1),(163,'120.52.18.45',44,'我靠','2016-02-21 10:23:03',1),(164,'222.73.144.34',55,'赞','2016-02-21 17:17:16',1),(165,'222.73.144.32',55,'666,咋不买威朗','2016-02-21 17:52:48',1),(166,'125.88.189.16',55,'豪!','2016-02-21 18:41:39',1),(167,'202.102.85.21',55,' 土豪','2016-02-21 19:34:50',1),(168,'202.102.85.17',55,'打土豪,分田地','2016-02-21 20:55:04',1),(169,'221.204.14.28',42,'66666','2016-02-21 21:32:27',1),(170,'221.204.14.28',42,'66666','2016-02-21 21:32:42',1),(171,'120.52.18.52',48,'还行','2016-02-22 08:48:17',1),(172,'120.52.18.48',55,'你多少岁呀 土豪','2016-02-22 09:49:04',1),(173,'183.136.133.28',55,'锋哥是土豪','2016-02-22 10:16:56',1),(174,'221.204.14.22',52,'啊哩咕噜囧有害,峰哥页面加载有点慢啊','2016-02-22 11:05:54',1),(175,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:41',2),(176,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:44',2),(177,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:45',2),(178,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:45',2),(179,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:46',1),(180,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:46',2),(181,'222.73.144.30',42,'博客写的很好','2016-02-22 13:17:46',2),(182,'202.102.85.20',55,'车咋样啊?','2016-02-22 14:29:40',1),(183,'61.160.224.137',55,'可以','2016-02-22 14:45:34',1),(184,'183.136.133.29',55,'土豪,好厉害~','2016-02-22 15:48:50',1),(185,'120.52.18.48',55,'我就来看看评论','2016-02-22 16:05:42',1),(186,'120.52.18.48',55,'我就来看看评论','2016-02-22 16:05:59',1),(187,'119.84.15.36',55,'峰哥土豪','2016-02-22 16:49:55',1),(188,'221.204.14.24',55,'打土豪,分媳妇。。。哦不,分田地!','2016-02-22 17:14:58',1),(189,'58.217.139.169',39,'好棒啊,技术玩的不错','2016-02-23 00:24:18',2),(190,'58.217.139.169',39,'好棒啊,技术玩的不错','2016-02-23 00:24:36',1),(191,'221.204.14.25',55,'峰总好棒!!','2016-02-23 01:40:06',1),(192,'222.73.144.34',55,'南通的土豪!','2016-02-23 09:46:51',1),(193,'113.17.174.50',55,'峰哥牛B!支持峰哥^ ^','2016-02-23 11:42:01',1),(194,'222.73.144.31',55,'来看评论的','2016-02-23 13:36:38',1),(195,'120.52.18.49',40,'撒旦','2016-02-23 13:54:42',1),(196,'221.204.14.20',41,'阿萨德','2016-02-23 16:38:59',1),(197,'125.88.189.12',55,'向峰哥看齐','2016-02-23 16:41:01',1),(198,'125.88.189.12',55,'向峰哥看齐','2016-02-23 16:41:11',2),(199,'125.88.189.13',55,'<script>alert(\"xxs test\")!</script>','2016-02-23 17:36:43',2),(200,'120.52.18.49',55,'旁边的是别墅啊!','2016-02-23 17:37:24',1),(201,'113.17.174.49',45,'<script>alert(1)</script>','2016-02-23 21:18:45',2),(202,'120.52.18.53',48,'小锋老师,想问一下关于百度云资源搜索的问题:您的后台是调用谷歌的API来获取数据集的么?或者是别的方法?','2016-02-23 22:23:23',1),(203,'202.102.85.22',44,'是啊','2016-02-24 14:53:32',1),(204,'61.240.144.32',55,'威武霸气','2016-02-24 15:17:44',1),(205,'202.102.85.15',59,'建议搞个视频!','2016-02-24 21:16:17',1),(206,'120.52.18.50',57,'1111111','2016-02-25 09:31:31',1),(207,'113.17.174.45',55,'壕','2016-02-25 09:48:14',1),(208,'120.52.18.50',55,'打酱油','2016-02-25 10:03:05',1),(209,'222.73.144.30',59,'已经购买域名,如何选择主机发布到互联网','2016-02-25 11:12:37',1),(210,'202.102.85.20',55,'峰哥好棒~','2016-02-25 19:43:03',1),(211,'222.73.144.32',49,'dafasfasfa','2016-02-25 20:32:05',1),(212,'202.102.85.16',58,'好','2016-02-25 21:04:20',1),(213,'202.102.85.20',55,'老司机~','2016-02-25 21:41:33',1),(214,'202.102.85.20',40,'留,如果能加入多说评论就好了,','2016-02-25 21:52:01',1),(215,'61.240.144.21',60,'你好,博客系统的源码是什么编码格式的?我引入到工作目录中文注释乱码了...','2016-02-25 22:47:27',1),(216,'125.88.189.18',49,'试一下这个评论有没有分页,而且没有回复功能','2016-02-26 09:02:19',1),(217,'183.136.133.28',59,'太棒了~ 正需要这个东西,最好能搞个简单视频!','2016-02-26 11:32:00',1),(218,'202.102.85.22',59,'可以啊!','2016-02-26 13:07:07',1),(219,'202.102.85.22',55,'哇,要变成老司机啊!','2016-02-26 13:36:06',1),(220,'202.102.85.22',49,'哈哈,峰哥,阿里云服务是怎么收费的呀?\n','2016-02-26 13:38:09',1),(221,'202.102.85.22',49,'对了,峰哥,你的这个验证码不好看,建议你去看看google搞的Kaptcha;','2016-02-26 13:39:01',1),(222,'120.52.18.48',60,'支持下!','2016-02-26 15:42:52',1),(223,'120.52.18.48',45,'.......','2016-02-26 15:48:03',1),(224,'113.17.174.41',58,'真的好','2016-02-26 16:02:35',1),(225,'221.204.14.28',60,'6666','2016-02-26 16:12:00',1),(226,'119.84.15.42',59,'改80端口,如果是国内空间的话要备案吧','2016-02-26 21:29:35',1),(227,'120.52.18.50',60,'锋哥','2016-02-27 00:09:40',1),(228,'120.52.18.45',41,'锋哥','2016-02-27 00:12:54',1),(229,'125.88.189.17',60,'scccccccccccc','2016-02-28 15:18:02',1),(230,'125.88.189.18',55,'峰哥混的不错啊 带带我啊','2016-02-29 10:27:44',1),(231,'222.73.144.32',48,'666666666666666666666','2016-02-29 11:49:55',1),(232,'125.88.189.18',43,'不错哟啊 ','2016-02-29 12:03:24',1),(233,'125.88.189.18',54,'webservcice 不知道有什么用','2016-02-29 12:16:11',1),(234,'222.73.144.27',59,'nice','2016-02-29 13:39:41',1),(235,'120.52.18.48',59,'锋哥,建议你把这个弄一期专门的视频吧,很多人都需要这个的==','2016-02-29 15:33:09',1),(236,'202.102.85.21',63,'牛掰牛逼,比峰哥做的还nb','2016-02-29 20:53:05',1),(237,'202.102.85.20',63,'牛掰牛逼','2016-02-29 22:18:23',1),(238,'222.73.144.30',63,'博主这个问题怎么解决啊 :\n no segments* file found in MMapDirectory@E:\\lucene lockFactory=org.apache.lucene.store.NativeFSLockFactory@2f628329: files: [BlogIndex.class, BlogIndex.java]\n\n','2016-03-01 00:14:17',1),(239,'202.102.85.19',63,'赞一个','2016-03-01 00:37:05',1),(240,'61.160.224.138',48,'首先,什么叫做采集百度云分享达人的帐号?再次,什么叫采集他们的分享资源?','2016-03-01 09:33:19',1),(241,'120.52.18.48',63,'服务器跟数据库在哪买的,能说下吗','2016-03-01 10:31:49',1),(242,'120.52.18.49',63,'博主要厉害','2016-03-01 15:01:22',1),(243,'202.102.85.19',59,'如何选择主机发布到互联网 ','2016-03-01 17:44:18',1),(244,'222.73.144.32',55,'可以啊','2016-03-01 20:17:02',1),(245,'222.73.144.32',55,'可以啊','2016-03-01 20:17:12',1),(246,'61.240.144.22',63,'锋哥,博客视频教程别断更啊...','2016-03-01 20:58:49',1),(247,'113.17.174.50',63,'真是大神','2016-03-01 23:36:36',1),(248,'221.204.14.27',64,'确实是这样,同样的项目,其他人卖的很贵,而且没人指导,峰哥的视频,质量很高,而且会随时指导,对学习有很大的帮助,我也是在峰哥的指导下找到工作了,今年6月就毕业了,是一起同学工资的几乎双倍!','2016-03-02 14:11:01',1),(249,'120.52.18.47',64,' 有信仰,峰哥,好样的','2016-03-02 14:48:22',1),(250,'183.136.133.31',63,'你的这个徒弟今天毕业?想在哪里找工作?我现在北京一家软件公司(中软),如果有意向可以让他联系我,QQ:284441807','2016-03-02 17:34:40',1),(251,'202.102.85.19',64,'说真的,后悔去培训机构交那么多钱,没峰哥教的好,教的多,真的是早点遇到峰哥就好了','2016-03-02 19:36:09',1),(252,'221.204.14.19',64,'我就想知道how much','2016-03-02 20:18:10',1),(253,'61.240.144.22',64,'支持锋哥,什么时候教下移动端的开发','2016-03-02 22:45:09',1),(254,'222.73.144.31',41,'峰哥,很赞','2016-03-03 07:38:14',1),(255,'222.73.144.32',64,'傻逼一个','2016-03-03 11:47:03',2),(256,'119.84.15.44',50,'测试','2016-03-03 14:02:47',1),(257,'113.17.174.46',58,'这是配置虚拟路径吗?','2016-03-03 14:06:01',1),(258,'113.17.174.46',58,'这是配置虚拟路径吗?','2016-03-03 14:06:13',1),(259,'221.204.14.28',65,'峰哥速度更新谷歌搜索啊','2016-03-03 16:20:42',1),(260,'222.73.144.30',39,'wa o','2016-03-03 17:49:42',1),(261,'61.160.224.136',66,'求收徒。','2016-03-03 17:53:33',1),(262,'221.204.14.21',66,'屌!','2016-03-03 18:34:39',1),(263,'222.73.144.28',62,'111','2016-03-03 20:42:46',1),(264,'202.102.85.22',66,'nbnx牛掰牛叉牛掰','2016-03-03 21:00:49',1),(265,'120.52.18.52',66,'屌的不行不行的','2016-03-04 09:20:54',1),(266,'221.204.14.25',65,'峰哥速度更新谷歌搜索啊 ','2016-03-04 14:48:52',1),(267,'61.240.144.32',43,'ddd','2016-03-04 14:52:13',1),(268,'221.204.14.20',66,'求拿下','2016-03-04 16:43:28',1),(269,'183.136.133.30',66,'666','2016-03-04 17:02:57',1),(270,'183.136.133.30',67,'我想说我也是看了峰哥的视频才找的工作吗,现在在福建福州福富软件公司实习,已经签了协议,4000+的工资,就搞了一个那个日记本的源码搞熟了,我说是我做的,然后面试的时候问我怎么实现的,我全部说完,那个经理就来了一句很不错啊就被录取了','2016-03-04 17:08:35',1),(271,'222.73.144.34',67,'66666','2016-03-05 00:51:31',1),(272,'222.73.144.34',63,'66666','2016-03-05 00:52:16',1),(273,'125.88.189.21',63,'都不能发文章\nhttps://hacpai.com/article/1456470367361','2016-03-05 09:31:01',2),(274,'113.17.174.47',67,'一直在学','2016-03-05 20:41:09',1),(275,'113.17.174.47',67,'一直在学','2016-03-05 20:41:12',1),(276,'202.102.85.17',67,'锋哥的教学视频很真诚','2016-03-06 20:47:51',1),(277,'120.52.18.45',66,'不错啊','2016-03-06 22:45:21',1),(278,'113.17.174.50',58,'为什么myeclipse打开下面,左边的代码是src/main/java这样子的路径(正文第一张图),是不是哪里配置问题?','2016-03-07 10:57:09',1),(279,'183.136.133.41',67,'5楼的兄弟,你是哪个部门的 我也在福富 不过我今天是第一次知道这个 我朋友推荐我看的 原来都是做大数据 现在学学前端','2016-03-08 09:34:37',1),(280,'222.73.144.32',65,'6666666','2016-03-08 11:11:24',1),(281,'183.136.133.41',66,'厉害','2016-03-08 14:41:26',1),(282,'183.136.133.41',64,'我也是看您的视频的,我也是vip,2年前买的。','2016-03-08 14:43:05',1),(283,'120.52.18.51',57,'ddd','2016-03-08 20:22:42',1),(284,'120.52.18.51',67,'矿大的路过。。。','2016-03-08 22:03:45',1),(285,'120.52.18.49',39,'谁谁谁','2016-03-09 09:58:58',1),(286,'202.102.85.19',67,'我现在在学习做','2016-03-09 11:42:00',1),(287,'202.102.85.18',63,'6666666666','2016-03-09 17:10:57',1),(288,'61.240.144.23',66,'求一师傅带带 有基础 但是现在找不到方向。。。求带进门','2016-03-09 20:36:10',1),(289,'183.136.133.30',67,'EDA,原来还有同事呀,,,3楼','2016-03-10 14:35:47',1),(290,'120.52.18.49',67,'sss','2016-03-10 17:44:02',1),(291,'202.102.85.17',68,'沙发,这几天我也面试了','2016-03-10 18:03:13',1),(292,'221.204.14.27',68,'1111','2016-03-11 13:06:16',1),(293,'222.73.144.28',68,'沙发','2016-03-11 15:43:26',1),(294,'120.52.18.49',68,'才开始学习。。','2016-03-11 17:14:09',1),(295,'222.73.144.31',68,'评论系统甚是简陋呀,至少应该能写个用户名之类的吧','2016-03-12 11:12:24',1),(296,'222.73.144.31',68,'这个是伪静态的页面把 ','2016-03-12 11:14:42',1),(297,'113.17.174.49',52,'=w=','2016-03-12 15:45:47',1),(298,'61.240.144.31',68,'这个不能发表情 希望日后完善!!!!!','2016-03-12 22:10:03',1),(299,'222.73.144.32',61,'为毛我的打包的就报错了呢','2016-03-12 23:14:01',1),(300,'222.73.144.32',61,'为毛我的打包的就报错了呢','2016-03-12 23:14:14',1),(301,'120.52.18.48',60,'挺好的呢!!','2016-03-12 23:28:20',1),(302,'61.160.224.139',68,'253343','2016-03-13 16:52:15',1),(303,'222.73.144.30',60,'11','2016-03-13 19:07:09',1),(304,'120.52.18.47',48,'逗比 蜂','2016-03-13 21:20:09',1),(305,'120.52.18.48',60,'123321','2016-03-13 23:01:09',1),(306,'113.17.174.41',41,'博主不错','2016-03-14 09:45:12',1),(307,'221.204.14.20',59,'枯干在二','2016-03-14 14:41:02',1),(308,'221.204.14.20',59,'dfsfg','2016-03-14 14:41:19',1),(309,'120.52.18.52',68,'感觉不错,就是评论有点简陋。','2016-03-15 16:04:42',1),(310,'120.52.18.49',69,'买了视频,不错的巩固基础','2016-03-15 21:49:16',1),(311,'61.240.144.25',68,'还不错','2016-03-15 23:26:23',1),(312,'61.240.144.25',65,'最近有个项目一直报这个错,可以试下','2016-03-15 23:28:24',1),(315,'202.102.85.21',68,'alert(\"加油!\");','2016-03-16 09:43:04',2),(316,'202.102.85.21',68,'<strong>测试</strong>','2016-03-16 09:51:30',1),(317,'183.136.133.28',68,'test','2016-03-16 11:17:31',1),(318,'221.204.14.24',55,'有本事换A7啊','2016-03-16 13:09:14',2),(319,'221.204.14.24',55,'这个 家伙十有八九是骗钱的 不相信他','2016-03-16 13:09:40',2),(320,'221.204.14.22',48,'我也要业余琢磨琢磨了 锋哥霸气侧漏','2016-03-16 19:28:04',2),(321,'221.204.14.22',48,'我也要业余琢磨琢磨了 锋哥霸气侧漏','2016-03-16 19:28:12',1),(322,'221.204.14.24',70,'不错的','2016-03-17 10:08:58',1),(323,'113.17.174.45',68,'34234','2016-03-17 19:55:08',2),(324,'113.17.174.45',68,'34234','2016-03-17 19:55:21',1),(325,'202.102.85.16',70,'随便逛逛','2016-03-18 00:48:11',1),(326,'222.73.144.33',44,'louzhutailihaile...','2016-03-18 09:02:10',1),(327,'222.73.144.33',44,'louzhutailihaile...','2016-03-18 09:02:20',2),(328,'222.73.144.33',44,'louzhutailihaile...','2016-03-18 09:02:28',2),(329,'221.204.14.21',68,'haha','2016-03-18 19:55:57',1),(330,'222.73.144.33',62,'测试','2016-03-21 09:45:52',1),(331,'125.88.189.19',71,'挺好的','2016-03-21 10:11:30',1),(332,'125.88.189.19',71,'顶','2016-03-21 19:08:14',0),(333,'222.73.144.32',71,'fadfa','2016-03-22 12:54:59',0),(334,'120.52.18.45',43,'学习了,哈哈','2016-03-22 15:22:47',0),(335,'202.102.85.17',68,'虚心学习','2016-03-22 18:31:59',0);
/*Table structure for table `t_link` */
DROP TABLE IF EXISTS `t_link`;
CREATE TABLE `t_link` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`linkName` varchar(100) DEFAULT NULL,
`linkUrl` varchar(200) DEFAULT NULL,
`orderNo` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
/*Data for the table `t_link` */
insert into `t_link`(`id`,`linkName`,`linkUrl`,`orderNo`) values (1,'Java知识分享网','http://www.java1234.com/',1),(2,'百度云搜索引擎','http://pan.java1234.com/',2),(3,'小图标下载','http://www.easyicon.net/',3),(4,'Java贴吧','http://tieba.baidu.com/f?kw=java',4),(5,'免费logo在线制作','http://www.uugai.com/',5);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化