`
knight_black_bob
  • 浏览: 818758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nutz servlet添加 并 获取service

阅读更多

 

web.xml

 <servlet>
  	<servlet-name>weichatServlet</servlet-name>
  	<servlet-class>cn.hy.weixin.controller.WeichatServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>weichatServlet</servlet-name> 
  	<url-pattern>/weichat.do</url-pattern>
  </servlet-mapping>

 

 

servlet

package cn.hy.weixin.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.mvc.Mvcs;

import cn.hy.activity.data.Activity;
import cn.hy.activity.service.ActivityService;
import cn.hy.weixin.entity.AccessToken;
import cn.hy.weixin.util.AccessTokenUtil;
import cn.hy.weixin.util.CheckUtil;
import cn.hy.weixin.util.MessageUtil;
import net.sf.json.JSONObject;

 
public class WeichatServlet extends HttpServlet{

	 
	private static final long serialVersionUID = 3264201758083219979L;
 
		public 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");
			System.out.println("signature="+signature);
			System.out.println("timestamp="+timestamp);
			System.out.println("nonce"+nonce);
			
			PrintWriter out = response.getWriter();
			if(CheckUtil.checkSignature(signature, timestamp, nonce)){
				out.print(echostr);
			}
		} 
		
	   
		public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
			request.setCharacterEncoding("UTF-8");
			response.setCharacterEncoding("UTF-8");
			PrintWriter out = response.getWriter();
			try {
				
				Map<String,String> map = MessageUtil.xmlToMap(request);
				String toUserName = map.get("ToUserName");
				String fromUserName = map.get("FromUserName");
				String msgType = map.get("MsgType");
				String content = map.get("Content");
				for(String str : map.keySet()) {
					System.out.println("key..." + str + "  " + map.get(str));
				}
				String message = null;
				if(MessageUtil.MESSAGE_EVENT.equals(msgType)){
					String eventType = map.get("Event");
					System.out.println("msgType" +msgType);
					System.out.println("scene_id = " + map.get("EventKey"));//获取二维码自定义参数
					if(MessageUtil.MESSAGE_EVENT_SUBSCRIBE.equals(eventType)){//关注事件
						//创建自定义菜单
						AccessToken token = AccessTokenUtil.getAccessToken();
						String menu = JSONObject.fromObject(MessageUtil.initMenu()).toString();
						int result = MessageUtil.createMenu(token.getToken(), menu);
					    System.out.println("-------------------------------------");
						  System.out.println(token.getToken());
						  System.out.println(menu +"\r\n"+menu.getBytes().length);
						  System.out.println("--crate menu--"+result +"--------------");
						  System.out.println("-------------------------------------");	
						int activityId =0;
					   String sceneId = map.get("EventKey");
					  if(sceneId != null && sceneId !=""){
						try{
						 activityId =Integer.parseInt(sceneId.split("_")[1]);
						}catch(Exception e){
							activityId =0;
						}
					  }
					if(activityId == 0 ){
							message = MessageUtil.initText(toUserName, fromUserName, MessageUtil.initMenuMsaage());
						}else{
							ActivityService activityService = (ActivityService) Mvcs.ctx().getDefaultIoc().get(ActivityService.class);
						   System.out.println("activityService"+activityService);
							Activity activity = activityService.getActivityDetail(activityId);
							StringBuffer sb =new StringBuffer();
							sb.append("名称:  "+ activity.getName()+"\n\n");
							sb.append("活动代码:  "+ activity.getCode()+"\n\n");
							message = MessageUtil.initText(toUserName, fromUserName, MessageUtil.initMenuMsaage(sb));
						}
					}
					 if(MessageUtil.MESSAGE_EVENT_UNSUBSCRIBE.equals(eventType)){//取消关注
						//todo
					}
					 if(MessageUtil.MESSAGE_EVENT_VIEW.equals(eventType)) {
						System.out.println("here...." + eventType);
						
					}
				} else if(MessageUtil.MESSAGE_TEXT.equals(msgType)){
					if(content.equals("1")){
						System.out.println("toUserName------------------------" +toUserName);
						message = MessageUtil.initText(toUserName, fromUserName, MessageUtil.fristKey());
						System.out.println("message------------------------" +message);
					}else if(content.equals("2")){
						System.out.println("toUserName------------------------" +toUserName);
						message = MessageUtil.initText(toUserName, fromUserName, MessageUtil.secKey());
						
					}else if(content.equals("3")){
						System.out.println("toUserName------------------------" +toUserName);
						message = MessageUtil.initNews(toUserName, fromUserName);
					}else if(content.equals("?") || content.equals("?")){
						message = MessageUtil.initText(toUserName, fromUserName, MessageUtil.initMenuMsaage());
					}
				}
				out.print(message);
				
			} catch (Exception e) {
				e.printStackTrace();
			}finally{
				out.close();
			}
			
		}
	
}

 

service 获取

ActivityService activityService = (ActivityService) Mvcs.ctx().getDefaultIoc().get(ActivityService.class);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

2
2
分享到:
评论

相关推荐

    nutz 使用手册 nutz-1.a.33-manual.pdf

    nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册

    nutz下的junit所需包

    用于部署nutz下的junit测试工具,需要jetty-all这个jar包和servlet-api2.5

    nutz邮箱验证jar包

    用于nutz邮箱验证jar包

    nutz生成javabean工具.zip

    nutz生成javabean工具.zip

    nutz代码生成器

    可连接多种数据库根据表直接生成nutz所需的bean

    nutz框架使用手册.zip

    nutz框架使用手册,从零到有深入学习nutz平台开发

    nutz插件 定位页面路径

    可以快速定位路径 页面 本jar包是nutz实用插件 希望大家多多下载

    nutz-1.r.58

    nutz框架jar包

    Nutz框架文档

    对于 Java 程序员来说,除 SSH 之外,可能还有另外一个选择: Nutz 当然,它是开源的,并且是完全免费的。 同传统的 SSH 相比,它具备如下特点: 轻 -- 当前最新版,整个 jar 文件共 820k 薄 -- 针对 JDBC 的薄封装...

    nutz框架开发手册

    nutz框架开发手册,框架很方便使用的,和大家分享

    nutz_redis集成依赖包

    在做nutz redis集成的实时,由于依赖包的问题被坑了一把,为了后人不要走同样的路,把所有依赖包放在上面了。

    nutz-1.b.52.zip

    Nutz, 它是一组轻便小型的框架的集合。 -------------Nutz 可以做什么? Dao -- 针对 JDBC 的薄封装,事务模板,无缓存 Ioc -- JSON 风格的配置文件,声明时切片支持 Mvc -- 注解风格的配置,内置多文件上传功能 ...

    nutz的freemarker视图插件

    让nutz支持freemarker。 具体使用和在struts2中使用是一样的

    nutz搭建的MVC框架

    用开源框架nutz搭建的MVC框架,适合小型系统的开发,快捷方便!

    nutz-1.r.61-发布包

    nutz-1.r.61-发布包

    Nutz-1.b.38

    Spring 里采用 Nutz.Dao ,又比如在 Nutz.Ioc 里使用 Hibernate 等整 -- 它所有功能均不依赖第三方 jar 文件。这就意味着:如果一个 Web 应用,你在 WEB-INF/lib 下只 需要放置一个 nutz.jar 就够了当然你要使用其它...

    nutz-1.r.60.jar

    nutz-1.r.60.jar

    nutz jar包

    nutz jar包

    SpringMVC+Nutz框架介绍.pdf

    SpringMVC+Nutz框架介绍.pdf

Global site tag (gtag.js) - Google Analytics