JAVA
文章平均质量分 85
静静~嗯嗯
这个作者很懒,什么都没留下…
展开
-
JAVA学习篇--JSP实现原理
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 起源: 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护原创 2014-06-19 15:44:19 · 5928 阅读 · 18 评论 -
JAVA学习篇--静态代理VS动态代理
本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢?原因:1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢?2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那就更有必要总结了!下面是我对它们的理解! 代理Proxy: Proxy代理模式是一种结构型设计模式,原创 2014-07-01 20:36:04 · 65623 阅读 · 63 评论 -
JAVA学习篇--JSTL基础
JSTL是什么 JSTL(JSP Standard TagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库。 为什么要用JSTL 我们JSP用于开发信息展现页非常方便;也可以嵌入java代码(scriptlet、表达式和声明)代码用来实现相关逻辑控制。看下面程序。但这样做会带来如下问题:jsp维护难度增加;出错提示不明确,不容易调试;原创 2014-07-08 08:57:27 · 2104 阅读 · 16 评论 -
JAVA 容器--比较大小与比较重复(2)
承接上文: Comparable接口:针对排序list 问题:上面的算法根据什么确定容器中对象的“大小”顺序?所有可以“排序”的类都实现了java.lang.Comparable接口,Comparable接口中只有一个方法Publicint compareTo(Object obj)返回0:表示this==obj返回正数:表示this>obj返回负数:表示thi原创 2014-04-07 11:11:00 · 4325 阅读 · 23 评论 -
JAVA--异常
异常概念: java异常是java提供的用于处理程序中错误的一种机制。所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在)设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提原创 2014-04-14 08:16:58 · 2016 阅读 · 20 评论 -
JAVA--GUI
AWT(Abstract WindowToolkit抽象视窗工具组)包括了很多类和接口,用于java.Application的GUI(Graphics User Interface图形用户界面)编程,GUI的各种元素(如:窗口,按钮,文本框等)由java类来实现。使用AWT所涉及的类一般在java.awt包及其子包中Swing是一个为Java设计的GUI工具包。Swing是JAVA基础类的原创 2014-04-10 10:29:25 · 3340 阅读 · 20 评论 -
JAVA学习篇--Java类加载
由来: 与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序(解释性语言)。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Javaclass加载到JVM里头运行,负责加载Javaclass的这部分就ClassLoader。中文叫做类加载器。类加载器就好比一个代理,你需要什么,我通过类加载器将你需要的内容返回给你! 类加载器有什么作用?原创 2014-06-26 15:29:44 · 2366 阅读 · 18 评论 -
JAVA学习篇--Servlet详解
servlet由来 做过BS项目的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页。但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证。或者说网页显示的内容在服务器的数据库中。如果是这样,除了负责显示的HTML标记之外,必须还要有完成这些业务功能的代码存在。这种网页我们就叫做动态网页。 对于静态网页而言,服务器上存在的是一个个纯HTML文件。当客户原创 2014-06-12 21:19:50 · 65554 阅读 · 30 评论 -
JAVA学习篇--javaweb之Filter详解
在DRP项目中,多次提到了Filter,它解决了字符集的统一设置以及统一控制简单WebCache,从中我们可以体会到,它给我们带来的好处不仅仅是减少代码量这么简单,它的出现避免了我们每个页面重复的编写相同的代码,减少了我们的工作量,而且给维护带来了极大的便利,那么它是如何实现统一管理的呢?既然它能统一管理某些重复的操作,那么它和AOP有什么关系呢? Filter简介 Servlet原创 2014-07-03 11:43:04 · 23888 阅读 · 18 评论 -
JAVA容器--简单介绍(1)
容器位于java.util包内 Java容器类库的用途是保存对象,根据数据结构不同将其划分为两个不同的概念(1) Collection,一个独立元素的序列,其中List按照元素的插入顺序保存元素,而set不能有重复元素,Queue(队列)按照先进先出(FIFO)的方式来管理数据,Stack(栈)按照后进先出(LIFO)的顺序管理数据。(2) Map,一组键值对(ke原创 2014-04-05 15:32:14 · 2167 阅读 · 19 评论 -
JAVA--线程
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。简单来说:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。 线程是指进程中的一个执行流程,一个程序内部的顺序控制流。一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,原创 2014-04-16 10:58:02 · 2905 阅读 · 23 评论 -
JAVA--IO流
一个流就是程序与外界通信的一条通道,它可以用来连续的传送数据项。流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。流的分类 可以从不同的角度对流进行分类: 1. 处理的数据单位不同,可分原创 2014-03-28 08:01:36 · 2017 阅读 · 33 评论 -
J2EE规范
背景: 在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。 发展: 基于如上需求,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于原创 2014-06-05 21:11:57 · 2363 阅读 · 20 评论 -
OSGI基础概括(一)
研究了两天的OSGI,对于这两天的学习进行一个简短的总结。 OSGi是什么 OSGi——Open Service Gateway Initiative 字面上的意思是一个公共的服务平台。OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。简单说,它是是一个动态模块化框架的规范,提供了插件化、面向服务和插件扩展三大功能。这个规范体现非常重要的2点:“原创 2015-03-07 20:49:22 · 1949 阅读 · 3 评论 -
OSGI实例demo说明(二)
下面我们就来真正的写一个实例demo,结合OSGI的优点来说明一下,该demo设计如下图: 这个demo包含五个Bundles:SayHello Bundle 包含一个接口,只有唯一的方法sayHello();BobSays、RodSays、KentSays三个Bundles分别实现了三个具体的sayHello();SayHelloService原创 2015-03-08 09:57:02 · 5317 阅读 · 3 评论 -
JAVA学习篇--ThreadLocal,Java中特殊的线程绑定机制
在DRP项目中,我们使用了ThreadLocal来创建Connection连接,避免了一直以参数的形式将Connection向下传递(传递connection的目的是由于jdbc事务要求确保使用同一个connection连接)。那么ThreadLocal是如果做到的呢?它和同步锁的不同在哪里? 是什么: 对于ThreadLocal看英文单词我们很容易理解为一个线程的本地实现,但是它原创 2014-07-17 09:05:37 · 9436 阅读 · 18 评论 -
JAVA学习篇--JAVA的两种编程模式对比
在Drp项目中,讲解了两种编程模式Model 1和Model2,下面是对这两种模式的简单理解,以及由于Model2是基于MVC架构的模式,就将我们易混淆的MVC与我们之前学的三层架构进行对比学习一下。 所谓Model1就是JSP大行其道的时代,在Model1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。用少量的JavaBean来处理原创 2014-07-24 15:32:18 · 3240 阅读 · 24 评论 -
【整合篇】Activiti业务与流程的整合
对于无论是Activtit还是jbpm来说,业务与流程的整合均类似,启动流程是绑定业务,流程与业务的整合放到动态代理中/** * 启动修改课程流程Leave leave, * * @param leave */ @RequestMapping(value = "start", method = RequestMethod.POST) p原创 2015-02-16 08:44:36 · 27431 阅读 · 9 评论 -
【升级篇】JBPM4.4过渡到Activiti
简单介绍一下Activiti背景 Activiti的出现: Activiti的创始人Tom Baeyens是JBPM的创始人,由于与合作伙伴在JBPM的未来架构上产生意见分歧,Tom Baeyens在2010年离开了JBoss并加入Alfresco公司。Tom Baeyens的离开使得JBPM5完全放弃了JBPM4的架构,基于Drools Flow重新开发。而在20原创 2015-02-10 12:21:20 · 6281 阅读 · 4 评论 -
【思想篇】工作流技术JBPM4.4开发入门(四)
对于这个工作流的学习真的是不断深入的过程,总觉得不能理解的,不可能实现的要求,现在它就出现在你的面前,真心让你哭笑不得! 我们再来说说使用工作流的优势:1,流程管理业务(切记)2,能方便的应对业务的变更(业务结点和流程分离)3,实现流程的复用,结点的复用4,记录流程追踪过程5,状态的维护等 一直在说要用流程来管理业务(控制业务的处理流程),工作流的每个结原创 2014-12-07 14:58:07 · 3700 阅读 · 7 评论 -
【应用篇】Activiti监听与业务颗粒结合的简单应用(三)
Activiti的简单应用,应用监听来实现简单的业务颗粒与工作流程结合,让流程带动业务颗粒执行的过程,此次的流程图应用多分支结构,并将流程中的判断值设为参数,由前台传递过去。 新建普通java类:package com.tgb.itoo.activiti.controller;public class xs { public static void SayHello(){ System原创 2015-06-02 14:56:58 · 6146 阅读 · 1 评论 -
【应用篇】Activiti监听与业务颗粒结合的简单应用(一)
Activiti的简单应用,应用监听来实现简单的业务颗粒与工作流程结合,让流程带动业务颗粒执行的过程。 新建一个普通类新建一个监听类类似的再建两个类(ghy,xs)与两个监听(guhaiyanDelegate,xvshuDelegate) 画如下流程图:配置相应的属性 每个类上添加相应的监听 如图:给每条流向添加变量 如图:最终生成的配置文件 如下:启动流程对应的代码:执行结果:总结: 以上简单的原创 2015-05-31 19:21:31 · 4845 阅读 · 1 评论 -
【应用篇】Activiti监听(抽象)与业务颗粒结合的简单应用(二)
Activiti的简单应用,应用监听来实现简单的业务颗粒与工作流程结合,让流程带动业务颗粒执行的过程,此次的监听我们应用抽象的监听来实现,也就是说所有的普通业务类均应用此抽象监听,而不需要每一个类一个监听的来操作。 新建两个普通类:package com.tgb.itoo.activiti.controller;public class milaoshi { public static vo原创 2015-06-02 10:30:16 · 3909 阅读 · 3 评论 -
【整合篇】JBPM4.4业务与流程整合之查询
我们都知道在应用工作流的过程中业务与流程的整合必不可少,那么查询时流程结合业务的查询就更是在所难免了,如何实现这种效果呢,方式有多种,下面我先简单介绍一二(目前有3种方式解决,先简单介绍一种,剩下的两种会结合Activiti再来说明)。 第一种方式:Application(申请实体):ApproveInfo(审批实体):TaskView(组合实体原创 2015-02-06 10:04:48 · 3077 阅读 · 5 评论 -
【整合篇】JBPM4.4与Spring整合
我们大家都知道容器的好处,那么工作流也提供了与spring整合的方式,将工作流引擎由spring容器统一管理起来,共同拥有容器的特性。下面来从代码的角度来看看整合与不整合的对比:未整合: 引入相应的jar包,使用hibernate来持久化 配置文件: jbpm.cfg.xml:原创 2015-01-19 09:48:55 · 6016 阅读 · 3 评论 -
【代码篇】JBPM4.4开发流程节点(动态代理实现流程管理业务)
继之前的博客,【思想篇】工作流技术JBPM4.4开发入门(四),【思想篇】工作流技术JBPM4.4开发入门(五)本篇博客来结合代码简单说说,如何让流程来管理业务: 先来看看我们抽出来的代理类: StartAbstractJBPM:流程启动节点HandleAbstractJBPMAction:任务办理节点注:以上的代理使用了两种方式传值,由于java不原创 2015-01-16 08:37:35 · 5049 阅读 · 13 评论 -
【思想篇】工作流技术JBPM4.4开发入门(五)
继上篇博客 上篇博客我们将现有的实现介绍了一番,不知道大家有没有发现问题,也有可能因为我并没有贴上相应的代码,大家很难理解,下面我来说明一下: 首先说,之前的那种方式是实现了工作流类似的功能,但是它的实现方式,却没有做到灵活,而是加强了和业务的耦合,而且并没有实现工作流管理业务。 我们一再强调,工作流管理业务,每个工作流结点并不知道业务需要做什么,每个结点也不知道要实现什么原创 2014-12-16 08:06:18 · 3021 阅读 · 20 评论 -
【基础篇】工作流技术JBPM4.4开发入门(一)
什么是工作流? 对于工作流的官方解释在这里就不在赘述了,通俗的说呢,工作流就是对于我们业务中的流程管理! 由来: 由于我们接触的大部分OA系统中存在着大量的工作流程,而这些流程夹杂着不同领域的业务,无论是状态还是一些操作等都由我们自己维护,而一旦发生业务流程上的变化,修改源代码变成为家常便饭,整个项目举步维艰,况且需求的变更又是无处不在,业务流程的变化更是不可避免。原创 2014-11-23 20:28:04 · 2947 阅读 · 14 评论 -
【思想篇】工作流技术JBPM4.4开发入门(三)
继上篇博客,本来是要简单介绍一个应用工作流的实例的,但是这几天在讨论的过程中觉得对工作流的理解又深了一步,很有总结的必要,就先将总结完成,下篇在介绍实例! 理解误区: 一直以为工作流只管理流程对于真正的业务操作不需要处理,这样才可以实现流程的复用。 举例说明: 就拿修改学生课程信息来说: 学生提交课程修改课程信息(共用一个工作流页面,填写一下理由即可申请)-原创 2014-11-26 14:22:14 · 3267 阅读 · 19 评论 -
【整合篇】JBPM4.4业务与流程的整合
在这次学习工作流的过程中,工作流如何与业务结合有多种方式,虽然很简单,但是每次都要再次梳理几分钟,这次拿出来整理一下,将它真正成为自己的知识。 从启动流程开始说: 申请页面:选择所用流程(即画的流程图的id)原创 2015-01-21 09:45:51 · 5017 阅读 · 4 评论 -
【整合篇】Activiti业务与流程整合之查询(二)
继上篇博客:【整合篇】JBPM4.4业务与流程整合之查询 应用第二种方式:申请实体中加入需要的相应的工作流的属性package com.tgb.itoo.basic.entity;import java.util.Date;import java.util.HashSet;import java.util.Map;import java.util.Set;import javax原创 2015-02-23 14:18:35 · 8170 阅读 · 6 评论 -
【代码篇】JBPM4.4结合业务实现简单工作流
继博客【思想篇】工作流技术JBPM开发入门(三)的实现完成!应对业务的变化。 其实这次对于工作流的学习大概分了3主要个阶段: 1,结合业务开发一个简单的工作流,应对业务的变更2,结合业务开发业务结点,使流程管理业务3,抽象实体,使开发出来的业务结点能够复用 下面要说的是第一阶段: 启动流程实例:/** 提交申请 */ public String sub原创 2015-01-13 21:48:35 · 5803 阅读 · 8 评论 -
【整合篇】Activiti业务与流程整合之查询(三)
继前两篇博客:应用第三种方式 实体中不需要引入任何与工作流相关的任何属性,单纯的做好自己即可!例如如下申请实体(Leave):package com.tgb.itoo.basic.entity;import java.util.Date;import java.util.HashSet;import java.util.Map;import java.util.Set;原创 2015-02-23 19:15:09 · 6985 阅读 · 9 评论 -
【基础篇】工作流技术JBPM4.4开发入门(二)
继续上篇博客的介绍 举例说明JBPM帮我们做的工作: 其一:流程的调用工作,实现自动化且灵活化 说明:每完成一个任务后,将会自动执行下一个流程 对应的xml文件原创 2014-11-24 22:22:56 · 3211 阅读 · 16 评论 -
【应用篇】Activiti外置表单简单应用(三)
Activiti的简单应用,使用外置表单的方式将业务页面绑定到工作流的结点上,当执行到当前结点时,打印出绑定表单的内容。 新建4个form页面,页面内容随便写些内容即可:按照下图的方式依次绑定:流程变量设置如图,其他的类似:对应生成的xml:原创 2015-06-08 10:51:46 · 23264 阅读 · 4 评论 -
【应用篇】Activiti外置表单实例demo(四)
在这里我想说的外置表单,是说我们将我们自己的jsp(.form,.html)等页面上传到工作流的数据库中,当任务执行到当前结点时,给我们像前台发送绑定好的表单。 此处是给表单绑定表单的过程不同意为:${deptLeaderPass =='false'} 下面我们看start.form对应的内容: 简单的html页面: 请假类型: 公休 病假 调休原创 2015-06-08 15:01:37 · 40845 阅读 · 9 评论 -
JAVA 并发编程-线程与进程的由来(一)
在学习Java编程之初,我们就接触过Java线程,当时敲过代码也总结过,但是现在看来还是有点缺陷,并没有联系线程的由来来说明问题,只是简单的介绍了什么是进程,什么是线程,以及它们之间的关系-《Java-线程》。今天我们从进程和线程的由来来补充一下之前的总结。参考:http://www.cnblogs.com/dolphin0520/p/3910667.html一.操作系统中为什么会出现进程?说起进原创 2015-07-09 14:28:40 · 3458 阅读 · 5 评论 -
【SSH 基础】浅谈Hibernate关系映射(4)
继上篇博客 多对多关联映射(单向) 多对多对象关系映射,需要加入一张新表完成基本映射。Hibernate会自动生成中间表Hibernate使用many-to-many标签来表示多对多的关联,多对多的关联映射,在实体类中,跟一对多一样,也是用集合来表示的。 如下图所示通过User可以查看Role的信息 User的映射文件原创 2014-08-05 09:01:38 · 2165 阅读 · 21 评论 -
Spring Web Flow 入门demo(一)简单页面跳转 附源码
Spring Web Flow (SWF)是Spring Framework的一个脱离模块。这个模块是Spring Web应用开发模块栈的一部分,Spring Web包含Spring MVC。Spring Web Flow的目标是成为管理Web应用页面流程的最佳方案。当你的应用需要复杂的导航控制,例如向导,在一个比较大的事务过程中去指导用户经过一连串的步骤的时候,SWF将会是一个功能强大的控制器。原创 2015-06-16 09:32:21 · 41830 阅读 · 13 评论 -
CAS 实现单点登录(SSO)数据库查询认证机制-xml方式(三)
继前面介绍过基于CAS实现单点登录(SSO)的实例演示,演示过程中服务端认证机制采用的是默认配置即CAS Servier默认用户名和密码一致即可登录成功,那么本文将侧重于应用方面,真正通过查询用户名密码来进程验证用户是否可以登录。 CAS Server添加相关的jar包 需要在web项目的lib下添加两个包:cas-server-support-jdbc-x.x.x.jar和 mysq原创 2015-04-17 19:50:38 · 6248 阅读 · 13 评论