- 博客(224)
- 收藏
- 关注
转载 使用java实现阿里云消息队列简单封装
一、前言最近公司有使用阿里云消息队列的需求,为了更加方便使用,本人用了几天时间将消息队列封装成api调用方式以方便内部系统的调用,现在已经完成,特此记录其中过程和使用到的相关技术,与君共勉。现在阿里云提供了两种消息服务:mns服务和ons服务,其中我认为mns是简化版的ons,而且mns的消息消费需要自定义轮询策略的,相比之下,ons的发布与订阅模式功能更加强大(比如相对于mns...
2018-03-06 23:16:00
541
转载 【Java远程debug】
转自 http://blog.csdn.net/hongchangfirst/article/details/44191925一、远程debug原理Java远程调试的原理是两个JVM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。被debug的机器需要开启debug模式,debug使用的客户端可以是eclipse,总之我使用ec...
2016-12-04 16:07:00
282
转载 【Java EE 学习 83 下】【SpringMVC】【使用注解替代已过时的API】【SpringMVC、Hibernate整合】...
一、SpringMVC中注解的使用 1.为什么要使用注解 之前曾经提到过的三种控制器在spring3.0中都已经被明确标记为过时了,spring3.0推荐使用注解的方式替代三种控制器,实际上使用注解的方式能够大大提高开发效率。 2.使用注解@RequestMapping 使用注解需要对配置文件进行改动: (1)spring配置文件的改动 1 ...
2016-01-06 14:25:00
306
转载 【Java EE 学习 83 上】【SpringMVC】【基本使用方法】
一、SpringMVC框架概述 什么是SpringMVC?SpringMVC是一个和Struts2差不多的东西,他们的作用和性质几乎是相同的,甚至开发效率上也差不多,但是在运行效率上SpringMVC要高于Struts2;注意这里的SpringMVC很明确的指明了使用了MVC框架,Struts2也使用了MVC框架。 1.环境准备 和之前使用的spring环境几乎是差...
2016-01-05 17:25:00
112
转载 【Java EE 学习 82 下】【MAVEN整合Eclipse】【MAVEN的一些高级概念】
一、MAVEN整合Eclipse MAVEN是非常优秀,但是总是要开命令行敲命令是比较不爽的,我们已经习惯了使用IDE,所以还有一种将MAVEN整合到Eclipse的方法。 详情查看:http://www.eclipse.org/m2e/,http://download.eclipse.org/technology/m2e/releases 其中,后者也是该插件的更新地...
2016-01-03 20:50:00
132
转载 【Java EE 学习 82 上】【MAVEN基本安装和使用方法】
一、Maven概述 1.什么是Maven? Maven中文意思是"行家"、"专家",它是一种跨平台的项目管理工具。 2.Maven有什么作用? Maven能够实现基于Java平台的项目构建、依赖管理和项目信息管理。 3.什么是理想的项目构建? 高度自动化,跨平台,可重用组件,符合标准化的规范 4.什么是依赖,为什么要进行依赖管理?...
2016-01-03 11:59:00
82
转载 【Java EE 学习 81】【CXF框架】【CXF整合Spring】
一、CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire;它支持soap1.1、soap1.2,而且能够和spring进行快速无缝整合。 另外jax-ws是Sun公司发布的一套开发WebService服务的标准。早期的标准如jax-rpc已经很少使用,而cxf就是在新标准jax-ws下开发出来的WebService,jax-ws也内置到了jdk1.6...
2016-01-01 19:25:00
241
转载 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务;另外还可以使用Ajax调用WebService服务。预备工作:开启WebService服务,使用jdk命令wsimport生成调用源代码package com.kdyzm.ws;import javax.jws.WebService;import javax.xml.ws...
2016-01-01 11:38:00
217
转载 【Java EE 学习 80 上】【WebService】
一、WebService概述 什么是WebService,顾名思义,就是基于Web的服务,它使用Http方式接收和响应外部系统的某种请求,从而实现远程调用。WebService实际上就是依据某些标准,不关心对方使用的是何种语言,实现对外部其它应用程序提供跨平台、跨语言服务的一种技术。 使用WebService,我们可以调用互联网上查询天气信息的Web服务,然后将其嵌入到我们的...
2015-12-29 16:45:00
96
转载 【Java EE 学习 79 下】【动态SQL】【mybatis和spring的整合】
一、动态SQL 什么是动态SQL,就是在不同的条件下,sql语句不相同的意思,曾经在“酒店会员管理系统”中写过大量的多条件查询,那是在SSH的环境中,所以只能在代码中进行判断,以下是其中一个多条件查询的例子: 1 public Collection<Card> getCardsByMN(int requestPage, String cardId, 2 ...
2015-12-27 16:14:00
71
转载 【Java EE 学习 79 上】【mybatis 基本使用方法】
一、简介 mybatis类似于hibernate,都是简化对数据库操作的框架,但是和hibernate不同的是,mybatis更加灵活,整体来说框架更小,这体现在它需要我们手写SQL语句,而hibernate则将对数据库的操作对程序员完全透明了,程序员只需要按照面向对象的思想编写代码即可,想要看sql语句,就必须在配置文件中声明<property name="show...
2015-12-27 13:29:00
123
转载 【Java EE 学习 78 下】【数据采集系统第十天】【数据采集系统完成】
一、项目源代码地址二、项目演示转载于:https://www.cnblogs.com/kuangdaoyizhimei/p/5061400.html
2015-12-20 17:47:00
95
转载 【Java EE 学习 78 中】【数据采集系统第十天】【Spring远程调用】
一、远程调用概述 1.远程调用的定义 在一个程序中就像调用本地中的方法一样调用另外一个远程程序中的方法,但是整个过程对本地完全透明,这就是远程调用。spring已经能够非常成熟的完成该项功能了。 2.spring远程调用的原理 客户端调用本地接口中的一个方法调用的时候将会被客户端代理拦截,并向远程服务器发起一个servlet请求(服务器中的web.xml文...
2015-12-20 11:13:00
150
转载 【Java EE 学习 78 上】【数据采集系统第十天】【Service使用Spring缓存模块】
一、需求分析 调查问卷中或许每一个单击动作都会引发大量的数据库访问,特别是在参与调查的过程中,只是单击“上一页”或者“下一页”的按钮就会引发大量的查询,必须对这种问题进行优化才行。使用缓存策略进行查询缓存是降低数据库压力非常理想的方法,这里最起码能够有两种缓存方式: 1.使用hibernate的二级缓存。 2.使用spring自带的缓存模块进行查询缓存。使用spring...
2015-12-19 19:24:00
98
转载 【Java EE 学习 77 下】【数据采集系统第九天】【使用spring实现答案水平分库】【未解决问题:分库查询问题】...
之前说过,如果一个数据库中要存储的数据量整体比较小,但是其中一个表存储的数据比较多,比如日志表,这时候就要考虑分表存储了;但是如果一个数据库整体存储的容量就比较大,该怎么办呢?这时候就需要考虑分库了,就是建立多个数据库保存数据。这里以答案为例,就算调查对象不是很多,但是参与调查的人数非常多,那么需要保存的数据量就会非常大,怎样将答案以一种规则保存到不同的数据库中就是现在需要考虑的问题...
2015-12-19 16:29:00
80
转载 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】...
一、需求分析 日志数据在很多行业中都是非常敏感的数据,它们不能删除只能保存和查看,这样日志表就会越来越大,我们不可能永远让它无限制的增长下去,必须采取一种手段将数据分散开来。假设现在整个数据库需要保存的数据量比较少,但是只有日志表的数据量会很大,在这种情况下我们可以考虑使用分表策略分散保存日志数据。 针对当前系统来讲,可以这么做:每个月创建一张新表用于保存当月的日志数据。当然...
2015-12-19 14:03:00
123
转载 【Java EE 学习 76 下】【数据采集系统第八天】【通过AOP实现日志管理】【日志管理功能分析和初步实现】...
一、日志管理相关分析 1.日志管理是一种典型的系统级别的应用,非常适合使用spring AOP实现。 2.使用日志管理的目的:对系统修改的动作进行记录,比如对权限、角色、用户的写操作、修改操作、删除操作等 3.确定使用的通知方式:使用环绕通知。复习一下环绕通知,所谓环绕通知实际上就是AOP代理对接口中声明方法的执行进行拦截,在执行方法之前或者之后进行一些操作,在日志管理...
2015-12-19 12:59:00
108
转载 【Java EE 学习 76 上】【数据采集系统第八天】【角色授权】【用户授权】【权限的粗粒度控制】【权限的细粒度控制】...
一、角色管理 单击导航栏上的"角色管理"超链接,跳转到角色管理界面,在该界面上显示所有角色,并提供角色的增加和删除、修改超链接。 1.增加新角色(角色授权) 流程:单击增加新角色超链接->Action查询出所有的权限保存到值栈并转到添加新角色页面->填写表单并提交->Action保存表单->重定向到角色管理Action 技术点:表单...
2015-12-19 11:11:00
133
转载 【Java EE 学习 75 下】【数据采集系统第七天】【二进制运算实现权限管理】【使用反射初始化权限表】【权限捕获拦截器动态添加权限】...
一、使用反射动态添加权限在该系统中,我使用struts2的时候非常规范,访问的Action的形式都是"ActionClassName_MethodName.action?参数列表",所以可以非常方便的使用反射初始化权限表。比较关键的是获取所有Action类所在的包的方法:URL url=ClassLoader.getSystemResource("com/kdyzm/st...
2015-12-19 09:48:00
70
转载 【Java EE 学习 75 上】【数据采集系统第七天】【二进制运算实现权限管理】【权限分析和设计】...
一、权限计算相关分析 1.如何存储权限 首先说一下权限保存的问题,一个系统中最多有多少权限呢?一个大的系统中可能有成百上千个权限需要管理。怎么保存这么多的权限?首先,我们使用一个数字中的一位保存一种权限,那么如果现在有3600种权限需要保存,我们就需要一个3600位的数字来保存该权限,首先我们如果不考虑大数的话其它数据类型是没有办法保存这么长的数字的。所以我们为了能够保存这么...
2015-12-18 20:49:00
89
转载 【Java EE 学习 74 下】【数据采集系统第六天】【使用Jfreechart的统计图实现】【将JFreechart整合到项目中】...
之前说了JFreechart的基本使用方法,包括生成饼图、柱状统计图和折线统计图的方法。现在需要将其整合到数据采集系统中根据调查结果生成三种不同的统计图。一、统计模型的分析和设计 实现统计图显示的流程:单击导航栏中的“我的调查”超链接->在调查列表中单击指定的调查中的“分析”超链接->统计Action获取请求参数(questionId)并根据该值计算统计图所需要的...
2015-12-18 10:53:00
148
转载 【Java EE 学习 74 上】【数据采集系统第六天】【使用Jfreechart的统计图实现】【Jfreechart的基本使用方法】...
之前已经实现了数据的采集,现在已经有了基本的数据,下一步就需要使用这些数据实现统计图的绘制了。这里使用Jfreechart实现这些统计图的绘制。首先看一下Jfreechart的基本用法,只有知道了它的基本用法才有可能实现对更为复杂的统计图的绘制。这里主要使用了它的三种绘制方式,绘制饼图、折线图和柱状图源代码地址:https://github.com/kdyzm/day74_jfr...
2015-12-18 10:28:00
122
转载 【Java EE 学习 73】【数据采集系统第五天】【参与调查】【导航处理】【答案回显】【保存答案】...
一、参与调查的流程 单击导航栏上的“参与调查”按钮->EntrySurveyAction做出相应,找到所有的Survey对象并转发到显示所有survey对象的页面上供用户选择->用户单击其中一个调查进入调查页面->页面提供上一页、下一页、退出、保存等按钮供用户选择->用户单击退出直接返回到显示所有Survey对象的页面上去或者单击提交完成调查返回到参与调查的...
2015-12-17 18:56:00
135
转载 【Java EE 学习 72 下】【数据采集系统第四天】【移动/复制页分析】【使用串行化技术实现深度复制】...
一、移动、复制页的逻辑实现移动、复制页的功能是在设计调查页面的时候需要实现的功能。规则是如果在同一个调查中的话就是移动,如果是在不同调查中的就是复制。无论是移动还是复制,都需要注意一个问题,那就是页面在一个调查中的位置问题,这就需要一个变量来标识该该页面在一个调查中的位置。我们在Page对象中添加一个成员变量orderNo,该变量是float类型的变量,默认值和pageId相同,...
2015-12-17 12:39:00
65
转载 【Java EE 学习 72 上】【数据采集系统第四天】【增加调查logo】【文件上传】【动态错误页指定】【上传限制】【国际化】...
增加logo的技术点:文件上传,国际化文件上传的功能在struts2中是使用文件上传拦截器完成的。1.首先需要在页面上添加一个文件上传的超链接。点击该超链接能够跳转到文件上传页面。我给该表单页面中的field字段使用了logo作为名字,即name=logo。2.在SurveyAction中进行表单的接收。接收的类型包括文件名、文件类型和文件本身,以方便处理,给每个字段都提...
2015-12-17 11:44:00
109
转载 【Java EE 学习 71 下】【数据采集系统第三天】【分析答案实体】【删除问题】【删除页面】【删除调查】【清除调查】【打开/关闭调查】...
一、分析答案实体 分析答案实体主要涉及到的还是设计上的问题,技术点几乎是没有的。首先需要确定一下答案的格式才能最终确定答案实体中需要有哪些属性。 答案格式的设计是十分重要的,现设计格式如下: 在表单中需要提供的信息有name值和value值,name值实际上只是用于回显和保存答案,对于保存答案来说只需要一个问题id就可以了,但是实际上对于矩阵式单选按钮来说,name的值...
2015-12-17 10:46:00
125
转载 【Java EE 学习 71 上】【数据采集系统第三天】【增加页面】【增加问题】【编辑页面,编辑问题】...
增加页面和编辑页面、增加问题和编辑问题的页面使用的都是相同的页面,最后调用的方法是saveOrUpdate方法,所以只说一个就可以了。一、增加页面 比较简单,略。流程如下: 单击“增加页”超链接->Action转发到增加页的jsp页面->填写表单并提交->PageAction保存页面到数据库->重定向到SurveyAction_designSurv...
2015-12-17 10:07:00
97
转载 【Java EE 学习 70 下】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】...
一、Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐。可以想一种方法,当Action想要获取User对象的时候直接使用,这种方法还是得需要借助拦截器的力量,直接在登录拦截器中实现即可,但是登陆拦截器怎么知道该Action想要获取User对象呢?这就需要给Action加上一个接口,如果该Action是该接...
2015-12-16 20:14:00
120
转载 【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】...
一、数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest。 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组。最关键的是需要将这个16位的字节数组转换成为32位的字符串,转换方法是使用位移+与运算。将高四位移到低四位&0X0F得到一个字符,直接使用该值&0X0F得到一个字符,这样一个...
2015-12-16 19:32:00
85
转载 【Java EE 学习 69 下】【数据采集系统第一天】【实体类分析和Base类书写】
之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写。Base类是抽象类,专门用于继承。一、实体类关系分析 既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个页面(Page),一个页面有多个问题(Question),所以还要有页面和问题实体。参与完成调查之后一定还会生成若干个答案,所以还有答案实体(Answer),当然还有参与的用户(Us...
2015-12-16 10:42:00
139
转载 【Java EE 学习 69 中】【数据采集系统第一天】【SSH框架搭建】
经过23天的艰苦斗争,终于搞定了数据采集系统~徐培成老师很厉害啊,明明只是用了10天就搞定的项目我却做了23天,还是模仿的。。。呵呵,算了,总之最后总算是完成了,现在该好好整理该项目了。第一天的内容:SSH框架搭建一、系统说明 1.该系统是数据采集系统,说白了就是问卷调查系统,它和考试系统使用的技术几乎完全相同。 2.开发环境: Eclipse版本:Ecli...
2015-12-16 10:12:00
126
转载 【Java EE 学习 69 上】【struts2】【paramsPrepareParamsStack拦截器栈解决model对象和属性赋值冲突问题】...
昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值。代码如下(简化后的代码) 1 public class UserAction implements modelDriven<User>(){ 2 private String name; 3 private U...
2015-12-02 12:53:00
114
转载 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】...
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再输入用户名和密码了。 单点登录类型: 1.具有相同一级域名的多个网站,以新浪为例,新浪首页实际上是一个导航页面,它提供了很多很多的旗下网站地址,比如 ...
2015-11-23 11:15:00
265
转载 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】
一、SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合。 1.添加jar包 (1)jbpm项目/lib目录下的所有jar包和根目录下的jbpm.jar包放入/WEB-INF/lib文件夹下,同时删除tomcat服务器/lib文件夹中的...
2015-11-21 11:07:00
159
转载 【Java EE 学习 67 上】【OA项目练习】【JBPM工作流的使用】
OA项目中有极大可能性使用到JBPM框架解决流程控制问题,比如请假流程、报销流程等等。JBPM:JBoss Business Process Management,翻译过来就是业务流程管理。实际上就是一个java 框架。学习JBPM最重要的就是学习数据库中的18张表,只要熟练掌握了这18张表,学习JBPM就大功告成了。一、JBPM框架搭建 1.到JBPM官方网站上下载需...
2015-11-20 17:30:00
176
转载 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】
分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板、前端显示的模板两部分。一、分页分析 分页需要三种类型的参数: 1.系统启动之后就能够确定的参数,比如每页显示多少条数据pageSize,分页长度:elementLength 2.浏览器动态请求的参数这种情况分为两种:带有请...
2015-11-07 11:25:00
88
转载 【Java EE 学习 56】【酒店会员管理系统技术点总结】
一、树状菜单加载 这是js的一个典型应用,使用zTree插件能够完成该项任务http://www.ztree.me/v3/main.php 我是用的版本:zTree2.5 使用方法: 1 <%@ page language="java" isELIgnored="false" import="java.util.*" pageEncoding="UTF...
2015-11-07 09:19:00
199
转载 【Java EE 学习 55】【酒店会员管理系统项目总结】
本酒店会员管理系统使用了SSH框架和传值播客提供的协同OA静态页面。项目地址:https://github.com/kdyzm/HotelMembersManagement一、需求分析酒店会员管理制度 一、 会员卡功能1、会员卡同时具备打折优惠、储值和积分三项功能2、打折功能:按照卡内的折扣信息给予住房和餐菜品相应折扣。3、储值功能:会员卡可提前预存金额,...
2015-11-07 09:07:00
338
转载 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】...
一、SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法。 注意,注释不要放开。 使用如下的代码块进行测试: 会报错:no session。 为什么会没有session呢,因为在代码User user=(User) hibern...
2015-10-10 08:51:00
89
转载 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】...
一、Spring整合Hibernate 1.如果一个DAO类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了;如果一个DAO类没有继承HibernateDaoSupport,需要有一个HibernateTemplate的属性,并且在配置文件中进行注入。注意,之前使用的是JdbcDaoSupport和JdbcTem...
2015-10-04 21:28:00
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人