openfire开发(三)自定义servlet无法访问的问题

大家好,我是LD,今天介绍的是:如何解决在openfire里面,自定义servlet无法访问的问题.这里我使用的openfire版本是3.9.3。

由于openfire里面有一个AuthCheckFilter,这个过滤器用于防止用户在没登录的情况下访问页面。因此我们的servlet在不登录openfire系统的情况是无法访问的,这里我们需要使用AuthCheckFilter.addExclude中将我们的sevlet访问路径加入到拦截排除中去。(注意:在web-custom.xml中,配置servlet访问路径只能用小写,这是openfire的BUG,不然还是会导致你的servlet不能访问)

上一步完成之后,访问servlet的仍会爆空指针错误。这里是由于openfire对页面进行了一个装饰,在没登录的情况下,装饰页面里面的代码就会报错,所以还需要在

plugins\admin\webapp\WEB-INF\decorators.xml文件中将你的servlet地址加到装饰排除项中。

时间: 2024-10-10 14:37:17

openfire开发(三)自定义servlet无法访问的问题的相关文章

[转载]开发 Spring 自定义视图和视图解析器

原文出处 http://www.ibm.com/developerworks/cn/java/j-lo-springview/ 概述 Spring 3.0 默认包含了多种视图和视图解析器,比如 JSP.Velocity 视图等,但在某些情况下,我们需要开发自定义的视图及其解析器,以便显示特殊文件格式的视图,我们也可以使用自定义视图及解析器,针对特定的视图做相应的处理.本文将通过一个示例来介绍如何开发 Spring 自定义视图和视图解析器,来显示后缀名为 SWF 的视图,并提供一个简单的注册机制,

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

iOS开发之自定义表情键盘(组件封装与自动布局)

下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘的.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看

基于Spring MVC的Web应用开发(三) - Resources

基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的web.xml配置的DispatcherServlet对应的url-pattern为"/",即所有的URL请求都会经过 Spring MVC的处理.实际的Web项目有大量的资源文件,如javascript文件,css文件,png,jpg等图片文件,甚至是Flash等等,我们没有 必要对这些静态

openfire开发(四)消息拦截器

大家好,我是LD,今天给大家介绍openfire的消息拦截器.通常,我们在开发插件的过程中会有一种需求,需要对客户端发送的消息来做一些我们自己的处理,比如保存数据等等.这里我们就会使用到拦截器, 在openfire中,自定义拦截器需要实现PacketInterceptor接口.下面我们写一个简单的拦截器来介绍一下. import org.jivesoftware.openfire.interceptor.PacketInterceptor; import org.jivesoftware.ope

Java微信公众平台开发模式+自定义按钮源码

首先,想用开放模式需要先成为开发者.成为开发者有两种写法. 一是:通过jsp页面,用out.print("echostr")//SHA1加密的字符串: 二是:通过Servlet.doGet返回exhostr,给微信平台. 这里我只写第二种方式的请求(这里的请求是以get方式请求),代码如下: import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.ut

【WP 8.1开发】自定义(RAW)通知的使用

继续前面的话题,还是推送通知.上一篇文章中遗留了RAW通知的推送没有给各位演示,特特地留到现在,不为别的,只为这个RAW通知有点意思,玩起来会比较有意思.官方文档将RAW通知译为“原始通知”,这里还是沿用官方的翻译. 在开始吹牛之前,先说一说与推送通知相关的要点. 有人说,如果我有22222222个客户端,岂不是都要获取每个手机客户端的通道URL来推送吗?是的.于是有人想到了所谓的“极光推送”,忽悠人的,“极光”显然偷换了概念.我们得明确,在什么情况下才会考虑使用推送. 推送好比服务器与手机客户

Qt计算器开发(三):运行效果及项目总结

运行效果 工程目录 Counter |--- Counter.pro |--- 头文件 |      |--- aboutdialog.h |      `--- mainwindow.h |--- 源文件 |      |--- aboutdialog.cpp |      |--- main.cpp |      `--- mainwindow.cpp `--- UI文件 |--- aboutdialog.ui `--- mainwindow.ui 总结 项目 这个工程的Ui部分我是直接使用

GitHub 多人协作开发 三种方式:

GitHub 多人协作开发 三种方式: 一.Fork 方式 网上介绍比较多的方式(比较大型的开源项目,比如cocos2d-x) 开发者 fork 自己生成一个独立的分支,跟主分支完全独立,pull代码后,项目维护者可根据代码质量决定是否merge代码 此方式网上方法比较多,这里不详细描述 二.组织 组织的所有者可以针对不同的代码仓库建立不同访问权限的团队. Accounts Settings => Organizations =>Create new Organizations 新建一个组织