
Java
文章平均质量分 80
天外非
这个作者很懒,什么都没留下…
展开
-
自动生成后端API在线文档, 不用Swagger啦
尽量把所有的注解写成和Swagger一样也便于切换,这只是一个简单的辅助性工具,对于大项目来说可能还不够,功能也比较单一重在实用,而且是完全自己原创,对于里面的逻辑清楚,之后的功能改进也比较容易。https。......原创 2022-07-25 15:19:14 · 1098 阅读 · 1 评论 -
Java和.NET使用DES对称加密的区别
Java和.NET的系统类库里都有封装DES对称加密的实现方式,但是对外暴露的接口却各不相同,甚至有时会让自己难以解决其中的问题,比如Java加密后的结果在.NET中解密不出来等,由于最近项目有跨Java和.NET的加解密,经过我的分析调试,终于让它们可以互相加密解密了。 DES加密 DES是一种对称加密(Data Encryption Standard)算法,以前我写过一篇文转载 2014-09-02 12:33:31 · 508 阅读 · 0 评论 -
ie中js中文乱码
第一种常见情况一般来说只要jsp,js文件编码格式一致就可以解决中文乱码的问题一直以来都是用utf-8的编码方式,包括jsp页面的pageEncoding如果还有乱码问题,需要考虑一下发布的web应用服务器是什么,我遇到的情况是在开发环境中文乱码,部署到测试机就没有中文乱码,经过反复测试发现其最大区别是开发环境是用jetty,测试机tomcat以此方原创 2015-04-03 15:06:59 · 1090 阅读 · 0 评论 -
spring security4 之 图片验证码
要实现验证码有多种方式处理,我还是认为覆写原来的用户密码的过滤器最为合理首先修改一定要删除 替换成 com.aolong.common.security.UsernamePasswordCaptchaAuthenticationFilter这就是重写的验证拦截器public class原创 2015-05-20 17:01:25 · 1731 阅读 · 1 评论 -
spring security4 之 csrf
spring security4增加了csrf, 而且默认是启用的,所以如果你是auto-config="true",那么就已经启用了csrf,在http节点中可以对其进行配置 所以意味着页面提交的信息中需要包含csrf的token, 如果是从spring security3签约过来很容易在这里被绊倒请求的验证匹配规则,官网是这样的The RequestMatcher inst原创 2015-05-20 16:24:40 · 3081 阅读 · 0 评论 -
spring security4 之 remember-me
简单的实现remember-mehttp节点中配置一个过滤器 验证管理器 。。。登录页面自定义过滤器实现remember-me 替换原来的 --> --> 还需要在验证管理器里增加remember-me验证器原创 2015-05-20 15:49:57 · 1355 阅读 · 0 评论 -
spring security4 之 简单配置
spring security4 配置, 与spring security3的一些区别原创 2015-05-20 15:11:40 · 3549 阅读 · 1 评论 -
spring security4 之 logout
如果没有启用remember-me,直接配置一个 ,如果启用了remember-me,发现无法真正退出,所有重新这个过滤器 JSESSIONID remember-me 完整源码原创 2015-05-20 17:07:45 · 1057 阅读 · 0 评论 -
spring security4 之 SSO
Spring security 集成单独登录常见的CAS, 这在后面的博客中再写,这里记录一下简单的单点登录的Client处理这里我们要用到PRE_AUTH_FILTER这个过滤器,扩展AbstractPreAuthenticatedProcessingFilter实现自己的登录验证;验证管理器要用到 PreAuthenticatedAuthenticationProvider上配置原创 2016-07-09 00:40:58 · 2417 阅读 · 0 评论 -
Spring security 4 之 SSO+Form两种登录方式
前一遍讲的是SSO的简单配置,项目中有时会用到SSO+LoginFrom 两种登录方式的情况,Spring security同样可以实现,在之前SSO的基础上加入FORM_LOGIN_FILTER过滤器即可上配置:原创 2016-07-09 00:59:35 · 4070 阅读 · 1 评论 -
Cas项目实践
Cas 实现单点登录的实际应用一、CAS版本 Cas Server 3.5.2 Cas Client 3.2.1二、Cas Server 部署 下载完整War包,可以直接部署到tomcat的webapps目录下,不做任何修改即刻成功,我部署的路径是 localhost:8080/casweb3.5.2 浏览器访问出现登录页原创 2014-01-09 13:25:32 · 1247 阅读 · 0 评论 -
Java调用DLL动态链接库的JNI方式详解
使用Java调用DLL动态链接库的方案通常有几种方式:JNI, JNative,Jawin, Jacob.其中 JNative,Jawin, 调用方式很简单,google一下即刻解决,但是这两种方式都已不支持64系统, 这给一些带来了障碍; Jacob是Java-Com Bridge的缩写,也可以用来调用DLL。其底层也是使用JNI实现,也具有Windows 的平台依赖性,但是要求dll是可注册的原创 2013-12-10 16:32:04 · 1383 阅读 · 0 评论 -
关于23种设计模式的有趣见解
原文出自:http://www.hudong.com/wiki/GoF?hf=youdaocitiao&pf=youdaocitiao作者以轻松的语言比喻了java的23种模式,有很好的启发作用。创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无转载 2011-01-24 11:44:00 · 559 阅读 · 0 评论 -
Axis Web Service开发之旅 (四) --复合类型数据的传递
在实际的应用中,不仅需要使用WebService来传递简单类型的数据,有时也需要传递更复杂的数据,这些数据可以被称为复合类型的数据。数组与类(接口)是比较常用的复合类型。在Axis2中可以直接使用将WebService方法的参数或返回值类型声明成数组或类(接口)。但要注意,在定义数组类型时只能使用一维数组,如果想传递多维数组,可以使用分隔符进行分隔,如下面的代码所示:String[] strA原创 2009-06-20 22:19:00 · 2021 阅读 · 0 评论 -
Axis Web Service开发之旅 (五) --二进制文件传输
如果要传递二进制文件(如图像、音频文件等),可以使用byte[]作为数据类型进行传递,然后客户端使用RPC方式进行调用。这样做只是其中的一种方法,除此之外,在客户端还可以使用wsdl2java命令生成相应的stub类来调用WebService,wsdl2java命令的用法详见《WebService大讲堂之Axis2(1):用POJO实现0配置的WebService》。 WebService类原创 2009-06-20 22:26:00 · 2445 阅读 · 0 评论 -
Axis Web Service开发之旅 (一)--配置发布
Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。 配置环境: axis2-1.5-bin.zip,axis2-1.5-war.zip,Tomcat5.5axi原创 2009-06-20 21:47:00 · 1790 阅读 · 0 评论 -
Axis Web Service开发之旅 (二) --利用services.xml发布
对于带有package的类发布就要复杂一些,需要配置services.xml,这种方法也是最常用的方式。Axis2也允许将带包的POJO类发布成Web Service。 先实现一个POJO类,代码如下: package service;public class MyService{ public String getGreeting(String name)原创 2009-06-20 22:00:00 · 2907 阅读 · 0 评论 -
Axis Web Service开发之旅 (三) --将Spring的装配JavaBean发布成WebService
在现今的Web应用中经常使用Spring框架来装载JavaBean。如果要想将某些在Spring中装配的JavaBean发布成WebService,使用Axis2的Spring感知功能是非常容易做到的。 在本文的例子中,除了安装目录>/webapps/axis2目录及该目录中的相关库外,还需要Spring框架中的spring.jar文件,将该文件复制到安装目录>/webapps/ax原创 2009-06-20 22:13:00 · 2113 阅读 · 1 评论 -
Axis Web Service开发之旅 (七) --跨服务会话(Session)管理
对于一个复杂的系统,不可能只有一个WebService服务,例如,至少会有一个管理用户的WebService(用户登录和注册)以及处理业务的WebService。象这种情况,就必须在多个WebService服务之间共享会话状态,也称为跨服务会话(Session)管理。实现跨服务会话管理与实现同一个服务的会话管理的步骤类似,但仍然有一些差别,实现跨服务会话管理的步骤如下:实现跨服务的Sessio原创 2009-06-20 22:35:00 · 1529 阅读 · 0 评论 -
Axis Web Service开发之旅 (八) --编写Axis2模块(Module)
Axis2可以通过模块(Module)进行扩展。Axis2模块至少需要有两个类,这两个类分别实现了Module和Handler接口。开发和使用一个Axis2模块的步骤如下:1. 编写实现Module接口的类。Axis2模块在进行初始化、销毁等动作时会调用该类中相应的方法)。2. 编写实现Handler接口的类。该类是Axis2模块的业务处理类。3. 编写module.xml文件原创 2009-06-20 22:38:00 · 1248 阅读 · 0 评论 -
Axis Web Service开发之旅 (九) --使用soapmonitor模块监视soap请求与响应消息
在Axis2中提供了一个Axis2模块(soapmonitor),该模块实现了与实现的logging模块相同的功能,所不同的是,logging模块直接将SOAP请求与响应消息输出到Tomcat控制台中,而soapmonitor模块利用applet直接在页面中输出SOAP请求和响应消息。 下面是配置和使用soapmonitor模块的步骤: 第1步:部署Applet和Servlet原创 2009-06-20 22:44:00 · 1287 阅读 · 0 评论 -
Axis Web Service开发之旅 (十) --异步调用WebService
在前面几篇文章中都是使用同步方式来调用WebService。也就是说,如果被调用的WebService方法长时间不返回,客户端将一直被阻塞,直到该方法返回为止。使用同步方法来调用WebService虽然很直观,但当WebService方法由于各种原因需要很长时间才能返回的话,就会使客户端程序一直处于等待状态,这样用户是无法忍受的。 当然,我们很容易就可以想到解决问题的方法,这就是多线原创 2009-06-20 22:48:00 · 2524 阅读 · 0 评论 -
Axis Web Service开发之旅 (六) --会话(Session)管理
WebService给人最直观的感觉就是由一个个方法组成,并在客户端通过SOAP协议调用这些方法。这些方法可能有返回值,也可能没有返回值。虽然这样可以完成一些工具,但这些被调用的方法是孤立的,当一个方法被调用后,在其他的方法中无法获得这个方法调用后的状态,也就是说无法保留状态。读者可以想象,这对于一个完整的应用程序,无法保留状态,就意味着只依靠WebService很难完成全部的工作。例如,一个原创 2009-06-20 22:29:00 · 2018 阅读 · 1 评论