您的位置:首页 > 运维架构 > 网站架构

毕业设计-微信公众平台开发与设计(三:网站)

2015-02-06 21:39 246 查看
网站为 java web类型,在My Eclipse中完成。

微信类代码可在我网盘下载:http://yun.baidu.com/share/link?shareid=4115214330&uk=1662955403

网站的类包结构如图:



其中核心——微信公众账号“反应”直接代码在CoreServlet类中,
public static String processRequest(HttpServletRequest request){
//XML格式的数据
String respXml=null;

try{
//调用parseXml方法解析请求消息
Map<String,String> requestMap=MessageUtil.parseXml(request);
//发送方账号
String fromUserName=requestMap.get("FromUserName");
//开发者微信号
String toUserName=requestMap.get("ToUserName");
//消息类型
String msgType=requestMap.get("MsgType");

//回复文本消息
TextMessage textMessage=new TextMessage();
textMessage.setToUserName(fromUserName);
textMessage.setFromUserName(toUserName);
textMessage.setCreateTime(new Date().getTime());
textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);

//事件推送
if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)){
//事件类型
String eventType=requestMap.get("Event");
//关注
if(eventType.equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)){
textMessage.setContent("欢迎关注河南大学人民武装学院微信公众平台!");
respXml = MessageUtil.messageToXml(textMessage);
}
//取消关注
else if(msgType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)){
// 取消订阅后,用户不会再收到公众账号发送的消息,因此不需要回复
}

//自定义菜单点击事件
else if(eventType.equals(MessageUtil.EVENT_TYPE_CLICK)){
// 事件KEY值,与创建菜单时的key值对应
String eventKey = requestMap.get("EventKey");
// 根据key值判断用户点击的按钮
if (eventKey.equals("jianjie")) {
Article article = new Article();
article.setTitle("学院简介");
article.setDescription("河南大学人民武装学院,是河南省军区与河南大学联合创办,我省唯一的人民武装类高等院校,其前身为河南省人民武装干部学校。");
article.setPicUrl("http://henurenwu.duapp.com/image/xueyuan.jpg"); // 学院简介图片地址 640*320
article.setUrl("http://henurenwu.duapp.com/xueyuan_jianjie.jsp");// 学院简介网址
List<Article> articleList = new ArrayList<Article>();
articleList.add(article);
// 创建图文消息
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respXml = MessageUtil.messageToXml(newsMessage);
}else if (eventKey.equals("gonggao")) {
textMessage.setContent("最新通告:\n\n恭喜我校本年度有xx名同学考取研究生!\n\nhttp://henurenwu.duapp.com/xueyuan_gonggao/gonggao_yanjiusheng.jsp");// 研究生新闻跳转页
respXml = MessageUtil.messageToXml(textMessage);
}
else if(eventKey.equals("zhaopin")) {
textMessage.setContent("点击查看最新招聘信息:\n\nhttp://henurenwu.duapp.com/zhaopin.jsp");// 招聘信息地址
}
}
}
// 当用户发消息时
else {
textMessage.setContent("请通过菜单获取自己需要的信息");
respXml = MessageUtil.messageToXml(textMessage);
}
}catch (Exception e) {
e.printStackTrace();
}
return respXml;
}
}
问题:

在这一部分,能遇到的都是java web网站建设方面的问题了,当时在做时遇到第一个“大”问题是这个

jsp页面调用Servlet后进入Servlet页面空白不跳转了?大家可以看下,涉及到数据库查询结果在新页面输出的问题。

其它也没有太大的问题,视个人情况而定啦,大家有问题可以给我发邮件lifan.25@qq.com。喜欢微信公众平台开发的一起进步,一起加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: