自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 CXF实战之传输文件(六)

CXF的文件传输通过MTOM实现。MTOM(SOAP Message Transmission Optimization Mechanism)SOAP消息传输优化机制,可以在SOAP消息中发送二进制数据。MTOM允许将消息中包含的大型数据元素外部化,并将其作为无任何特殊编码的二进制数据随消息一起传送。相对于把二进制转为base64进行传输,MTOM具有更高的传输效率。

2015-07-31 09:32:37 9987 2

原创 CXF实战之自定义拦截器(五)

CXF已经内置了一些拦截器,这些拦截器大部分默认添加到拦截器链中,有些拦截器也可以手动添加,如手动添加CXF提供的日志拦截器。也可以自定义拦截器,CXF中实现自定义拦截器很简单,只要继承AbstractPhaseInterceptor或者AbstractPhaseInterceptor的子类(如AbstractSoapInterceptor)即可。

2015-07-30 11:47:16 8913

原创 CXF实战之拦截器Interceptor(四)

拦截器(Interceptor)是CXF功能最主要的扩展点,可以在不对核心模块进行修改的情况下,动态添加很多功能。拦截器和JAX-WS Handler、Filter的功能类似,当服务被调用时,就会创建一个拦截器链(Interceptor Chain),拦截器链在服务输入(IN)或输出(OUT)阶段实现附加功能。 拦截器可以在客户端,也可以在服务端添加。当客户端发起一个WebService请求时,在

2015-07-28 11:00:15 6851 1

原创 CXF实战之集成Spring(三)

CXF原生支持Spring,可以和Spring无缝集成。通过Spring Web实现CXFServlet。下面将Spring和CXF集成在一起,CXF发布的WebService可以调用Spring的Bean。 创建Maven Web项目,在pom.xml中添加CXF和Spring的引用,由于该Web项目中不涉及数据库,没有添加Spring JDBC、Spring ORM等数据库相关模块。

2015-07-27 17:49:48 3187 1

原创 CXF实战之在Tomcat中发布Web Service(二)

服务接口及实现类请参考WebService框架CXF实战(一)创建Maven Web项目,在pom.xml中添加CXF和Spring Web的引用,由于CXFServlet需要Spring Web的支持。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst

2015-07-27 15:02:40 8005 1

原创 CXF实战(一)

Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构。它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于Spring的轻量级容器中,也可以部署在更高级的服务器上,例如Jboss、WebSphere或WebLogic。 CXF提供了以下功能: - WebService服务标准支持: - Java API for XML Web Services (JAX-

2015-07-27 11:23:08 29489 2

原创 jQuery操作Form表单元素

Web开发中经常需要操作表单,form表单元素有select、checkbox、radio、textarea、button、file、text、hidden、password等。其中checkbox和radio的读写值操作比较多变,checkbox和radio经常用在一个分组里,实现多选或者单选。jQuery提供了利用表单选择器我们可以极其方便地获取表单的某个或某类型的元素。

2015-07-27 09:13:04 7865 1

原创 JAX-WS使用Handler实现简单的WebService权限验证

WebService如果涉及到安全保密或者使用权限的时候,WS-Security通常是最优选择。WS-Security (Web服务安全) 包含了关于如何在WebService消息上保证完整性和机密性的规约,如何将签名和加密头加入SOAP消息。不过WS-Security也有一些性能上的损耗,在信息保密要求不是很高的情况下,可以通过在SOAPHeader中添加简单的校验信息实现。具体思路是客户端

2015-07-22 11:25:13 9501 1

原创 JAX-WS HandlerChain使用详解

JAX-WS的Handler和Servlet的Filter相似,可以对所有WebServicer进行拦截,在Handler中可以记录日志、权限控制、对请求的SOAP消息进行加密,解密等。JAX-WS提供两个Handler接口,LogicalHandler和SOAPHandler。LogicalHandler处理的是Message Payload,只能够访问消息单元中的SOAP消息体。SOAPHan

2015-07-21 15:40:38 7261 4

原创 解决Maven更新后错误Dynamic Web Module 3.0 requires Java 1.6 or newer

今天在用Maven->Update Project更新项目后,出现Dynamic Web Module 3.0 requires Java 1.6 or newer错误提示,发现项目Java Compiler中的版本回到1.5,如图所示。在Maven官方文档找到了原因。Maven 3.0 source和target的默认设置都是1.5,与运行Maven时的JDK版本无关,除非在项目的POM文件中显

2015-07-21 09:03:43 19787 4

原创 用JAX-WS在Tomcat中发布WebService

JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架。Axis2和CXF是目前最流行的Webservice框架,这两个框架各有优点,不过都属于重量级框架。JAX-WS RI是JAX WebService参考实现。相对于Axis2和CXF,JAX-WS RI是一个轻量级的框架。虽然是个轻量级框架,JAX-W

2015-07-14 22:49:36 18823 2

原创 Web中树形数据(层级关系数据)的实现—以行政区树为例(二)

前面已经实现了在Java中生成行政区树(参考博客),其实也可以在JavaScript中生成树,由于JavaScript是弱类型,从某种程度上来说,JavaScript比Java更容易构建树。在JavaScript中只要生成zTree或者Ext Tree支持的数据格式即可。/** * 构建树,如果传入的参数有多个跟节点,则返回数组,如果只有一个根节点,则返回根节点。 * * @param

2015-07-12 18:13:27 6906

原创 Web中树形数据(层级关系数据)的实现—以行政区树为例

在Web开发中经常遇到树形数据的操作,如菜单、组织机构、行政区(省、市、县)等具有层级关系的数据。下面以行政区为例说明树形数据(层级关系数据)的存储以及实现,效果如图所示。1 数据库表结构设计树形数据一般通过父节点和子节点实现数据之间的层级关联,层级关系在数据库中主要通过主键和外键来实现。--使用Oracle数据库--创建行政区表create table

2015-07-12 14:23:42 20340 12

原创 Oracle外键级联删除和级联更新

1 级联删除Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。下面以学生-班级为例说明不同情况下的外键删除,学生属于班级,班级的主键是学生的外键。-- 班级表CRATE TABLE TB_CLASS( ID NUMBER NOT NULL, --班级主键 NAME VARCHAR2(50),

2015-07-11 19:14:04 8871

原创 git使用sshkey免密码登陆

最近在oschina上托管项目,oschina上的项目都是用git来管理。git有个很麻烦的地方就是每次提交代码,都要求输入oschina的用户名和密码进行验证,极大的影响效率。oschina提供了SSH Key访问的方法,该方法只要在oschina上添加公钥,在本地使用密钥就可以免密码连接,参考教程。首先用ssh-keygen生成sshkeyssh-keygen -t

2015-07-09 22:07:06 30818 2

原创 Bootstrap风格按钮

一直很喜欢Bootstrap的按钮风格,仿照Bootstrap做了一套按钮,在ie6/7/8/9/10/11、chrome、firefox下能正常使用。ie6/7/8不支持css3的样式,按钮在这些模式下没有圆角效果。在ie6/7下使用button标签能显示正常效果,使用其他标签存在文字偏移和背景显示不完整。按钮支持div/span/input/button等元素,大小分为rhui-btn-l

2015-07-09 09:57:33 3439

原创 Web项目同时使用Struts2和SpringMVC

接手公司历史遗留的一个项目,要在原有系统中添加新的功能。原有系统只使用Struts2做Web MVC,没有用Spring做解耦,数据持久层使用JDBC连接,数据库连接池是c3p0。从设计上看,原有系统抛弃了独立的服务层,把服务层和数据持久层合并,控制层(Struts2的Action)直接调用持久层对象。新增功能采用SpringMVC和Mybatis。由于原系统和新功能的控制层使用不同的MVC,

2015-07-08 22:14:00 18084 3

原创 jQuery遮罩层插件

在网页上经常遇到需要等待很久的操作,比如导出报表等。为了预防用户点击其他操作或者多次点击同个功能,需要用遮罩层把页面或者操作区盖住,防止用户进行下一步操作,同时可以提高界面友好度,让用户知道操作正在执行。$.fn.extend({ /** * 给元素添加遮罩层 * @param message {String} [可选]遮罩层显示内容 */ mask: function

2015-07-07 17:42:59 3812

原创 浅谈Html的内容加载及JS执行顺序

项目上有个同事跟我说他用jQuery取不到页面上隐藏元素input的值,他的html页面大概内容如下。 浅谈Html页面内容执行顺序 var userId = $('#hiddenUserId').val(); var contextPath = $('#hiddenContextPath').val(); var userName = $('#hiddenUs

2015-07-07 14:59:00 33243 5

原创 Java执行外部程序(Apache Commons Exec)

之前使用Runtime.getRuntime().exec调用外部程序,在Tomcat下会有当前线程一直等待的现象。当时为了解决这个问题,使用新建线程接收外部程序的输出信息,详情请看博客http://blog.csdn.net/accountwcx/article/details/46785437。后来在网上找到开源的Java调用外部程序类库Apache Commons Exce,这个

2015-07-07 11:58:59 21850 2

原创 Java实现Html转PDF

项目上的客户提出一个需求,把政务流程中的表单数据导出成pdf或者图片格式,用来作电子档案材料。表单基于公司的电子政务构建平台实现,在数据库保存的都是html格式,因此打算直接把表单html转成pdf或者图片。由于表单是已经写好了html页面,那我要做的就是能完美解析html+css的pdf生成工具。在百度上搜索html转pdf的结果,大部分都是用itext,itext的确是java开源组件的第一选

2015-07-07 10:35:10 57108 12

原创 Web日程管理FullCalendar

fullcalendar是一款jQuery日程管理控件,提供了丰富的属性设置和方法调用,官网下载地址http://fullcalendar.io/download,目前最新版本是2.3.2。只要调用$('#calendar').fullcalendar(options)即可初始化,初始化配置中events、eventSources、select和eventClick是必须设置项。event

2015-07-06 22:48:40 19394 88

原创 Java Web文件下载

Web文件下载有两种,一种是文件在网站目录下,在浏览器中直接输入文件路径即可下载,如http://www.xxx.com/file.zip。另外一种是文件不在网站目录下或者文件是动态生成的(导出报表或者导出excel等),这种情况需要通过response的OutputStream实现文件的下载。DownloadUtils是一个Java Web文件下载工具类,提供多种静态方法实现文件下载。pac

2015-07-06 15:53:11 2345

原创 Java Web验证码

1 验证码生成类RandomCodeRandomCode是一个生成验证码的工具类,支持英文和数字验证码,验证码包括英文大小写和数组,其中英文i、o和数字0、1因为容易产生混淆,不包括在生成验证码中。RandomCode支持输出jpg/bmp/png/gif图片格式的验证码。/** * RandomCode验证码可以通过静态方法和实例方法生成。 * * 静态方法: * *

2015-07-06 11:55:09 1361

原创 Java Web返回JSON

Web项目中经常涉及到AJAX请求返回JSON和JSONP数据。JSON数据在服务器端和浏览器端传输,本质上就是传输字符串,不过这个字符串符合JSON语法格式。浏览器端会按照普通文本的格式接收JSON字符串,最终JSON字符串转成JSON对象通过JavaScript实现。目前部分浏览器(IE9以下浏览器没有提供)和常用的JS库都提供了JSON序列化和反序列化的方法,如jQuery的AJAX请求可以

2015-07-03 10:48:05 15555 2

原创 Web文件下载等待效果的实现

项目中需要实现导出Excel的功能,Excel不是保存在服务器上的文件,而是动态生成的。由于查询条件和数据大小的影响,生成Excel的时间不固定(大约5~10秒左右),因此需要做下载等待效果,防止用户多次点击下载。实现下载等待效果的关键是获取到后台导出Excel完成的时间或者捕获到Excel开始下载的事件。可以从两个方面入手,一个是在浏览器端触发onload事件。一个是在服务器端完成Excel导出

2015-07-02 17:55:03 9034

原创 排序算法之归并排序Java版

/** * 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法将已有序的子序列合并,最后得到完全有序的序列。 * 归并排序是稳定排序,速度仅次于快速排序 * 时间复杂度为O(nlogn) * 空间复杂度为O(n) 归并排序需要n空间的临时数组来存储子序列 * 归并排序原理: * 将待排序序列分为若干个子序列,,对每个子序列进行排序。 * 然后再把相邻的两个有序子序列合

2015-07-01 22:24:12 626

原创 排序算法之快速排序Java版

/** * 快速排序 * 快速排序是不稳定排序 * 快速排序是一种交换排序 * 快速排序对序列的操作空间复杂度为O(1),如果快速排序用递归实现,则递归栈的空间复杂度为O(logn)~O(n)之间。 * 最佳时间复杂度O(nlogn) * 平均时间复杂度O(nlogn) * 快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短。

2015-07-01 22:20:36 517

原创 排序算法之冒泡排序Java版

/** * 冒泡排序 * 冒泡排序是稳定排序 * 冒泡排序空间复杂度O(1) * 最优时间复杂度O(n),当序列已经排序好时,时间复杂度为O(n) * 最坏时间复杂度O(n^2),当序列是倒序时,时间复杂度为O(n^2) * 冒泡排序是一种交换排序 * * 冒泡排序原理: * 在序列中对当前还未排序的数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。

2015-07-01 22:13:58 660

原创 排序算法之堆排序Java版

/** * 堆排序 堆排序是一种树形选择排序,是直接选择排序的有效改进,是不稳定的排序 * 最优时间复杂度O(nlogn) * 最坏时间复杂度O(nlogn) * 空间复杂度O(1) * * 堆排序原理: * 1、根据序列建立大根堆(或者小根堆)。 * 2、将堆顶元素R[1]与最后一个元素R[n]交换,得到新的无序区(R1,R2,......Rn-1)和新的有序区(Rn),且满足

2015-07-01 22:00:13 561

原创 排序算法之直接选择排序Java版

/** * 直接选择排序 * 直接选择排序是一种不稳定的排序 * 时间复杂度为 O(n^2),当记录占用字节数较多时,直接选择排序通常比直接插入排序的执行速度快些。 * 空间复杂度为O(1) * * 原理:从未排序序列中找到最小元素,存放到已排序序列的末尾,以此类推,直到所有元素均排序完毕。 */public class DirectSelectionSort { public

2015-07-01 21:49:19 627

原创 排序算法之希尔排序Java版

/** * * 希尔排序 * 希尔排序又叫缩小增量排序,是直接插入排序算法的一种更高效的改进版本 * 希尔排序属于不稳定排序 * 希尔排序空间复杂度O(1) * 希尔排序的时间复杂度和其增量序列有关系,平均时间复杂度O(n^1.3) * * 基本原理: * 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接

2015-07-01 21:41:08 462

原创 排序算法之直接插入排序Java版

/** * 直接插入排序 * 直接插入排序属于稳定排序 * 直接插入排序空间复杂度O(1) * 最优时间复杂度O(n),当待排序的数组已经排序好时,直接插入排序的时间复杂度为O(n) * 最坏时间复杂度O(n^2),当待排序的数组是倒序时,直接插入排序的时间复杂度为O(n^2) * 直接插入排序适用于数量比较少的数组排序 * * 基本原理: * 将一个记录插入到已排序好的有序序

2015-07-01 21:16:06 570

原创 排序算法之二分插入排序Java版

/** * 二分插入排序是直接插入排序的改进版 * 二分插入排序是不稳定排序 * * 原理: * 将一个记录插入到已排序好的有序序列中,从而得到一个新,记录数增1的有序序列。 * 二分插入排序用二分法找出新记录在有序序列中的位置。 */public class BinaryInsertionSort { public void sort(int[] arr) { int

2015-07-01 21:13:20 608

CXF集成Spring

CXF集成Spring发布WebService代码实例

2015-07-27

JAX-WS在Tomcat中发布服务

JAX-WS在Tomcat中发布服务实例,同时在Handler中实现简单的授权校验。

2015-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除