微信公众平台自动回复wechatlib.jar的生成及wechatlib解析

- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:ReceiveBaseMessage
- * 类描述:接收消息基类(普通用户发送信息给公众帐号)
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:12:57
- * @version
- */
- public class ReceiveBaseMessage {
- // 开发者微信号
- private String ToUserName;
- // 发送方帐号(OpenID)
- private String FromUserName;
- // 消息创建时间 (整型)
- private long CreateTime;
- // 消息类型(text/image/location/link)
- private String MsgType;
- // 消息id,64位整型
- private long MsgId;
- public String getToUserName() {
- return ToUserName;
- }
- public void setToUserName(String toUserName) {
- ToUserName = toUserName;
- }
- public String getFromUserName() {
- return FromUserName;
- }
- public void setFromUserName(String fromUserName) {
- FromUserName = fromUserName;
- }
- public long getCreateTime() {
- return CreateTime;
- }
- public void setCreateTime(long createTime) {
- CreateTime = createTime;
- }
- public String getMsgType() {
- return MsgType;
- }
- public void setMsgType(String msgType) {
- MsgType = msgType;
- }
- public long getMsgId() {
- return MsgId;
- }
- public void setMsgId(long msgId) {
- MsgId = msgId;
- }
- }
请求消息中的文本消息
- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:TextMessage
- * 类描述:文本消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:13:06
- * @version
- */
- public class TextMessage extends ReceiveBaseMessage{
- // 消息内容
- private String Content;
- public String getContent() {
- return Content;
- }
- public void setContent(String content) {
- Content = content;
- }
- }
请求消息中的图片消息
- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:ImageMessage
- * 类描述:图片消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:12:19
- * @version
- */
- public class ImageMessage extends ReceiveBaseMessage{
- // 图片链接
- private String PicUrl;
- public String getPicUrl() {
- return PicUrl;
- }
- public void setPicUrl(String picUrl) {
- PicUrl = picUrl;
- }
- }
请求消息中的地理位置消息
- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:LocationMessage
- * 类描述:地理位置消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:12:45
- * @version
- */
- public class LocationMessage extends ReceiveBaseMessage{
- // 地理位置维度
- private String Location_X;
- // 地理位置经度
- private String Location_Y;
- // 地图缩放大小
- private String Scale;
- // 地理位置信息
- private String Label;
- public String getLocation_X() {
- return Location_X;
- }
- public void setLocation_X(String location_X) {
- Location_X = location_X;
- }
- public String getLocation_Y() {
- return Location_Y;
- }
- public void setLocation_Y(String location_Y) {
- Location_Y = location_Y;
- }
- public String getScale() {
- return Scale;
- }
- public void setScale(String scale) {
- Scale = scale;
- }
- public String getLabel() {
- return Label;
- }
- public void setLabel(String label) {
- Label = label;
- }
- }
请求消息中的链接消息
- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:LinkMessage
- * 类描述:链接消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:12:33
- * @version
- */
- public class LinkMessage {
- // 消息标题
- private String Title;
- // 消息描述
- private String Description;
- // 消息链接
- private String Url;
- public String getTitle() {
- return Title;
- }
- public void setTitle(String title) {
- Title = title;
- }
- public String getDescription() {
- return Description;
- }
- public void setDescription(String description) {
- Description = description;
- }
- public String getUrl() {
- return Url;
- }
- public void setUrl(String url) {
- Url = url;
- }
- }
请求消息中的语音消息
- package xidian.wq.wechatlib.entity.receive;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:VoiceMessage
- * 类描述:音频消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:13:18
- * @version
- */
- public class VoiceMessage {
- // 媒体ID
- private String MediaId;
- // 语音格式
- private String Format;
- public String getMediaId() {
- return MediaId;
- }
- public void setMediaId(String mediaId) {
- MediaId = mediaId;
- }
- public String getFormat() {
- return Format;
- }
- public void setFormat(String format) {
- Format = format;
- }
- }
b.回复消息封装(xidian.wq.wechatlib.entity.send)
回复消息的基类
- package xidian.wq.wechatlib.entity.send;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:SendBaseMessage
- * 类描述:回复消息基类(公众帐号回复消息给普通用户)
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:11:46
- * @version
- */
- public class SendBaseMessage {
- // 接收方帐号(OpenID)
- private String ToUserName;
- // 开发者微信号
- private String FromUserName;
- // 消息创建时间 (整型)
- private long CreateTime;
- // 消息类型(text/music/news)
- private String MsgType;
- public String getToUserName() {
- return ToUserName;
- }
- public void setToUserName(String toUserName) {
- ToUserName = toUserName;
- }
- public String getFromUserName() {
- return FromUserName;
- }
- public void setFromUserName(String fromUserName) {
- FromUserName = fromUserName;
- }
- public long getCreateTime() {
- return CreateTime;
- }
- public void setCreateTime(long createTime) {
- CreateTime = createTime;
- }
- public String getMsgType() {
- return MsgType;
- }
- public void setMsgType(String msgType) {
- MsgType = msgType;
- }
- }
回复消息中的文本消息
- package xidian.wq.wechatlib.entity.send;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:TextMessage
- * 类描述:文本消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:12:00
- * @version
- */
- public class TextMessage extends SendBaseMessage{
- // 消息内容
- private String Content;
- public String getContent() {
- return Content;
- }
- public void setContent(String content) {
- Content = content;
- }
- }
回复消息中的音乐消息
- package xidian.wq.wechatlib.entity.send;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:MusicMessage
- * 类描述:音乐消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:11:19
- * @version
- */
- public class MusicMessage extends SendBaseMessage{
- // 音乐
- private Music Music;
- public Music getMusic() {
- return Music;
- }
- public void setMusic(Music music) {
- Music = music;
- }
- }
音乐消息中的music类
- package xidian.wq.wechatlib.entity.send;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:Music
- * 类描述:音乐model
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:11:03
- * @version
- */
- public class Music {
- // 音乐名称
- private String Title;
- // 音乐描述
- private String Description;
- // 音乐链接
- private String MusicUrl;
- // 高质量音乐链接,WIFI环境优先使用该链接播放音乐
- private String HQMusicUrl;
- public String getTitle() {
- return Title;
- }
- public void setTitle(String title) {
- Title = title;
- }
- public String getDescription() {
- return Description;
- }
- public void setDescription(String description) {
- Description = description;
- }
- public String getMusicUrl() {
- return MusicUrl;
- }
- public void setMusicUrl(String musicUrl) {
- MusicUrl = musicUrl;
- }
- public String getHQMusicUrl() {
- return HQMusicUrl;
- }
- public void setHQMusicUrl(String musicUrl) {
- HQMusicUrl = musicUrl;
- }
- }
回复消息中的图文消息
- package xidian.wq.wechatlib.entity.send;
- import java.util.List;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:NewsMessage
- * 类描述:图文消息
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:11:32
- * @version
- */
- public class NewsMessage extends SendBaseMessage{
- // 图文消息个数,限制为10条以内
- private int ArticleCount;
- // 多条图文消息信息,默认第一个item为大图
- private List<Article> Articles;
- public int getArticleCount() {
- return ArticleCount;
- }
- public void setArticleCount(int articleCount) {
- ArticleCount = articleCount;
- }
- public List<Article> getArticles() {
- return Articles;
- }
- public void setArticles(List<Article> articles) {
- Articles = articles;
- }
- }
图文消息中的article类
- package xidian.wq.wechatlib.entity.send;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:Article
- * 类描述:图文model
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:10:51
- * @version
- */
- public class Article {
- // 图文消息名称
- private String Title;
- // 图文消息描述
- private String Description;
- // 图片链接,支持JPG、PNG格式,较好的效果为大图600*300,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
- private String PicUrl;
- // 点击图文消息跳转链接
- private String Url;
- public String getTitle() {
- return Title;
- }
- public void setTitle(String title) {
- Title = title;
- }
- public String getDescription() {
- return null == Description ? "" : Description;
- }
- public void setDescription(String description) {
- Description = description;
- }
- public String getPicUrl() {
- return null == PicUrl ? "" : PicUrl;
- }
- public void setPicUrl(String picUrl) {
- PicUrl = picUrl;
- }
- public String getUrl() {
- return null == Url ? "" : Url;
- }
- public void setUrl(String url) {
- Url = url;
- }
- }
c.基础设置(xidian.wq.wechatlib.utils)
消息处理工具类
- package xidian.wq.wechatlib.utils;
- import java.io.InputStream;
- import java.io.Writer;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.dom4j.Document;
- import org.dom4j.Element;
- import org.dom4j.io.SAXReader;
- import xidian.wq.wechatlib.entity.send.Article;
- import xidian.wq.wechatlib.entity.send.MusicMessage;
- import xidian.wq.wechatlib.entity.send.NewsMessage;
- import xidian.wq.wechatlib.entity.send.TextMessage;
- import com.thoughtworks.xstream.XStream;
- import com.thoughtworks.xstream.core.util.QuickWriter;
- import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
- import com.thoughtworks.xstream.io.xml.PrettyPrintWriter;
- import com.thoughtworks.xstream.io.xml.XppDriver;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:MessageUtil
- * 类描述:消息处理工具类
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:08:40
- * @version
- */
- public class MessageUtil {
- /**
- * 返回消息类型:文本
- */
- public static final String SEND_TEXT = "text";
- /**
- * 返回消息类型:音乐
- */
- public static final String SEND_MUSIC = "music";
- /**
- * 返回消息类型:图文
- */
- public static final String SEND_NEWS = "news";
- /**
- * 请求消息类型:文本
- */
- public static final String RECRIVE_TEXT = "text";
- /**
- * 请求消息类型:图片
- */
- public static final String RECRIVE_IMAGE = "image";
- /**
- * 请求消息类型:链接
- */
- public static final String RECRIVE_LINK = "link";
- /**
- * 请求消息类型:地理位置
- */
- public static final String RECRIVE_LOCATION = "location";
- /**
- * 请求消息类型:音频
- */
- public static final String RECRIVE_VOICE = "voice";
- /**
- * 请求消息类型:推送
- */
- public static final String RECRIVE_EVENT = "event";
- /**
- * 事件类型:subscribe(订阅)
- */
- public static final String RECRIVE_SUBSCRIBE = "subscribe";
- /**
- * 事件类型:unsubscribe(取消订阅)
- */
- public static final String RECRIVE_UNSUBSCRIBE = "unsubscribe";
- /**
- * 事件类型:CLICK(自定义菜单点击事件)
- */
- public static final String RECRIVE_CLICK = "CLICK";
- /**
- * 解析微信发来的请求(XML)
- *
- * @param request
- * @return
- * @throws Exception
- */
- @SuppressWarnings("unchecked")
- public static Map<String, String> parseXml(HttpServletRequest request) throws Exception {
- // 将解析结果存储在HashMap中
- Map<String, String> map = new HashMap<String, String>();
- // 从request中取得输入流
- InputStream inputStream = request.getInputStream();
- // 读取输入流
- SAXReader reader = new SAXReader();
- Document document = reader.read(inputStream);
- // 得到xml根元素
- Element root = document.getRootElement();
- // 得到根元素的所有子节点
- List<Element> elementList = root.elements();
- // 遍历所有子节点
- for (Element e : elementList)
- map.put(e.getName(), e.getText());
- // 释放资源
- inputStream.close();
- inputStream = null;
- return map;
- }
- /**
- * 文本消息对象转换成xml
- *
- * @param textMessage 文本消息对象
- * @return xml
- */
- public static String textMessageToXml(TextMessage textMessage) {
- xstream.alias("xml", textMessage.getClass());
- return xstream.toXML(textMessage);
- }
- /**
- * 音乐消息对象转换成xml
- *
- * @param musicMessage 音乐消息对象
- * @return xml
- */
- public static String musicMessageToXml(MusicMessage musicMessage) {
- xstream.alias("xml", musicMessage.getClass());
- return xstream.toXML(musicMessage);
- }
- /**
- * 图文消息对象转换成xml
- *
- * @param newsMessage 图文消息对象
- * @return xml
- */
- public static String newsMessageToXml(NewsMessage newsMessage) {
- xstream.alias("xml", newsMessage.getClass());
- xstream.alias("item", new Article().getClass());
- return xstream.toXML(newsMessage);
- }
- /**
- * 扩展xstream,使其支持CDATA块
- *
- * @date 2013-05-19
- */
- private static XStream xstream = new XStream(new XppDriver() {
- public HierarchicalStreamWriter createWriter(Writer out) {
- return new PrettyPrintWriter(out) {
- // 对所有xml节点的转换都增加CDATA标记
- boolean cdata = true;
- @SuppressWarnings("unchecked")
- public void startNode(String name, Class clazz) {
- super.startNode(name, clazz);
- }
- protected void writeText(QuickWriter writer, String text) {
- if (cdata) {
- writer.write("<![CDATA[");
- writer.write(text);
- writer.write("]]>");
- } else {
- writer.write(text);
- }
- }
- };
- }
- });
- }
url配置请求校验工具类
- package xidian.wq.wechatlib.utils;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.util.Arrays;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.util.Arrays;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:SignUtil
- * 类描述:url配置请求校验工具类
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:09:14
- * @version
- */
- public class SignUtil {
- // 与接口配置信息中的Token要一致
- private static String token = "fromsedion";
- /**
- * 验证签名
- *
- * @param signature 微信加密签名
- * @param timestamp 时间戳
- * @param nonce 随机数
- * @return
- */
- public static boolean checkSignature(String signature, String timestamp, String nonce) {
- String[] arr = new String[] { token, timestamp, nonce };
- // 将token、timestamp、nonce三个参数进行字典序排序
- Arrays.sort(arr);
- StringBuilder content = new StringBuilder();
- for (int i = 0; i < arr.length; i++) {
- content.append(arr[i]);
- }
- MessageDigest md = null;
- String tmpStr = null;
- try {
- md = MessageDigest.getInstance("SHA-1");
- // 将三个参数字符串拼接成一个字符串进行sha1加密
- byte[] digest = md.digest(content.toString().getBytes());
- tmpStr = byteToStr(digest);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- content = null;
- // 将sha1加密后的字符串可与signature对比,标识该请求来源于微信
- return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;
- }
- /**
- * 将字节数组转换为十六进制字符串
- *
- * @param byteArray
- * @return
- */
- private static String byteToStr(byte[] byteArray) {
- String strDigest = "";
- for (int i = 0; i < byteArray.length; i++) {
- strDigest += byteToHexStr(byteArray[i]);
- }
- return strDigest;
- }
- /**
- * 将字节转换为十六进制字符串
- *
- * @param mByte
- * @return
- */
- private static String byteToHexStr(byte mByte) {
- char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
- char[] tempArr = new char[2];
- tempArr[0] = Digit[(mByte >>> 4) & 0X0F];
- tempArr[1] = Digit[mByte & 0X0F];
- String s = new String(tempArr);
- return s;
- }
- }
d.service回复信息处理(xidian.wq.wechatlib.ways.send)
- package xidian.wq.wechatlib.ways.send;
- import java.util.Date;
- import java.util.List;
- import xidian.wq.wechatlib.entity.send.Article;
- import xidian.wq.wechatlib.entity.send.NewsMessage;
- import xidian.wq.wechatlib.entity.send.TextMessage;
- import xidian.wq.wechatlib.utils.MessageUtil;
- /**
- *
- * 项目名称:wechatlib
- * 类名称:SendService
- * 类描述: 回复信息类型的封装
- * 创建人:WQ
- * 创建时间:2013-10-3 下午4:07:59
- * @version
- */
- public class SendService {
- /**
- * 回复文本消息
- * @param fromusername 粉丝openid
- * @param tousername 微信公众号
- * @param respContent 回复信息
- * @return
- */
- public static String sendTextmessage(String fromusername,String tousername,String respContent){
- //初始化回复信息
- String respmessage;
- //回复文本消息
- TextMessage textMessage = new TextMessage();
- //发送方帐号(一个OpenID)
- textMessage.setToUserName(fromusername);
- //开发者微信号
- textMessage.setFromUserName(tousername);
- //消息创建时间 (整型)
- textMessage.setCreateTime(new Date().getTime());
- //消息类型text
- textMessage.setMsgType(MessageUtil.SEND_TEXT);
- //回复的消息内容,长度不超过2048字节
- textMessage.setContent(respContent);
- //转为xml格式
- respmessage = MessageUtil.textMessageToXml(textMessage);
- //返回回复信息
- return respmessage;
- }
- /**
- * 图文消息设置
- * @param fromusername 粉丝openid
- * @param tousername 开发者微信公众账号
- * @param newslist 图文消息list
- * @return
- */
- public static String sendNewsmessage(String fromusername,String tousername,List<Article> newslist){
- //初始化回复信息
- String respmessage;
- //创建图文消息
- NewsMessage newsMessage=new NewsMessage();
- //发送方帐号(一个OpenID)
- newsMessage.setToUserName(fromusername);
- //开发者微信号
- newsMessage.setFromUserName(tousername);
- //消息创建时间 (整型)
- newsMessage.setCreateTime(new Date().getTime());
- //消息类型news
- newsMessage.setMsgType(MessageUtil.SEND_NEWS);
- //图文消息个数,限制为10条以内
- newsMessage.setArticleCount(newslist.size());
- //多条图文消息信息,默认第一个item为大图
- newsMessage.setArticles(newslist);
- //转成xml形式
- respmessage = MessageUtil.newsMessageToXml(newsMessage);
- //回复信息
- return respmessage;
- }
- }
打包
以上即是所要打的jar包包含的所有类,接下去讲解打包:
因为项目中要将外部引用的jar包(dom4j-1.6.1.jar和xstream-1.3.1.jar)打进jar包,所以笔者准备了fat-jar(sourcefprge.net下的一个开源工具),下载地址为http://pan.baidu.com/s/1CCtSf也可以到http://sourcefprge.net/projects/fjep下载,将下载好的net.sf.fjep.fatjar_0.0.31.jar拷贝到eclipse目录下的plugins目录下,然后重启eclipse,准备完成。
点击项目wechatlib,右键选中Build Fat Jar
选择需要用到的jar和文件
点击finish即可
如果你急需用到wechatlib,可直接在此处下载http://pan.baidu.com/share/link?uk=1730904624&shareid=1479736624
转帖请注明本文出自胖子的博客(http://www.cnblogs.com/Codenewbie),请尊重他人的辛勤劳动成果,谢谢!
微信公众平台自动回复wechatlib.jar的生成及wechatlib解析的更多相关文章
- 微信公众平台java开发详解(工程代码+解析)
原文:http://blog.csdn.net/pamchen/article/details/38718947 说明:本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初 ...
- 微信公众平台java开发具体解释(project代码+解析)
说明: 本次的教程主要是对微信公众平台开发人员模式的解说,网络上非常多类似文章,但非常多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行解说分 ...
- 微信公众平台开发教程--方培工作室,PHP语言版本
准备工作 微信公众平台的注册 介绍如何注册一个微信公众账号. 入门教程 微信公众平台开发入门教程 内容:1.申请SAE作为服务器; 2.启用开发模式; 3.微信公众平台PHP SDK; 4.接收发送消 ...
- 自动回复消息-微信公众平台开发4(asp.net)
接着上一节的processRequest 处理函数,代码如下: /// <summary> /// 处理微信发来的请求 /// </summary> /// ...
- 利用微信公众平台实现自动回复消息—java版
最近公司需要拿微信公众平台做个东西,所以就开始了最基本学习,网上很多是php版的,对于我这个只会java,不会php的就只能在网上找点只言片语来一点一点学习了.不费话了直接贴图看效果(很简单的). 不 ...
- C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题
[引言] 利用asp.net搭建微信公众平台的案例并不多,微信官方给的案例是用PHP的,网上能找到的代码很多也是存在着这样那样的问题或者缺少部分方法,无法使用,下面是我依照官方文档写的基于.net 搭 ...
- 微信公众平台开发,模板消息,网页授权,微信JS-SDK,二维码生成(4)
微信公众平台开发,模板消息,什么是模板消息,模板消息接口指的是向用户发送重要的服务通知,只能用于符合场景的要求中去,如信用卡刷卡通知,购物成功通知等等.不支持广告营销,打扰用户的消息,模板消息类有固定 ...
- 微信公众平台开发,图文回复、access_token生成调用、以及微信SDK的实现(2)
上一节课,我给大家分享了微信API接入以及事件推送的回复,这是微信开发的第二节课,重点给说一说单图文回复,多图文回复,access_token,微信SDK. 公众号消息回复很多种形式,常见的形式有,文 ...
- *** wechat-php-sdk 微信公众平台php开发包
wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用,欢迎Fork此项目weixin developer SDK. 项目地址:https://github.com/d ...
随机推荐
- Zookeeper API for JAVA实战与应用
package com.zookeeper.watcher; import java.util.List; import java.util.concurrent.CountDownLatch; im ...
- 未找到与约束 ContractName Microsoft.VisualStudio.Text.ITextBufferFactoryService RequiredTypeIdentity Microsoft.VisualStudio.Text.ITextBufferFactoryService
问题:vs2013在装了 之后,重启,打开VS提示: 未找到与约束 ContractName Microsoft.VisualStudio.Text.ITextBufferFactoryService ...
- .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]
注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释 以//开头,后面的就是注释内容 ...
- Linux下安装Java环境配置步骤详述
0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对 ...
- ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法
ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法 (2016-10-21 16:49:53) 今天在做一个查询的时候,报了一个"ORA-01652无法通过 ...
- MongoDB 安装和可视化工具
MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,博主选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在Win ...
- SSISDB1:使用SSISDB管理SSIS Projects
使用Project Deployment Model,将SSIS Project部署到Integration Services Catalog之后,SSISDB负责管理SSIS Project.在SS ...
- SQL Server 解读【已分区索引的特殊指导原则】(1)- 索引对齐
一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...
- 解密jQuery内核 DOM操作的核心函数domManip
domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...
- js 根据屏幕大小调用不同的css文件
原因:屏幕大小不一样,网站看起来总觉得怪怪的,所以,针对不同大小的屏幕,写了不同的css,写完了,要解决的问题就是:怎么根据屏幕的大小来引用不同的CSS,下面就是解决方法了. 解决方法:首先,在hea ...