`
knight_black_bob
  • 浏览: 857907 次
  • 性别: 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_redis集成依赖包

    在开发Java应用时,Nutz Redis模块是一个非常实用的工具,它使得我们能够方便地将Nutz框架与Redis键值存储系统相结合。本篇文章将详细阐述Nutz Redis集成过程中的关键知识点,以及如何避免因依赖包问题导致的困扰。 ...

    nutz需要的jar包

    `nutz-mvc`包括了`nutz-web`和`nutz-wk`,前者处理Web相关的功能,后者是Nutz的Web容器,提供了Servlet的替代方案,使得开发者可以脱离传统的Servlet容器运行Nutz应用。 在进行Web开发时,我们还需要`nutz-plugin-...

    Nutz+ExtJS示例教程——后台Service实现

    **Nutz+ExtJS示例教程...这个示例教程旨在帮助开发者理解如何在Nutz后端构建Service,并与ExtJS前端进行交互,实现数据的动态展示。通过实践,你可以掌握这两种技术的结合使用,从而提升Web应用的开发效率和用户体验。

    nutz搭建的MVC框架

    本篇文章将详细介绍如何利用Nutz搭建MVC框架,并探讨其在实际开发中的优势。 **一、Nutz MVC框架介绍** Nutz MVC是Nutz框架的一部分,它基于Servlet容器运行,通过注解驱动,简化了Java Web应用的开发流程。Nutz ...

    nutz初使用之MVC HelloWorld (netbeans jsp版)

    接着,我们需要下载并添加Nutz框架到我们的项目中。Nutz的MVC模块提供了一种简单的方式来组织和管理Web应用的各个部分。 1. **创建新项目** - 在NetBeans中,选择“文件”-&gt;“新建项目”,然后在“Java Web”类别...

    nutz 文件上传例子

    接着,我们需要配置 `nutz-plugin-multiupload` 插件,这可能涉及到在 `conf/nutz.conf` 文件中添加相应的配置项,例如设置临时文件路径、最大文件大小等参数。 在代码实现上,Nutz 提供了 `org.nutz....

    nutz生成javabean工具.zip

    总的来说,"nutz生成javabean工具.zip"中的Nutz Codematic是一个强大的辅助开发工具,能够帮助Java开发者快速生成符合规范的JavaBean,提高工作效率,并与Nutz框架的其他部分紧密结合,促进项目的顺利进行。...

    nutz代码生成器

    【Nutz代码生成器】是基于Nutz框架开发的一款实用工具,主要用于自动化生成Action和实体类代码,极大地提高了开发效率,降低了手动编写这些基础代码的工作量。Nutz是一款轻量级、高性能的Java开发框架,它集合了ORM...

    nutz框架使用手册.zip

    8. **社区与版本更新**:Nutz框架拥有活跃的社区,开发者可以在其中获取最新的框架资讯、参与讨论和寻求帮助。手册也会提醒读者关注Nutz框架的版本更新,以利用新功能和改进。 总的来说,"nutz框架使用手册"是学习...

    nutz学习资料2

    标题“nutz学习资料2”表明这是一份关于Nutz框架的学习资源集合,Nutz是一个基于Java的轻量级框架,旨在提供全面的MVC支持和企业级开发工具。通过这个压缩包,我们可以期待深入理解Nutz框架的核心特性和使用方法。 ...

    nutz的freemarker视图插件

    - 在Nutz项目中添加`nutz-freemarker-plugin.jar`库,配置Nutz的MVC模块,指定视图解析器为Freemarker。 - 配置Freemarker的配置文件(如`freemarker.properties`),设置模板路径、缓存策略等。 2. **模板解析**...

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

    - **社区参与**:鼓励用户提交问题报告并参与到项目的贡献中来,共同促进 Nutz 的发展和完善。 #### 五、Nutz 的未来发展 - **持续演进**:作为一个新兴开源项目,Nutz 致力于不断改进和发展,未来将继续致力于...

    nutz-1.r.61-发布包

    在开发项目时,将此jar文件添加到项目的类路径中,就可以使用Nutz提供的各种服务和功能。 4. **Nutz-1.r.61-sources.jar** 这个文件提供了Nutz 1.r.61版本的源代码,对于开发者来说,这是一个宝贵的资源,可以深入...

    nutz-1.r.58

    通过这个Javadoc,开发者可以快速查找并了解Nutz框架中的各个类和方法,从而更好地进行代码编写。 2. `nutz-1.r.58.jar`:这是Nutz框架的核心库文件,包含了框架的所有功能模块。将此jar包添加到项目的类路径中,...

    ztree与nutz简单使用

    《ztree与nutz在实际应用中的简单使用详解》 在IT行业中,高效地管理和操作数据是至关重要的。zTree和Nutz都是在这方面提供强大支持的工具。zTree是一款基于JavaScript的灵活、强大的树状菜单插件,而Nutz则是一个...

    nutz 缓存

    除了DAO层的缓存,Nutz还支持在服务层或业务逻辑层使用缓存,例如通过`CacheFactory`获取缓存实例,并进行手动的缓存操作。这种灵活性使得开发者可以根据业务场景选择最适合的缓存策略。 在标签中提到了"源码",...

    nutz框架开发手册

    - **发展方向**:作为一个新兴的开源项目,Nutz致力于不断优化和完善现有功能,并探索新的特性,以满足更多开发者的需求。 - **长期目标**:维持框架的轻量化和高性能,确保Nutz始终保持敏捷性,适应不断变化的技术...

    nutz应用示例

    Nutz是一个轻量级、高性能的Java开发框架,它提供了丰富的功能来支持Web应用程序的开发。这个名为"Nutz应用示例"的项目...开发者可以通过分析和运行这个项目,深入理解Nutz的工作原理,并提升自己的Java Web开发技能。

    nutz邮箱验证jar包

    综上所述,"nutz邮箱验证jar包"是一个集成在Nutz框架中的实用工具,它简化了Java应用中的电子邮件验证流程,提高了开发效率,并考虑到了安全性、可扩展性等多个方面。在实际项目中,开发者可以通过合理利用这个jar包...

Global site tag (gtag.js) - Google Analytics