登录
首页 » Java » CDATASection

CDATASection

于 2013-10-21 发布 文件大小:1KB
0 199
下载积分: 1 下载次数: 9

代码说明:

  CDATA sections are used to escape blocks of text containing characters that would otherwise be regarded as markup for Andriod.

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • java版中文分词
    mmseg中文分词工具,它可以帮助我们对自己收集到的文本进行分类,目前这是比较评价较好的分词工具,集成度较高。
    2023-04-14 01:55:04下载
    积分:1
  • 基于乙/秒的聊天室
    应用背景基于B/S的聊天室,支持多人在线聊天,支持创建聊天室,加入聊天室,并在聊天室中私聊和群聊关键技术基于B/S的聊天室,使用技术后天使用Java Servlet,技术开发,前端使用到、、HTML5 JavaScript CSS,
    2023-07-20 08:30:04下载
    积分:1
  • 微信公众平台开发模式(JAVA) SDK/微信app
    【核心代码】package com.gson;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.Properties;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletInputStream;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.gson.bean.Articles;import com.gson.bean.InMessage;import com.gson.bean.OutMessage;import com.gson.bean.TextOutMessage;import com.gson.inf.MessageProcessingHandler;import com.gson.util.Tools;import com.gson.util.XStreamFactory;import com.thoughtworks.xstream.XStream;/** * 请求拦截 * * @author GodSon * */public class WeChatFilter implements Filter { private final Logger logger = Logger.getLogger(WeChatFilter.class); private String _token; private String conf = "classPath:wechat.properties"; private String defaultHandler = "com.gson.inf.DefaultMessageProcessingHandlerImpl"; private Properties p; @Override public void destroy() { logger.info("WeChatFilter已经销毁"); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; Boolean isGet = request.getMethod().equals("GET"); String path = request.getServletPath(); String pathInfo = path.substring(path.lastIndexOf("/")); if (pathInfo == null) { response.getWriter().write("error"); } else { _token = pathInfo.substring(1); if (isGet) { doGet(request, response); } else { doPost(request, response); } } } private void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/xml"); OutMessage oms = new OutMessage(); ServletInputStream in = request.getInputStream(); // 转换微信post过来的xml内容 XStream xs = XStreamFactory.init(false); xs.alias("xml", InMessage.class); String xmlMsg = Tools.inputStream2String(in); logger.debug("输入消息:[" xmlMsg "]"); InMessage msg = (InMessage) xs.fromXML(xmlMsg); // 获取自定消息处理器,如果自定义处理器则使用默认处理器。 String handler = p.getProperty("MessageProcessingHandlerImpl"); if (handler == null) handler = defaultHandler; try { // 加载处理器 Class clazz = Class.forName(handler); MessageProcessingHandler processingHandler = (MessageProcessingHandler) clazz.newInstance(); // 取得消息类型 String type = msg.getMsgType(); Method mt = clazz.getMethod(type "TypeMsg", InMessage.class); oms = (OutMessage) mt.invoke(processingHandler, msg); if (oms == null) { oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); } setMsgInfo(oms,msg); } catch (Exception e) { logger.error(e); oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); try { setMsgInfo(oms,msg); } catch (Exception e1) { logger.error(e); } } // 把发送发送对象转换为xml输出 xs = XStreamFactory.init(true); xs.alias("xml", oms.getClass()); xs.alias("item", Articles.class); String xml = xs.toXML(oms); logger.debug("输出消息:[" xml "]"); response.getWriter().write(xml); } private void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { String signature = request.getParameter("signature");// 微信加密签名 String timestamp = request.getParameter("timestamp");// 时间戳 String nonce = request.getParameter("nonce");// 随机数 String echostr = request.getParameter("echostr");// // 验证 if (Tools.checkSignature(_token, signature, timestamp, nonce)) { response.getWriter().write(echostr); } } private void setMsgInfo(OutMessage oms,InMessage msg) throws Exception { // 设置发送信息 Class outMsg = oms.getClass().getSuperclass(); Field CreateTime = outMsg.getDeclaredField("CreateTime"); Field ToUserName = outMsg.getDeclaredField("ToUserName"); Field FromUserName = outMsg.getDeclaredField("FromUserName"); ToUserName.setAccessible(true); CreateTime.setAccessible(true); FromUserName.setAccessible(true); CreateTime.set(oms, new Date().getTime()); ToUserName.set(oms, msg.getFromUserName()); FromUserName.set(oms, msg.getToUserName()); } /** * 启动的时候加载wechat.properties配置 可以在过滤器配置wechat.properties路径 */ @Override public void init(FilterConfig config) throws ServletException { String cf = config.getInitParameter("conf"); if (cf != null) { conf = cf; } String classPath = this.getClass().getResource("/").getPath().replaceAll("%20", " "); conf = conf.replace("classPath:", classPath); p = new Properties(); File pfile = new File(conf); if (pfile.exists()) { try { p.load(new FileInputStream(pfile)); } catch (FileNotFoundException e) { logger.error("未找到wechat.properties", e); } catch (IOException e) { logger.error("wechat.properties读取异常", e); } } logger.info("WeChatFilter已经启动!"); }}
    2014-01-21下载
    积分:1
  • 使用 springldap 分页获取 AD 大量数据
    使用 jdk 原有的 ldap api 从 AD 获取数据时,如果客户对 AD 做了限制,麻烦就很大,此时,要求客户修改配置,必然不合理,因此,花了一周的时间,研究了springldap,它有个 分页功能,测试了下,从AD 上分页获取大约 5w 条数据,用时10s左右,可以使用下哦
    2022-02-11 18:49:30下载
    积分:1
  • 网吧计费系统
    1、 使用JDBC操作sqlserver2005数据库2、 常用数据库操作对象的使用3、 ArrayList和Vector的使用4、 加深对集合框架的理解5、 swing的使用飞速网吧需要一个简易的网吧计费系统,要求上网人输入卡号和密码上机,卡号或密码不正确,不能上机,卡余额不足不能上机;正在使用的机器不能被再使用;上机需要记录卡号、机器号、上机时间;下机时需要记录下机时间、发生费用和自动从卡里扣款,该机器能再被使用;下机时,需要向用户显示本次上机的详细信息
    2022-02-01 22:56:34下载
    积分:1
  • Monkey
    android上的MONKEY测试的使用方法(android the MONKEY test on the use of)
    2012-05-28 23:48:36下载
    积分:1
  • 第一行代码Android 第2版
    安卓开发入门书籍,适合新手阅读,并含许多实例供读者参考学习(Android development introductory books, suitable for beginners to read, and contains many examples for readers to learn from.)
    2018-05-17 21:02:54下载
    积分:1
  • android常用操作:sdcard的读取和写入 实例 附完整源码
      首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置:  在AndroidManifest.xml中加入访问SDCard的权限如下:                  接着我们在使用SDcard进行读写的时候 会用到Environment类下面的几个静态方法     1: getDataDirectory()  获取到Androi中的data数据目录    2:getDownloadCacheDirectory()  获取到下载的缓存目录    3:getExternalStorageDirectory()  获取到外部存储的目录 一般指SDcard    4:getExternalStorageState() 获取外部设置的当前状态 一般指SDcard,          android系统中对于外部设置的状态,我们比较常用的应该是 MEDIA_MOUNTED(SDcard存在并且可以进行读写)  MEDIA_MOUNTED_READ_ONLY (SDcard存在,只可以进行读操作)  当然还有其他的一些状态,可以在文档中进行查找到     5:getRootDirectory()  获取到Android Root路径    6:isExternalStorageEmulated() 返回Boolean值判断外部设置是否有效    7:isExternalStorageRemovable()  返回Boolean值,判断外部设置是否可以移除  
    2013-05-27下载
    积分:1
  • 学生成绩管理系统
    资源描述学生成绩管理,学生成绩打印,学生成绩输出学生成绩输入,学生成绩修改,学生成绩删除,学生成绩按班级打印。。。。
    2022-04-08 07:17:43下载
    积分:1
  • jiqingtaiqiu
    ANDROID系统3D游戏开发源程序,桌面类游戏《激情台球》(ANDROID system 3D game development source, desktop games " passion for billiards)
    2012-07-06 15:41:59下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载