1.1     Struts2 上节已讲.struts2在webwork基础发展起来的mvc框架.MVC框架相信一般码农都比較了解,这里不再重说. 在这里只对于一下struts1,struts2做了哪些改进呢?(下面内容从网上汇总) Ø  Struct2的action是一个请求相应一个实例(每次请求都会new出一个对象),没有线程安全方面的问题 Ø  Action不再依赖servlet api,有利于測试.而且实现tdd Ø  选择使用pojo类来封装请求的參数 1.2     Struts2软…
大纲 创建自己的composer库 提交到指定平台 测试安装自己的库 设置composer平台自动更新 如何方便测试自己开发的库 开始动手 创建自己的composer库 个人博客后台有一部分是关于统计的,通过UA获取浏览器,设备,操作系统.本人封装了一个库,放在github上,源码地址:https://github.com/apanly/browser-detector,任何一个文件夹只有有个composer.json文件,就可以作为一个库或者项目的,大家可以自行在github新建自己的项目 b…
语言包类: 相关配置项 LANG_FOLDER : 语言包目录名,默认为Lang LANG_AUTO : 自动识别语言,默认为true DEFAULT_LANG : 默认语言,默认为zh-cn方法 取值 : Lang::get($name) eg : Lang::get('PAGE_AUTH_NOT'); // 返回:没有权限访问 手动加载语言包 : Lang::loadLang($lang) eg : Lang::loadLang('zh-cn'); 其他看类和注释: <?php /** *…
Android高效率编码-细节,控件,架包,功能,工具,开源汇总 其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来看看,这样子对自己也有好处,所以今天就汇总一下一些需要的东西.多图来了,加油! 一.游戏 小熊打字,我刚接触电脑练习打字的时候用到的 下载地址:http://download.csdn.net/detail/qq_26787115/9365721 二.色彩 这张颜色表上的颜色都太赞了 三.控件 1.…
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动不同浏览器,并做一些前提操作,例如:最大化浏览器窗口和,打开测试服务器地址. 今天这篇宏哥打算介绍如何封装几个Selenium公共的方法到页面基类中去.首先宏哥给小伙伴或者童鞋们解释一下页面基类,看到基类,我们想起了继承.没错,在这个框架基于POM的思想上,我们需要利用继承的特点,来实现,减少我们重…
from:http://blog.csdn.net/dengzikun/article/details/5807694 最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包.解包的文档和代码.功夫不负有心人,找到不少有价值的文档和代码.参考这些资料,写了H264 RTP打包类.解包类,实现了单个NAL单元包和FU_A分片单元包.对于丢包处理,采用简单的策略:丢弃随后的所有数据包,直到收到关键帧.测试效果还不错,代码贴上来,若能为同道中人借鉴一二,足矣.两个类的使用说…
Android特效专辑(十二)--仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View 先来看看这个效果 这是我的在Only上添加的效果,说实话,Only现在都还只是半成品,台面都上不了,怪自己技术不行,也太懒了 PS:这个view也是我模仿了人家的效果,参考了人家的思路写的,不是纯手撸,罪过罪过,网上应该也能找到很多这样的效果,我只是加入了一些自己的需求在里面 我么新建一个工程--Whew RoundImageView 这个之前讲过,网上 的粒子,把头像变成圆形的,这里就不多说了,直接撸代码…
在<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>教程中,我们介绍了如何使用“客服接口”,即在服务器后台,在任意时间向微信发送文本.图文.图片等不同类型的消息,在这篇教程中你将学会如何向公众号发送一条带有选择按钮的菜单消息,并且当用户点击不同选项之后,服务器给出不同的回应. 首先,我们来看一下菜单消息长什么样子: (图一) 点击不同的选项,系统会返回不同的消息: (图二) 请注意:上图中的“满意”和“一般”是点击消息中的“满意”和“一般”之后自动发送的…
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher:             #创建一个老师类     __isinstance = None     #创建一个私有静态变量, 准备用来指向一个裸着的对象     def __new__(cls, *args, **kwargs): #创建一个裸着的对象         if not cls.__is…
二十三. Python基础(23)--经典类和新式类 ●知识框架   ●接口类&抽象类的实现 # 接口类&抽象类的实现 #①抛出异常法 class Parent(object):     def method1(self):         raise NotImplementedError   class Child(Parent):     def method2(self):         print('method2')   c=Child() c.method1() ''' .…
为什么要使用包? 答案很简单:因为包的功能强大.设计期包(design-time package)简化了自定义组件的发布和安装:而运行期包(run-time package)则更是给传统的程序设计注入了新鲜的力量.一旦把可重用的代码编译为运行期库中,你就可以在多个应用程序中共享它们.所有应用程序都可以通过包访问标准组件,Delphi自己就是这么干的.因为应用程序不必在可执行文件中单独复制一份组件库,这样就大大节省了系统资源和磁盘空间.此外,包还可以减少花费在编译上的时间,因为你只需编译应用程序特…
4.2 未考虑TCP粘包导致功能异常案例 如果代码没有考虑粘包/拆包问题,往往会出现解码错位或者错误,导致程序不能正常工作. 4.2.1 TimeServer 的改造 Class : TimeServer package com.phei.netty.chap4; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInit…
Java反射机制demo(二)—通过Class实例化任意类的对象 上一章节中,实例化了Class类对象的实例,这个部分的demo展示了如何使用Class对象的实例去获得其他类的对象的实例. 任意一个类,UserInfo, package com.aaron.reflect; public class UserInfo{ private int userId; private String name; private int age; public int getUserId() { return…
最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包.解包的文档和代码.功夫不负有心人,找到不少有价值的文档和代码.参考这些资料,写了H264 RTP打包类.解包类,实现了单个NAL单元包和FU_A分片单元包.对于丢包处理,采用简单的策略:丢弃随后的所有数据包,直到收到关键帧.测试效果还不错,代码贴上来,若能为同道中人借鉴一二,足矣.两个类的使用说明如下(省略了错误处理过程): DWORD H264SSRC ; CH264_RTP_PACK pack ( H264S…
Go 的标准库 Go语言的标准库覆盖网络.系统.加密.编码.图形等各个方面,可以直接使用标准库的 http 包进行 HTTP 协议的收发处理:网络库基于高性能的操作系统通信模型(Linux 的 epoll.Windows 的 IOCP):所有的加密.编码都内建支持,不需要再从第三方开发者处获取 Go 语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等.Go 语言的周边工具也是建立在这些标准库上.在标准库上可以完成几乎大部分的需求 Go 语言的标准库以包的方式提供支持…
最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包.解包的文档和代码.功夫不负有心人,找到不少有价值的文档和代码.参考这些资料,写了H264 RTP打包类.解包类,实现了单个NAL单元包和FU_A分片单元包.对于丢包处理,采用简单的策略:丢弃随后的所有数据包,直到收到关键帧.测试效果还不错,代码贴上来,若能为同道中人借鉴一二,足矣.两个类的使用说明如下(省略了错误处理过程): DWORD H264SSRC ;  CH264_RTP_PACK pack ( H264…
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 其实感觉活学活用 非常有用处 阅读目录 0x00 软件包管理器 0x01 程序包管理器的组成 0x02  获取可靠安全程序包的途径 0x03 rpm包命名格式 0x04 CentOS系统上rpm命令管理程序包 参考 0x00 软件包管理器 所有的软件都是由文件格式的程序代码(即源代码),经过编译成…
问题:在struts2框架下,如何将表单数据传递给业务控制器Action. struts2中,表单想Action传递参数的方式有两种,并且这两种传参方式都是struts2默认实现的,他们分别是基本属性注入.域模型注入 .其中: ---基本属性注入,是将表单的数据项分别传入给Action中的一些基本基本类型. ---域模型注入,是将表单的数据项打包传入给Action中的一个实体对象. 我们项目Struts2的实例,在其基础上使用这2中方式完成页面向Action的参数传递.具体的我们可以在项目首页r…
接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中也基本都是在struts2配置文件中设置呢,也提倡大家在这里写,方便统一管理,所以可以说是如何编写struts2.xml的编写. 一,框架的扩展名问题: 1,struts2框架的默认扩展名:.action和空字符串. 在框架的属性文件default.properties中进行默认配置:struts.…
一.struts2的跳转 1.action跳转JSP a.默认为forward <action name="action1" class="com.liquidxu.struts2.FirstAction"> <result name="success" type="dispatcher">/admin/index.jsp</result> </action> <resul…
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化,struts2的文件上传下载. 把这几个功能都学会了使用之后,struts2基本上就学完了.所以接下来的文章就是对这几个功能进行讲解.如何使用.…
一.封装请求正文到对象中(重点) 1.1.静态参数封装 在struts.xml文件中,给动作类注入值,使用的是setter方法 1.2.动态参数封装 通过用户表单封装请求正文参数 1.2.1.动作类作为实体模型 也就是说动作和实体模型写在一起. 实体模型:entity.对应数据库中表的记录(类对应的是表的结构,而对象对应的是一条记录) 1.2.2.数据模型和动作类分开写 数据模型:User 动作类:Demo2Action 原理:当我们在动作类中的SetUser和getUser分别输出时 所以我们…
1 自定义结果视图 1.1 自定义一个类实现com.opensymphony.xwork2.Result接口. package com.xuweiwei.action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.Result; import org.apache.struts2.ServletActionContext; import javax.imageio.ImageIO;…
上篇文章我们了解了怎么配置struts.xml文件,以及前端控制器配置怎么配置,,Action进阶,Result结果配置,Struts2中的Servlet的API的访问,以及怎么获得请求参数.今天我们在深入讲解一下OGNL表达式,OGNL中的符号,和常用的拦截器,标签库 一,OGNL表达式 1.概述 1.1什么是OGNL ​ OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对…
struts可查看源码:https://github.com/apache/struts 在学习struts2之前,我先看了一些比较早版本对struts2的工作原理相关的介绍,顺便抄写过来,用来帮助自己要弄清这个框架的工作原理. struts2.1.3之前使用的FilterDispatcher,之后的版本使用StrutsPrepareAndExecuteFilter,而我这里还是以Dispatcher为例来记录的. 依据: Since Struts 2.1.3, use org.apache.s…
---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的不正常情况,将情况用java的类的形式进行描述.并封装成对象. (二)异常分类 对异常问题的分类:“严重的的Error”和“不严重的Exception” (1)一种是严重的问题:对于严重的问题,java通过Error类进行描述. (2)一种是不严重的问题:对于非严重的,java通过Exception…
Struts2总结 Struts2完整的处理流程: 1  客户端发送请求,交给struts2控制器(StrutsPrepareAndExecuteFilter). 2  Filter控制器进行请求过滤,如果是/actionName.action,/actionName(默认)两种格式请求,执行后给Action处理. 3 Filter控制器创建一个ValueStack对象,讲Action对象压入栈顶,将request,session,application等对象装入Context区域. 4  Fi…
一.概述 1.struts框架本身分为三个部分:核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 2.struts2工作的基本流程: 客户端初始化一个指向Servlet容器的请求 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter被调用,该过滤器询问ActionMaper这个请求是否需要调用某个Action 如果ActionMapper决定需要调用某个Actio…
一.模块 1)定义: 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2)为何要用模块: 退出python解释器然后重新进入,那之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script. 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理.这时我们不仅仅可以把这些文件当做脚本去执行,还可以…
1.编写Javabean /src/myuser/User.java 在strut1中,Javabean需要继承于struts1 api中的ActionForm类.struts2没有此要求 struts2 也没有formbean,通常使用Domain Model的方式向action注入数据 package myuser; public class User { private int id; private String userName; private String pwd; public…