自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 文件上传,下载和邮件

文件上传的基本条件和步骤文件上传的基本条件:1、 必须提供form表单2、 form表单的请求方式为post3、 form表单的enctype属性值必须为multipart/form-data4、 提供input的file类型标签5、 必备文件上传的架包和其依赖包文件上传思路步骤:1、 获取工厂DiskFileItemFactory2、 通过工厂获取文件上传

2016-11-07 14:31:38 403

原创 文件上传,下载和邮件

文件上传的基本条件和步骤:文件上传的基本条件:1.必须提供form表单2.form表单的请求方式为post3.form表单的enctype属性值必须为multipart/form-data4.提供input的file类型标签5.必备文件上传的jar包和其依赖包文件上传思路步骤:1.获取工厂DiskFileItemFactory2.通过工厂获取文件上传核心

2016-11-07 10:54:57 250

原创 过滤器和监听器

过滤器的原理:过滤器:对指定的资源访问进行过滤和传播,过滤掉权限限制的请求,传播被过滤资源的共性功能。原理图:过滤器的编程步骤:1.创建一个普通类,该类实现Filter接口,并实现所有的方法2.在web.xml中配置过滤器过滤器名称过滤器的全限定类名过滤器名称需要过滤资源的路径3.书写过滤器中的doFilter方法,实

2016-11-07 10:02:34 261

原创 Git 介绍

GIT(分布式版本控制系统)Git是一款免费,开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。Git是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。权限校验:首先,您的数据保存在远端服务器一份,服务器需要对您的身份识别。一段RS

2016-11-01 11:57:13 515

原创 Ajax入门

Ajax(Asynchronous JavaScript And XML):指异步javaScript及XML不是新的编程语言,而是一种用于创建更好更快以及交互性更强的web应用程序的技术,是基于javaScript,XML ,HTML ,CSS新用法Ajax:只刷新局部页面的技术javaScript:更新局部的网页XML:一般用于请求数据和响应数据的封装XMLHttp

2016-10-31 16:41:02 212

原创 系统管理命令

date显示或设置系统时间               date显示当前系统时间               date -s "2014-01-01 10:10:10"                 设置系统时间df:显示磁盘信息       df-h:友好显示大小free:显示内存状态        free -m: 以mb单位显示内存组昂头top:

2016-10-31 09:36:07 195

原创 Linux-网络通讯命令

ifconfig  显示或设置网络设备:               ifconfig   显示网络设备               ifconfig  eth0    up                 启用eth0网卡               ifconfig  eth0    down            停用eth0网卡ping          探

2016-10-28 17:28:32 227

原创 Linux-重定向输出>和>>

重定向输出>和>>:>重定向输出>>重定向输出,又追加功能;示例:cat   /etc/passwd      >a.txt                            将输出定向到a.txt中cat  /ect/passwd       >>a.txt                          输出并且追加管道:"|"管道是Linux命令中重

2016-10-28 17:21:41 185

原创 Linux-文件创建与编辑

进入命令:在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件三种模式:命令行,插入,底行模式                    切换到命令行模式:按Esc键                    切换到插入模式:按i   ,   o   ,  a键                    切换到底行模式:按:(冒号)

2016-10-28 17:07:04 295

原创 Linux基本命令

文件相关命令:浏览目录命令:ls   ,  cd    ,    ll     ,  dir1.cd命令:(a)cd..                           切换到上一层目录(b)cd./                           切换到当前目录下某个目录(c)cd-                            切换到上一个所在目

2016-10-28 15:32:11 217

原创 高级结果映射

MyBatis 创建的一个想法:数据库不用永远是你想要的或需要它们是什么样的。而我们最喜欢的数据库最好是第三范式或 BCNF 范式,但它们有时不是。如果可能有一个单独的数据库映射,所有应用程序都可以使用它,这是非常好的,但有时也不是。结果映射就是MyBatis 提供处理这个问题的答案。比如,我们如何映射下面这个语句?selectB.id as blog_id,B.tit

2016-10-28 13:11:38 260

原创 SQL映射的XML

MyBatis 真正的力量是在映射语句中。这里是奇迹发生的地方。对于所有的力量,SQL映射的 XML 文件是相当的简单。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache - 配置给定命名空间的缓存。cache-ref – 从其他命名空间引用缓存配置。resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象。

2016-10-27 17:18:36 244

原创 XML映射配置文件

MyBatis 的 XML 配置文件包含了影响 MyBatis 行为甚深的设置和属性信息。XML 文档的高层级结构如下:   configuration 配置     properties 属性     settings 设置     typeAliases 类型命名     typeHandlers 类型处理器     objectFactory 对象工厂     p

2016-10-27 14:57:17 546

原创 mybatis-范围和生命周期

SqlSessionFactoryBuilder:这个类可以被实例化,使用和丢弃。一旦你创建了 SqlSessionFactory 后,这个类就不需要存在了。因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围(也就是本地方法变量)。SqlSessionFactory:一旦被创建,SqlSessionFactory 实例应该在你的应用程序

2016-10-27 14:40:30 198

原创 mybatis入门

每一个MyBatis 的应 用程序 都以一 个 SqlSessionFactory 对象的 实例为 核心。SqlSessionFactory 对 象 的 实 例 可 以 通 过 SqlSessionFactoryBuilder 对 象 来 获 得 。SqlSessionFactoryBuilder 对象可以通过 XML 配置文件,或从以往使用惯例中准备好的Configuration 类实例中来

2016-10-27 13:35:49 203

原创 命名空间

命名空间在之前版本的 MyBatis 中是可选项,非常混乱在使用上也没有帮助。现在,命名空间是必须的,而且有一个目的,它使用更长的完全限定名来隔离语句。命名 解析:为了减少输入量,MyBatis 对所有的命名配置元素使用如下的命名解析规则,包括语句,结果映射,缓存等。直接查找完全限定名(比如“com.mypackage.MyMapper.selectAllThings”),如果发现就使用。

2016-10-27 13:32:21 208

原创 在XML中构建SqlSessionFactory

"http://mybatis.org/dtd/mybatis-3-config.dtd">environment 元素体中包含对事务管理和连接池的环境配置。mappers 元素是包含所有 mapper (映射器)的列表,这些 mapper的 XML 文件包含 SQL 代码和映射定义息。

2016-10-26 13:16:43 761

原创 Java-IO

决定输入的有关所有类都是从InputStream继承,而与输出有关的所有类都是从OutputStream继承。InputStream 的类型:InputStream的作用是标志那些从不同起源地产生输入的类。这些起源地包括:1.字节数组2.String对象3.文件4.“管道”:它的工作原理与现实生活中的管道类似:将一些东西置入一端,它们在另一端出来。5.一系列

2016-10-24 16:16:09 140

原创 ActiveMQ

java中有JMS的多个实现。其中apache下的ActiveMQ就是不错的选择。用ActiveMQ最好还是了解一下JMSJMS定义了两种方式:Queue(点对点)和Topic(发布/订阅)ConnectionFactory 是连接工厂,负责创建Connection。Connection 负责创建 Session。Session 创建 MessageProd

2016-10-20 13:13:14 167

原创 JMS应用程序接口

ConnectionFactory接口(连接工厂)用户用来创建与JMS提供者连接的被管对象。JMS客户通过可移植的接口访问连接,这样当下层的实现改变时,代码不需要进行修改。 管理员在JNDI名字空间中配置连接工厂,这样,JMS客户才能够查找到它们。根据消息类型的不同,用户将使用队列连接工厂,或者主题连接工厂。Connection接口(连接)连接代表了应用程序和消息服

2016-10-20 11:45:50 886

原创 JMS组成元素

JMS提供者:连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。JMS客户:生产或消费消息的基于Java的应用程序或对象。JMS生产者:创建并发送消息的JMS客户。JMS消费者:接收消息的JMS客户。JMS消息:包括可以在JMS客户之间传递

2016-10-20 10:22:06 263

原创 JMS的可靠性机制

确认:JMS消息只有在被确认之后,才认为已经被成功地消费了。消息的成功消费通常包含三个阶段:客户接收消息,客户处理消息,消息被确认。在事务性会话中,当一个事务被提交的时候,确认自动发生。在非事务性会话中, 消息何时被确认取决于创建会话时的应答模式 (acknowledgement mode) 。该参数有以下三个可选值:1.Session.AUTO_ACKNOWLEDGE

2016-10-19 13:54:13 212

原创 JMS的基本构件

连接工厂:连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。连接:JMS Connection 封装了客户与 JMS 提供者之间的一个虚拟的连接。会话:JMS Session 是生产和消费消息的一个单线程上下文。会话用于创建消息生产者(producer)、消息消费者(consumer)和消息

2016-10-19 13:30:26 310

原创 camel-JndiRegistry

JndiRegistry正如它的名字一样是基于JNDI的注册,它是camel集成的第一个注册,因此也是camel默认的注册。JndiRegistry经常是被用来测试或者单独运行camle,在camel中大部分的单元测试都是使用JndiRegistry,因为它在SimpleRegistry添加到Camel之前被创建的。假如在应用服务器中你需要用到JNDI registry,你可以向下

2016-10-18 14:34:26 466

原创 camel-SimpleRegistry

SimpleRegistry实际上是基于Map的注册,它主要被用于测试,或者单独的运行camel。下面举一个例子,使用SimpleRegistry去单元测试Camel路由。public class HelloBean {public String hello(String name) {return "Hello " + name;}}public clas

2016-10-18 14:17:57 955

原创 camel-bean

使用Processor调用HelloBean中的hello方法:public class HelloBean {public String hello(String name) {return "Hello " + name;}}public class InvokeWithProcessorRoute extends RouteBuilder {publi

2016-10-18 10:30:43 705

原创 camel类型转换-convertBodyTo

假设您需要使用javax.jmx.TextMessage文件路由到一个JMS队列,你需要转换每一个文件为String。from("file://riders/inbox").convertBodyTo(String.class).to("activemq:queue:inbox");用Spring Xml的方式实现上述的代码:上述的代码可

2016-10-17 16:53:46 1626

原创 camel-JAXB

使用JAXB序列化对象到Xml,并将Xml转换成对象。org.apace.camel.spi.DataFormat包含两个方法:marshal:—封送处理消息转换为另一种形式,例如:封装java对象到 XML ,  CSV ,  EDI ,  HL7 ,或者其它知名的格式。unmarshal:—执行相反的操作,

2016-10-17 14:20:47 583

原创 Xml格式的转换-marshaling

通过在camel中使用XStream将信息转换为Xml格式:通过marshal将信息转换成Xml发送到activemq:queue消息队列中。也可以在路由的一开始就使用XStream数据格式:也可以用Java DSL,写法更加简单:from("direct:foo").marshal().xstre

2016-10-17 14:00:50 811

原创 camel-XSTL component

XSTL component:from("file://rider/inbox").to("xslt://camelinaction/transform.xsl").to("activemq:queue:transformed")文件的消费者将文件路由到XSLT component,并使用Style sheet样式来转换负载的信息。转换之后,信息被路由到jms

2016-10-14 16:57:16 215

原创 camel-Transform

Transform()是java DSL中的一个方法,用于在camel路由中转换消息。下面举一个小例子:假设你需要将HTML文本中的标签替换成那么我们可以这样做:from("direct:start").transform(body().regexReplaceAll("\n", "")).to("mock:result");也可以通过下面的方法来实现上述的功能

2016-10-14 11:17:26 932

原创 camel-exchange

在Exchange中使用getIn 和getOut方法:camel Exchange定义了两种方法去获取信息。getIn 和getOut。getIn()方法返回进入的信息。getOut()方法访问出站的信息。有两种场景是camel使用者必须决定使用上述的方法:read-only场景:例如当你记录进入的消息。write场景:例如当你转换消息。在第二个场景中,你认为

2016-10-14 10:29:58 1363

原创 camel10

如果一个消息并没有发送到目的地,那么我么该做怎样的处理呢?在camel我们可以使用stopOnException这个特性:ExecutorService executor = Executors.newFixedThreadPool(16);from("jms:xmlOrders").multicast().stopOnException().parallelProcess

2016-10-13 09:57:42 355

原创 camel9

看似好像基于内容的路由(Context base route)是一个结束的路由。消息只能传送到几个目的地中的一个。其实并非如此。from("jms:incomingOrders").choice().when(header("CamelFileName").endsWith(".xml")).to("jms:xmlOrders").when(header("CamelFileN

2016-10-12 13:55:13 359

原创 camel8

Content base router:from("jms:incomingOrders").choice().when(predicate).to("jms:xmlOrders").when(predicate).to("jms:csvOrders");Predicate是camel中一个很简单的接口,只有一个matches方法public i

2016-10-12 13:18:55 246

原创 camel8

Spring xml配置camel:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans

2016-10-11 10:41:23 340

原创 camel7

在路由的过程中添加一个Process进行处理的过程:FTP作为输出的消费者将消息发送给Processor,然后Processor发送给生产者JMS queue

2016-10-10 18:05:48 233

原创 camel6

路由的过程:JMS:JMS有两种类型的JMS目的地:1.queuesqueues是point-to-point点对点的通道。每一个信息只有一个接收者。2.topicstopics将消息的副本发送给所有的客户机,订阅者来接收那些消息。添加jms组件:CamelContext context = new DefaultCamelConte

2016-10-10 14:36:55 341

原创 camel5

Producer:producer是camel的抽象实体,能够创建Exchange,把message填充到Exchange,并发送信息到Endpoint.Consumer:consumer是能够接收producer生产消息的服务。并将接收的Exchange发送给Processor进行处理。在camel中有两种类型的Consumer:1.event-driven

2016-10-10 13:55:04 320

原创 camel4

ENDPOINT:endpoint是camel的抽象通道模型,在这个通道中可以发送消息,接收消息。可以通过使用URIs来配置endpoint,例如: file:data/inbox?delay=5000Endpoint URIs被划分成3个部分:Scheme  ,Context Path ,Options。Schema是camel组件

2016-10-10 13:30:55 229

空空如也

空空如也

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

TA关注的人

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