在中国程序界.我们都是学着Hello World !慢慢成长起来的.逐渐从一无所知到熟悉精通的. 第二章就从Hello World 开始讲述Netty的中文教程. 首先创建一个Java项目.引入一个Netty 框架的包.这个步骤我在本系列教程的后面就不在重复了. 先上一张我示例的项目工程图给大家看一下: 1.下载并为项目添加Netty框架 Netty的包大家可以从Netty官网:http://netty.io/downloads.html 下载 如图所示: Netty提供了三个主要版本的框架包给…
在中国程序界.我们都是学着Hello World !慢慢成长起来的.逐渐从一无所知到熟悉精通的. 第二章就从Hello World 开始讲述Netty的中文教程. 首先创建一个Java项目.引入一个Netty 框架的包.这个步骤我在本系列教程的后面就不在重复了. 先上一张我示例的项目工程图给大家看一下: 1.下载并为项目添加Netty框架 Netty的包大家可以从Netty官网:http://netty.io/downloads.html 下载 如图所示: Netty提供了三个主要版本的框架包给…
Netty4.x中文教程系列(一)目录及概述 Netty 提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. Netty是一个NIO客户端 服务端框架.允许快速简单的开发网络应用程序.例如:服务端和客户端之间的协议.它最棒的地方在于简化了网络编程规范.例如:TCP和UDP socket服务. Netty官网:Netty.io 笔者个人理解: Netty本身是用于快速构建服务端与客户端之间通信协议的框架.Netty在消息处理上使用责任链模式,用户可…
Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么.加上忙着工作上出现了一些问题.本来想就这么放弃维护了.没想到有朋友和我说百度搜索推荐了我的文章.瞬间有点小激动啊.决定自己要把这个教程系列完善下去.这里诚挚的想支持我的盆友们道歉.真的是让你们失望了.我居然有想放弃的这种丧心病狂的念头.以后绝对不会了. 其实伴随着对Netty的逐步深入学习.感觉自己对netty的了解仍然有所欠缺.加上笔者语文课是美术老师教的.所以..说多了都是泪…
Netty4.x中文教程系列(五)编解码器Codec 上一篇文章详细解释了ChannelHandler的相关构架设计,版本和设计逻辑变更等等. 这篇文章主要在于讲述Handler里面的Codec,也就是相关的编解码器.原本想把编解码器写在上一篇文章里面的.后来想想Netty里面的编解码器太多了.想要一次写完比较困难.于是重新开了一篇文章来专门写这个. 1.     Hello World !实例中的使用 在这里先讲一下我们第一篇文章里面的实例使用到编解码器. 1.1 DelimiterBased…
Netty4.x中文教程系列(四)  对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个User对象,一定要实现Serializable接口: package mjorcen.netty.object; import java.io.Serializable; /** * User: hupeng Date: 14-6-3 Time: 上午1:31 */ public class Use…
Netty4.x中文教程系列(四)  ChannelHandler 上一篇文章详细解释了Hello World示例的代码.里面涉及了一些Netty框架的基础. 这篇文章用以解释ChannelHandler.笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对Netty的.ChannelHandler做过阐述.里面主要描述了4.x版本相对于3.x版本的改动以及影响.并引用了一些文章.为大家详细的解释了ChannelHandler里面涉及架…
Netty 中文教程 (二) Hello World !详解 上一篇文章,笔者提供了一个Hello World 的Netty示例. 时间过去了这么久,准备解释一下示例代码. 1.HelloServer 详解 HelloServer首先定义了一个静态终态的变量---服务端绑定端口7878.至于为什么是这个7878端口,纯粹是笔者个人喜好.大家可以按照自己的习惯选择端口.当然了.常用的几个端口(例如:80,8080,843(Flash及Silverlight策略文件请求端口等等),3306(Mysq…
先贴个本帖的地址,免得其它网站被爬去了struts2入门系列二之Hello World  即 http://www.cnblogs.com/linghaoxinpian/p/6898779.html 你可以在我的百度网盘上下载样例项目 https://pan.baidu.com/s/1pL7DgwF 在struts2 web Application中,当用户点击一个连接或是提交一个表单时,他的请求将会被发送到你指定的java类中,而不是其它服务器页面(不理解也没关系,写完你就明白了).那个指定的…
"Hello World"的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什.方便自己以后更灵活的使用和扩展.   声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会.如果您觉得这太不专业,笔者首先只能抱歉.然后,笔者曾转过<Netty代码分析>,您可参考. ChannelEvent 先说这个ChannelEvent,因为Netty是基于事件驱动的,就是我们上文提到的,发生什么…
1.下载并为项目添加Netty框架 1. Netty的包大家可以从Netty官网:http://netty.io/downloads.html 下载 如图所示: Netty提供了四个个主要版本的框架包给大家下载. 3.9版本Final 说明这个版本是3.x版本中最新的版本.final意味着功能不再继续添加更新.仅为修改bug等提供继续的更新. 5.x版本由于是开始.不能排除是否稳定运行等问题.加上5.x在4.x的版本上略微修改的.在5.x稳定之前.不推荐大家学习使用. 本教程是基于Netty4.…
这篇文章用以解释ChannelHandler.笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对Netty的.ChannelHandler做过阐述.里面主要描述了4.x版本相对于3.x版本的改动以及影响.并引用了一些文章.为大家详细的解释了ChannelHandler里面涉及架构. 1.在4.x版本中的ChannelHandler ChannelHandler接口是Handler里面的最高的接口. ChannelInboundHand…
最近一些事情.貌似发现很久没更新教程了.这里和大家说一声对不起.教程5的前半部分差不多年前就写好了.但是由于年前我在的项目组项目进度比较紧张.一直在加班.教程的后半部分就一直没有写.年后由于一些公司人事的原因,加上我要搬家换地方.一直都没空.最近项目终于要上线收费了.总算是轻松下来了.准备继续更新下去.把Netty 4的是使用记录下来.作为一点学习经验和读者分享一下. 按照计划是准备先写基础的关于Netty API的部分,然后再发干货.一个我自己独立开发的基于Netty 4.0.17 final…
将近快一年时间没有更新Netty的博客.一方面原因是因为项目进度的问题.另外一方面是博主有一段时间去熟悉Unity3D引擎. 本章节主要记录博主自己Netty的UDP协议使用. 1. 构建UDP服务端 首先我们应该清楚UDP协议是一种无连接状态的协议.所以Netty框架区别于一般的有链接协议服务端启动程序(ServerBootstrap). Netty开发基于UDP协议的服务端需要使用Bootstrap package dev.tinyz.game; import io.netty.bootst…
介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项目:struts_basic2 本帖地址:struts2官方 中文教程 系列十二:控制标签 即 http://www.cnblogs.com/linghaoxinpian/p/6941683.html 下载本章节代码 struts2 if标签 我们在thankyou.jsp中添加如下代码: <s:i…
DataGrid的选择模式 默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改DataGrid 的选择模式. SelectionUnit的选择模式. 成员名称   说明 Cell 选择单元格.单击单元格选中单元格. 单击任何行或列标题不执行. FullRow 选择全行. 单击单元格或行标题可以选择整行. CellOrRowHeader 可选择单元格,也可以通过点击行首选择全行…
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProperty)只能拥有一个binding. 这一点可以通过设置binding对象的方法名得知: public static BindingExpressionBase SetBinding( DependencyObject target, DependencyProperty dp, BindingB…
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和布局取决于为标签们设置的Struts 2主题.Struts 2有三个内置的主题:简单.xhtml和cssxhtml.如果您没有指定主题,那么Struts 2将默认使用xhtml主题. 本帖地址 struts2官方 中文教程 系列十四:主题Theme 即 http://www.cnblogs.com/lingh…
介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml文件中action节点的数量 本帖地址:struts2官方 中文教程 系列十三:利用通配符选择方法 即 http://www.cnblogs.com/linghaoxinpian/p/7047295.html 下载本章节代码 不使用通配符 新建一个PersonAction类,类里包含create.e…
在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章代码 为了使用户能够编辑存储在Person对象…
介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, form, textfield 控件和key属性.本教程将探索使用Struts 2 select, radio, checkbox, and checkboxlist form 控件 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://w…
介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截器.本文还讨论了如何设置日志级别以查看更多或更少的日志消息. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://www.cnblogs.com/linghaoxinpian/p/6916619.html 下载本章节代码 Configu…
在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列八:异常处理  即 http://www.cnblogs.com/linghaoxinpian/p/6915066.html 下载本章节代码 全局异常处理(Global Exception Handling) 使用Struts 2框架,您可以…
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6911223.html 下载本章节代码 信息资源属性文件 在Struts2 we…
Expression Blend实例中文教程系列 本系列文章均转载:银光中国 时间:2010-04-09 09:20责任编辑:银光中国网 点击:次 Expression Blend实例中文教程系列由CSDN社区Silverlight版主jv9所著,该系列教程分基础篇和实例篇,作者结合实际开发经验,以大量的图文,由浅入深的描述Blend在Silverlight和WPF项目开发中的使用. ------分隔线---------------------------- Expression Blend基础…
一.Application介绍 WPF和WinForm 很相似, WPF与WinForm一样有一个 Application对象来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在.和 WinForm 不同的是WPF Application默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Asp.Net WebForm,将定义和行为代码相分离. 微软把WPF中经常使用的功能都封装在 Application…
避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本教材假定你已完成了HelloWorld项目,你可以 下载本章节的代码 在上一节教程中,我们在index.jsp中使用 url tag 创建了一个超链接hello.action 这节我们将探索struts2中其它tags Web应用程序与传统网站不同,Web应用程序可以创建动态响应.为了更方便地引用页…
前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到  保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+   (Linux centos7虚拟机下安装Jdk1.8) MySQL服务:5.6.5+   (Linux Centos7 安装MySQL5.7 图文详解) 二.创建项目 2.1 创建项目父工程 IDEA中创建聚合项目nacos作为父工程,其pom.xml如下 <?xml version="1.0" en…
希望上一篇背景篇让大家对流式计算有了宏观的认识,本篇依据官网是介绍概念,先让我们看看有哪些东西呢?     概念一:Streams     Samza是处理流的.流则是由一系列不可变的一种相似类型的消息组成.举个样例,一个流可能是在一个站点上的全部点击,或者更新到一个特定数据库表的更新操作,或者是被一个服务或者事件数据生成全部日志信息.消息可以被加到还有一个流之后或者从一个流中读取.一个流能有多个消费者,而且从一个流中读取不会删除消息(使得小心可以被广播给全部消费者).另外消息可以有一个关联的k…
一.概述 WCF能够建立一个跨平台的安全.可信赖.事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Service,WSE,MSMQ的并集,有一副很经典的对比图如下: WCF与其他分布式技术对比表 二.WCF中的 "A","B","C" 介绍 我们先看个生活中的例子,某一天,公司的领导让你去送一份合同文件,送文件的过程你可以选择的交通方式为“打车”.“公交”.“地铁”,当然费用是根据发票来报销的,到了…