[置顶] OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用

前面文章中,我们已经完成了OSGI应用中Spring、Mybatis、Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询。前面文章中,我们已经搭建好的工作空间如下图所示: 本篇文章中,我们只需要在com.csdn.osgi.user.web工程中添加页面及Controller即可。首先新增一个登录界面,文件路径为在WebConte...
阅读(826) 评论(5)

[置顶] 《AngularJS入门与进阶》图书简介

一、图书封面二、图书CIP信息图书在版编目(CIP)数据AngularJS入门与进阶 / 江荣波著. – 北京 : 清华大学出版社, 2017 ISBN 978-7-302-46074-9 Ⅰ. ①A… Ⅱ. ①江… Ⅲ. ①超文本标记语言-程序设计 Ⅳ. ①TP312.8 中国版本图书馆CIP数据核字(2017)第004868号三、书籍目录第一部分:入门篇 4 第1章 走进Angu...
阅读(1290) 评论(1)

[置顶] OSGI企业应用开发(十四)整合Spring、Mybatis、Spring MVC

作为一个企业级的Web应用,MVC框架是必不可少的。Spring MVC目前使用也比较广泛,本文就来介绍一下如何在OSGI应用中实现Spring、Mybatis、Spring MVC框架的整合,其中Spring MVC的整合比较困难,原因是Spring整合到OSGI中后,每个Bundle都拥有一个孤立的ApplicationContext,也就是说不同Bundle中实例化的Bean之间的依赖注入就存...
阅读(1410) 评论(14)

[置顶] OSGI企业应用开发(十三)OSGI Web应用开发(二)

上篇文章介绍了OSGI Web应用的两种开发模式,并把Jetty应用服务器以Bundle的形式整合到Equinox容器中,已这种模式开发Web应用,所有的应用程序资源,例如Servlet、JSP、HTML页面等,都需要使用OSGI规范提供的HttpService服务进行注册,否则无法通过浏览器请求服务器端资源。一、HttpService服务详解接着我们就来了解一些HttpService服务,它实际上...
阅读(702) 评论(12)

[置顶] OSGI企业应用开发(十二)OSGI Web应用开发(一)

前面文章中介绍了如何在OSGI应用中整合Spring和Mybatis框架,本篇文章开始介绍如何使用OSGI技术开发Web应用。对于传统的Java EE应用,应用中涉及到的Web元素无非就是Servlet、JSP、静态资源等,其中静态资源包括HTML页面、CSS、图片等等。当然还有Portlet、Filter、Listener等,由于不太常用,本文就不涉及这方面的内容了。一、OSGI Web应用两种开...
阅读(791) 评论(0)

[置顶] OSGI企业应用开发(十一)Bundle资源获取途径

使用OSGI模块化标准构建Java EE项目,其中比较繁琐的一个方面就是Bundle资源的获取,因为很多开源框架官方都没有发布Bundle版本的Jar文件,这也是使用OSGI开发企业应用首先要解决的问题。本篇文章中,我们来总结一下Bundle资源的获取途径,包括如下几种方式:一、从SpringSource Enterprise Bundle Repository下载这种方式前面文章中已经提到过,Sp...
阅读(1077) 评论(0)

[置顶] OSGI企业应用开发(十)整合Spring和Mybatis框架(三)

上篇文章中,我们已经完成了OSGI应用中Spring和Mybatis框架的整合,本文就来介绍一下,如何在其他Bundle中,使用Mybatis框架来操作数据库。为了方便演示,我们新建一个新的Plug-in Project工程,名称为com.csdn.osgi.user,表示用户模块。上篇文章中,我们使用标签將用于操作数据库的SqlSessionTemplate实例注册为...
阅读(1396) 评论(4)

[置顶] OSGI企业应用开发(九)整合Spring和Mybatis框架(二)

上篇文章中,我们完成了在OSGI应用中整合Spring和Mybatis框架的准备工作,本节我们继续Spring和Mybatis框架的整合。一、解决OSGI整合Spring中的Placeholder问题使用Spring框架的朋友应该都知道,我们可以在Bean的配置文件中,使用${key}的形式访问properties文件中对应的value值,需要用到Spring中的PropertyPlaceholde...
阅读(1006) 评论(4)

[置顶] OSGI企业应用开发(八)整合Spring和Mybatis框架(一)

到目前为止,我们已经学习了如何使用Blueprint將Spring框架整合到OSGI应用中,并学习了Blueprint&Gemini Blueprint的一些使用细节。本篇文章开始,我们將Mybatis框架整合到OSGI应用中。一、获取Mybatis框架BundleMybatis框架的Bundle获取比较简单,因为Mybatis框架在发布Release版本时就考虑到用户可能会在OSGI应用中使用My...
阅读(1340) 评论(0)

[置顶] OSGI企业应用开发(七)细说Blueprint & Gemini Blueprint(二)

上篇文章介绍了标准的Blueprint 规范与 Gemini Blueprint如何自定义Bean配置文件路径,本文接着上篇文章继续介绍Blueprint的使用。一、Bean的配置前面提到过,Gemini Blueprint即实现了Blueprint 规范,又兼容Spring DM风格的配置,本节我们再来了解一下Blueprint与Spring DM在Bean的配置上的差异,具体如下表所示: (注...
阅读(1054) 评论(0)

[置顶] OSGI企业应用开发(六)细说Blueprint & Gemini Blueprint(一)

上篇文章介绍了如何使用Blueprint將Spring框架整合到OSGI应用的Bundle中,从上篇文章中我们大概了解了Blueprint与Gemini Blueprint的关系,简单的说,Blueprint是OSGI Alliance借鉴了Spring Dynamic Modules 的思想,为OSGI制定的依赖注入(DI)规范,而Gemini Blueprint的前生是Spring DM,它即兼...
阅读(1156) 评论(0)

[置顶] OSGI企业应用开发(五)使用Blueprint整合Spring框架(二)

上篇文章中,我们开发了一个自定义的Bundle,接着从网络中下载到Spring和Blueprint的Bundle,然后复制到DynamicRuntime项目下。 需要注意的是,这些Bundle并不能在Eclipse自带的Equinox启动管理工具中显示,因为我们并没有將这些Bundle添加到自定义的Target Platform中,接下来我们就来完成这一操作。一、启动Spring和Blueprin...
阅读(1248) 评论(2)

[置顶] OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)

上篇文章中介绍了如何使用独立的Equinox发行包搭建OSGI运行环境,而不是依赖与具体的Eclipse基础开发工具,本文开始介绍如何使用Blueprint將Spring框架整合到OSGI中。一、开发一个自己Bundle在整合之前,我们接着上篇文章的内容,先来开发一个自己的Bundle。 首先新建一个Plug-in Project,名称为com.csdn.osgi.common,如下图: a...
阅读(1290) 评论(9)

[置顶] OSGI企业应用开发(三)Eclipse中搭建Equinox运行环境

上篇文章介绍了如何在Eclipse中搭建Felix的运行环境,我们需要將Bundle发布到Felix框架的bundle目录下,Felix框架启动时才会自动加载这些Bundle,否则需要在Felix框架启动后手动安装Bundle,我们可以发现Bundle的管理非常麻烦,而且一旦Bundle启动报错,我们修改代码后,又需要重新发布Bundle进行调试,虽然我们可以使用自动化工具Ant或者Maven进行管...
阅读(1248) 评论(0)

[置顶] OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Felix和Equinox搭建OSGI运行环境。一、搭建Apache Felix运行环境上篇文章中介绍了Felix的下载与使用,本节我们在Eclipse中搭建Felix运行环境,并开发一个自己的Bundle...
阅读(1308) 评论(6)

[置顶] OSGI企业应用开发(一)OSGI简介

一、OSGI简介OSGI全称为Open Service Gateway Initiative(开放服务网关规范),有两个层面的含义,一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。一般Java开发人员所说的OSGI是指由OSGi Alliance组织制定的Java模块化规范,该规范的核心部...
阅读(1106) 评论(0)

[置顶] TCP报文发送工具

该工具用于向Socket服务端发送XML报文,软件功能界面如下图所示: 配置好IP和端口后,单击“载入报文文件”按钮,在文件选择对话框中选择报文文件,如图: 报文文件打开后,可在右侧编辑框中对报文进行编辑,如下图: 单击“发送请求”按钮后,弹出一个新的窗口展示Tcp Server返回的报文信息,如图: 该工具源码已托管至Github,源码地址: https://github.c...
阅读(2052) 评论(5)

[置顶] WebService学习之旅(七)Axis2发布WebService的几种方式

前面几篇文章中简单的介绍了如何使用Axis2发布WebService及如何使用Axis2实现Web服务的客户端调用,本节將详细介绍Axis2发布WebService的几种方式。一、使用aar包方式发布 这种方式也是Axis2官方比较推荐的一种方式,Axis2 提供的Eclipse插件就是以这种方式发布WebService。 这种方式前面我们已经接触过了,这里还是简单的介绍一下步骤:1.新建一个e...
阅读(2773) 评论(0)

[置顶] WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用

上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户端调用辅助类,并实现客户端调用代码的编写。1.將前面下载的axis2-1.7.1-bin.zip解压,新建一个环境变量AXIS2_HOME,值为解压后目录路径。接着在path变量中添加%AXIS2_HO...
阅读(1981) 评论(0)

[置顶] WebService学习之旅(五)基于Apache Axis2发布第一个WebService

上篇博文介绍了如何將axis2 webservice引擎安装到Web容器中,本节开始介绍如何基于apache axis2发布第一个简单的WebService。一、WebService服务端发布步骤 1.打开Eclipse工程,新建一个Java Project,例如笔者工程名为axis2-recipe01。2.编写Web服务接口及实现类 HelloWorld.javapackage com.csd...
阅读(1198) 评论(0)

[置顶] WebService学习之旅(四)Apache Axis2的安装

一、Axis2简介 Axis2是目前使用较多的WebService引擎,它是Axis1.x的升级版本,不仅支持SOAP1.1和SOAP1.2,而且也提供了对REST风格WebService的支持。 Axis2较旧的版本是更有效率,更加模块化和更多的XML类型。它是经过精心设计,可以轻松添加模块,以提升现有的功能特征,例如安全性和可靠性等。二、Axis2下载与目录结构介绍 Apache Axis...
阅读(1553) 评论(0)

[置顶] WebService学习之旅(三)JAX-WS与Spring整合发布WebService

Spring本身就提供了对JAX-WS的支持,有兴趣的读者可以研究下Spring的Spring-WS项目,项目地址: http://docs.spring.io/spring-ws/sites/1.5/downloads/releases.html 基于Spring IoC容器发布Web服务,能够大大降低WebService实现过程,也能够更好的与企业级应用进行整合,本文將和大家介绍如何基于Sp...
阅读(7890) 评论(5)

[置顶] WebService学习之旅(二)JAX-WS基于Web容器发布WebService

在上节中我们定义Web服务接口和实现类后,调用Endpoint类的静态方法publish发布来webservice,这种方法使用起来虽然简单,但是对于一个企业级应用来说通常对外提供的服务可能不止一个,如果每个WebService都去编写一个main方法显然不合适,不利于Web服务的集中管理,而且不方便WebService与Web应用整合。 所以绝大多数情况下都会使用Web容器集中管理WebServ...
阅读(2173) 评论(2)

[置顶] WebService学习之旅(一)使用JAX-WS发布WebService

JAX-WS全称Java™ API for XML Web Services,是随着JDK1.6及其后续版本发布的方便Java程序员开发WebService应用的一组API,通常简称为JWS,目前版本为2.x。 使用JAX-WS编写WebService非常简单,下面介绍WebService服务端及客户端实现。一、开发WebService服务端1.Web服务的接口称为SEI,我们首先要用定义一个接口...
阅读(2066) 评论(8)

[置顶] Java&Xml教程(十一)JAXB实现XML与Java对象转换

JAXB是Java Architecture for XML Binding的缩写,用于在Java类与XML之间建立映射,能够帮助开发者很方便的將XML和Java对象进行相互转换。 本文以一个简单的例子介绍JAXB的使用,首先我们需要了解一下JAXB常用的API。 JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 Marshaller接口,将Java对象序列化为XML数据...
阅读(1348) 评论(6)

[置顶] Java&Xml教程(十)XML作为属性文件使用

我们通常会将Java应用的配置参数保存在属性文件中,Java应用的属性文件可以是一个正常的基于key-value对,以properties为扩展名的文件,也可以是XML文件.在本案例中,將会向大家介绍如何通过Java程序输出这两种格式的属性文件,并介绍如何从classpath中加载和使用这两种属性文件。...
阅读(1392) 评论(0)

[置顶] Java&Xml教程(九)Java中通过XSD校验XML合法性

Java XML校验API能够通过XSD(XML Schema Definition)校验XML文件内容的合法性。在下面的案例中使用javax.xml.validation.Validator 类通过一个xsd文件来鉴定XML内容合法性。 下面是我们将要用于校验的xsd文件和xml文件的内容。 Employee.xsd...
阅读(3814) 评论(0)

[置顶] 自己动手实现Spring IoC框架

钻研Spring 源码也有一段时间了,对Spring IoC的实现原理理解算是比较透彻了,要实现一款IoC容器,简单的概括无非需要以下几个步骤: 1.定义用来描述bean的配置的Java类,例如我们有下面的配置文件: <bean id="person2" class="com.csii.test....
阅读(899) 评论(0)

[置顶] Java&Xml教程(八)使用JDOM将Java对象转换为XML

在前面的教程中我们学习了如何使用JDOM解析和修改XML文件内容,本节介绍如何将Java对象转换为XML数据并生成文件。 JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutputter 类能将Document写到任何OutputStream和Writer对象中。 在本例中我们创建Employee对象集合并将它写到XML文件中。 Employee.javapackage c...
阅读(1472) 评论(0)

[置顶] Eclipse中搭建Apache Tomcat7源码调试环境

第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Source Code Distributions下方的链接进行源码下载。 第二步:Eclipse中新建一个Java Project,例如名称可以是apache-tomcat-source。 第三...
阅读(1691) 评论(1)

[置顶] Java&Xml教程(七)使用JDOM修改XML文件内容

JDOM提供了非常灵活的方式操作XML文件,使用JDOM非常简单而且代码简洁可读性强。前面我们学习了如何使用JDOM解析XML文件,本节介绍如何使用JDOM修改XML文件内容。 在这个教程中,我们准备对下面的XML文件进行修改: employees.xml <Employees xmlns="http://www.jou...
阅读(1791) 评论(1)

[置顶] Java&Xml教程(六)使用JDOM解析XML文件

JDOM 提供了非常优秀的Java XML API来更方便的读取、修改、生成XML文档。JDOM还提供了包装类供用户从SAX、DOM、STAX事件解析、STAX流解析中选择具体的实现。 在本教程中,我们一起学习使用JDOM將读取XML文件信息,并转换为Java对象。 JDOM并非标准JDK的一部分,因此使用JDOM需要从官方网站中下载JDOM的二进制包,下载后將JDOM的Jar包添加到工程的cl...
阅读(1433) 评论(0)

[置顶] Java&Xml教程(五)使用SAX方式解析XML文件

Java SAX解析机制为我们提供了一系列的API来处理XML文件,SAX解析和DOM解析方式不太一样,它并不是將XML文件内容一次性全部加载,而是连续的部分加载。javax.xml.parsers.SAXParser类提供了一些函数,采用事件处理方式解析XML文档,这个类实现了XMLReader接口,提供了重载的parse()方法从File,InputStream,SAX InputSource和...
阅读(982) 评论(0)

[置顶] Java&Xml教程(四)使用DOM方式生成XML文件

在前面的教程中,我们学习了使用DOM解析方式读取和修改XML文件内容,今天我们来学习如何使用DOM解析机制生成XML文件。 下面是我们对要生成的XML文件的具体要求: 1.根节点元素为”Employees”,命名空间为”http://www.journaldev.com/employee“,根节点下包含一系列的Employee元素。 2.员工的信息通过Employee节点表示,生成的XML文件...
阅读(1312) 评论(0)

[置顶] Java&Xml教程(三)使用DOM方式修改XML文件内容

DOM解析方式也可用于修改XML数据,我们可以使用它完成新增元素、删除元素、修改元素值、修改元素属性等操作。 我们的XML文件,内容如下: employee.xml Pankaj...
阅读(4649) 评论(0)

[置顶] Java&Xml教程(二)使用DOM方式解析XML文件

DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象。遍历元素和节点不需要按照顺序进行。 DOM解析方式适合尺寸较小的XML文件,由于它將整个XML文件全部装载到内存中处理,所以不太适合处理尺寸较大的XML文件。对于较大的XML文件需要使用SAX解析。 在本教程中我们将对XML文件读取和解析,并用它来创建对象。下面是...
阅读(684) 评论(0)

[置顶] Java&Xml教程(一)简介

XML是广泛用于数据传输和存储的技术。Java语言提供个各种各样的API来解析XML,例如DOM、SAX、StAX、JAXB。也还有一些其他的API用于解析XML,例如JDOM。本教程的目的是探索使用不同类型的API解析XML和学习使用XML执行一些常见的任务。DOM XML解析DOM解析是最简单的解析方式,將XML文件加载到内存中,然后我们可以通过遍历Node节点来解析XML。DOM解析适用于内容...
阅读(981) 评论(0)

[置顶] Java中常用的操作PDF的类库

iTextiText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。 该项目主页:http://www.lowagie.com/iText/JFreeReportJFreeReport的数据继承自Swing组件的...
阅读(4010) 评论(0)

[置顶] spring-framework-4.1.x源码阅读环境搭建(导入Eclipse)

注意:搭建spring-framework-4.1.x源码 eclipse工作空间需要安装jdk8. spring-framework-4.1.x项目采用目前主流的项目管理工具gradle进行构建,至于使用gradle构建项目的优点此处不做介绍,读者可以自行参考网上相关资料。搭建spring-framework-4.1.x源码的Eclipse工作空间需要以下几个步骤:1.安装Gradlegradle...
阅读(1320) 评论(0)

[置顶] ESB报文自动生成工具

为了提高日常工作效率,自己在闲暇时间写了一款工具,功能界面如下图所示: 从ESB文档中复制报文字段、字段类型、报文字段注释,选择生成文件路径并输入文件名:输入完毕后点击生成按钮,自动生成Context=>Router报文格式: ...
阅读(1437) 评论(0)

[置顶] Java 8 新特性终极指南

1.前言  毫无疑问,Java 8的发布是自从Java5以来Java世界中最重大的事件,它在编译器、工具类和Java虚拟机等方面为Java语言带来的很多新特性。在本文中我们將一起关注下这些新变化,使用实际的例子展示它们的使用场景。 本教程涉及到一下几个部分的内容: 语法规范编译器类库工具Java虚拟机 2.Java语言中的新特性 Java 8 是一个主发行版本,为了实现每一位...
阅读(1030) 评论(1)

[置顶] jboss-as-7.1.1.Final配置Jndi数据源(以mysql为例)

1.获取mysql驱动,可以从mysql官方网站下载: http://dev.mysql.com/downloads/connector/j/2.进入jboss-as-7安装目录下的modules目录,将会看到下图所示子目录: 在com目录中新建mysql\main路径,完整路径为jboss-as-7.1.1.Final\modules\com\mysql\main。3.將mysql驱动my...
阅读(1759) 评论(0)

[置顶] AngularJs轻松入门

AngularJs轻松入门系列博文:http://blog.csdn.net/column/details/angular.htmlAngularJs轻松入门(一)创建第一个应用AngularJs轻松入门(二)数据绑定AngularJs轻松入门(三)MVC架构AngularJs轻松入门(四)模块化AngularJs轻松入门(五)过滤器AngularJs轻松入门(六)表单校验AngularJs轻松入门...
阅读(752) 评论(0)

[置顶] JDK和Cglib实现动态代理实例及优缺点分析

Spring AOP使用的核心技术是动态代理,说到动态代理就不得不和设计模式中的代理模式联系起来,通过代理模式我们可以对目标类进行功能增强,在某个方法的执行前后增加一些操作,例如计算方法执行效率、打印日志等。 看下面的例子,我们有一个目标类Target,我们需要在目标类的test方法中增加日志打印功能,这时候我们就可以通过代理模式来实现: package com.proxy.test;...
阅读(2200) 评论(0)

[置顶] Zxing实现在线二维码生成程序

关于zxing的使用请参考笔者的另外一篇博文:Java二维码生成与解码工具Zxing使用首先我们来看看效果: 在文本框中输入内容后点击生成二维码按钮,应用自动对文本框中的内容进行编码,生成二维码图片显示在下方。要实现这个功能并不复杂,大致思路如下:点击按钮时,获取文本框中的内容提交到一个Servlet进行处理,在该Servlet中使用Zxing工具库对内容进行编码,返回一张图片即可。接下来看一下这...
阅读(759) 评论(0)

Java中(Integer)127 == (Integer)127和(Integer)129 == (Integer)129表达式结果差异分析

一直觉得自己Java基础还不错,但是第一眼看到(Integer)129 == (Integer)129表达式时竟然无法立刻反映过来结果到底是true还是false,不妨先来看一下下面简单的Java程序:package com.csdn.test;public class Main { public static void main(String[] args) { Syste...
阅读(771) 评论(0)

OSGI企业应用开发系列博文源码托管至Github

OSGI企业应用开发系列博文源码已托管至Github,源码地址: https://github.com/rongbo-j/osgi-enterprise-application-dev可以直接单击“Clone or download”按钮下载源码,或者使用Git客户端clone一份,命令如下:git clone https://github.com/rongbo-j/osgi-enterprise...
阅读(509) 评论(0)

国内阿里云Maven镜像(速度飞起)

修改maven根目录下的conf文件夹中的setting.xml文件,内容如下: alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ <mirr...
阅读(389) 评论(0)
183条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:345541次
    • 积分:4735
    • 等级:
    • 排名:第5416名
    • 原创:128篇
    • 转载:33篇
    • 译文:22篇
    • 评论:135条
    小鼠
    个人简介
    Java工程师,参与过网上银行、短信平台、渠道整合平台等大型Java EE项目开发,2016年与清华大学出版社合作编写并出版《AngularJS入门与进阶》一书。

    图书封面:


    图书简介
    目前淘宝、京东等电商网站有售。
    点我购书
    联系方式: jiangrongbo@gmail.com
    博客专栏
    最新评论