导航:首页 > APP软件 > 微信公众平台开发java例子

微信公众平台开发java例子

发布时间:2025-07-23 03:53:16

1. 如何用java给指定的微信用户推送消息,每天早上十点推送一条消息。麻烦说的仔细一点,最好能给出实例谢谢

  1. 首先有自己的web服务器,申请域名。

  2. 申请微信公众平台的开发者资格,申请一个公众号。
  3. 在自己的服务器端开发定时任务程序,程序主要流程是两部,一:按公众平台的认证接口获取公众号认证(获取令牌),二:调用公众平台消息推送接口(RESTful风格的接口)

    总之需要研究微信公众平台的接口说明。

  4. http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97

2. 微信公众平台Java开发如何让网页自适应不同分辨率的手机浏

使用HTML中的viewport来实现
viewport语法如下:

HTML代码
<!--在html代码的<head>...</head>中嵌入下面代码-->
<metaname="viewport"
content="
height=[pixel_value|device-height],
width=[pixel_value|device-width],
initial-scale=0.5,
minimum-scale=float_value,
maximum-scale=float_value,
user-scalable=[yes|no],
"

/>


width
控制viewport的大小,可以指定的一个值或者特殊的值,如device-width为设备的宽度(单位为缩放为100%时的CSS的像素)。
height
和width相对应,指定高度。
initial-scale
初始缩放。即页面初始缩放程度。这是一个浮点值,是页面大小的一个乘数。例如,如果你设置初始缩放为“1.0”,那么,web页面在展现的时候就会以targetdensity分辨率的1:1来展现。如果你设置为“2.0”,那么这个页面就会放大为2倍。
maximum-scale
最大缩放。即允许的最大缩放程度。这也是一个浮点值,用以指出页面大小与屏幕大小相比的最大乘数。例如,如果你将这个值设置为“2.0”,那么这个页面与targetsize相比,最多能放大2倍。
user-scalable
用户调整缩放。即用户是否能改变页面缩放程度。如果设置为yes则是允许用户对其进行改变,反之为no。默认值是yes。如果你将其设置为no,那么minimum-scale和maximum-scale都将被忽略,因为根本不可能缩放。

3. 使用Java开发微信公众平台(二)——消息的接收与响应

本篇文章旨在深入讲解如何使用Java语言开发微信公众平台,特别是消息的接收与响应。在上一篇文章中,我们已学习了环境搭建与开发接入的基础知识。那么,本文将带您深入了解如何接收和响应消息。

在微信的开发者文档中,可以找到关于消息接收与响应的具体信息。点击“消息管理”下的“接受普通消息”,您将学习到普通文本消息的接收与响应方法。微信会以XML格式发送消息,并在接收到消息后向开发者服务器发送Post请求。

值得注意的是,微信服务器在五秒内收不到响应会断开连接,并尝试重试三次,因此在开发过程中要确保服务器能够及时处理并回复请求。如果无法保证五秒内处理并回复,可以简单回复空字符串,微信服务器对此不做任何处理,并不会发起重试。

接下来,我们将通过创建文本消息的实例,来展示如何实现消息接收与响应。首先,打开上次编写的Servlet,即处理微信请求的Servlet。在Post方法中,接收微信发送的XML内容。为了方便数据处理,可以新建两个方法,将XML数据类型转化为集合类型(如Map),反之,将对象类型转化为XML字符串。

在这一部分,我们将使用dom4j和xstream库来完成XML转换。首先,需要在Util包下创建一个Message工具类。这里,我们将创建一个方法,将接收到的XML格式转化为Map格式,借助dom4j库来实现此功能。随后,创建另一个方法,将消息对象转换为XML字符串,利用xstream库来实现。

完成XML转换方法后,回到Servlet中,实现消息接收与响应的功能。通过doPost方法,处理接收到的XML请求,并将请求内容转换为Map对象。从Map中获取相关参数,如接收用户、发送用户、消息类型、内容等。对于文本消息,可以创建一个TestMessage实体类,封装消息信息,并编写方法将其转换为XML格式返回给微信公众平台。

至此,您已成功实现文本消息的接收与响应。运行效果如下:用户发送任意内容,将收到各种回复信息。

为了方便读者参考,以下是相关代码片段。请确保将相关库正确导入,并根据需求调整代码以适应您的项目。

Servlet中的doPost方法
java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String str = null;
try {
Map map = MessageUtil.xmlToMap(request);
String ToUserName = map.get("ToUserName");
String FromUserName = map.get("FromUserName");
String CreateTime = map.get("CreateTime");
String MsgType = map.get("MsgType");
String Content = map.get("Content");
String MsgId = map.get("MsgId");

if (MsgType.equals("text")) {
TestMessage message = new TestMessage();
message.setToUserName(FromUserName);
message.setFromUserName(ToUserName);
message.setMsgType("text");
message.setCreateTime(new Date().getTime());
message.setContent("您好," + FromUserName + "\n我是:" + ToUserName + "\n您发送的消息类型为:" + MsgType + "\n您发送的时间为:" + CreateTime + "\n我回复的时间为:" + message.getCreateTime() + "\n您发送的内容是:" + Content);
str = MessageUtil.objectToXml(message);
}
out.println(str);
} catch (Exception e) {
e.printStackTrace();
}
}

Message处理工具类
java
public class MessageUtil {
public static Map xmlToMap(HttpServletRequest request) throws IOException, DocumentException {
Map map = new HashMap>();
SAXReader reader = new SAXReader();
InputStream is = request.getInputStream();
Document doc = reader.read(is);
Element root = doc.getRootElement();
List list = root.elements();
for (Element e : list) {
map.put(e.getName(), e.getText());
}
is.close();
return map;
}

public static String objectToXml(TestMessage message) {
XStream xs = new XStream();
xs.alias("xml", message.getClass());
return xs.toXML(message);
}
}

TestMessage实体类
java
public class TestMessage {
private String ToUserName;
private String FromUserName;
private Long CreateTime;
private String MsgType;
private String Content;
private String MsgId;

// Getters and Setters
}

请确保在实际应用中调整代码以适应您的项目需求,并参考微信开发者文档获取更多详细信息。如有任何疑问或需要帮助,请随时联系我们。

阅读全文

与微信公众平台开发java例子相关的资料

热点内容
oa会收集哪些研发过程数据 浏览:233
app有什么找房 浏览:857
vbe格式文件是什么 浏览:366
fm351怎么编程 浏览:515
国行苹果5s支持移动联通双4g 浏览:947
pom文件怎么写 浏览:234
卫导移动站数据会出现什么问题 浏览:504
微信朋友圈晒孩子的怎么想的 浏览:633
young网络客户端wifi 浏览:724
文件被使用但是找不到 浏览:593
坂田怎么找网站设计 浏览:797
windows10内核版本 浏览:293
马上学车app教练端怎么注册 浏览:630
文件存在电脑的桌面容易丢失吗 浏览:486
哪些函数的数据区域要绝对引用 浏览:370
手机怎么扫描文件发送到电脑 浏览:464
emui40主题修改教程 浏览:585
app引流方法有哪些优缺点 浏览:944
文件中的选项卡找不到了怎么办 浏览:705
pdf文件编辑没水印 浏览:120

友情链接