- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 Struts2类型转换器
概述A 、从一个HTML 表单到一个 Action 对象,类型转换是从字符串到非字符串. –HTTP没有“类型” 的概念.每一项表单输入只可能是一个字符串或一个字符串数组.在服务器端, 必须把String 转换为特定的数据类型B、在struts2中,把请求参数映射到 action 属性的工作由Parameters拦截器负责,它是默认的 d
2015-11-28 13:50:10 728
原创 Struts2的运行流程以及关键拦截器介绍
Struts2的运行流程1、ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法,上图中的StrutsActionProxy类实现类ActionProxy代理类。2、ActionInvoc
2015-11-25 23:35:24 432
原创 值栈与ognl
ValueStack (值栈):1、贯穿整个Action的生命周期(每个Action类的对象实例都拥有一个ValueStack对象).相当于一个数据的中转站.在其中保存当前Action对象和其他相关对象.2、Struts2框架把ValueStack对象保存在名为“struts.valueStack”的请求属性中3、在ValueStack对象的内部有两个逻辑部分:
2015-11-22 20:58:32 402
原创 Struts2通配符映射
1、一个Web 应用可能有成百上千个action 声明.可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系2、通配符映射规则–若找到多个匹配, 没有通配符的那个将胜出–若指定的动作不存在, Struts将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配 –被通配符匹配到的URI 字符串的子串
2015-11-18 23:05:42 684
原创 Struts2零碎点整理
1. 关于 Struts2 请求的扩展名问题1). org.apache.struts2 包下的 default.properties 中配置了 Struts2 应用的一些常量2). struts.action.extension 定义了当前 Struts2 应用可以接受的请求的扩展名.3). 可以在 struts.xml 文件中以常量配置的方式修改 default.pro
2015-11-18 22:20:14 417
原创 Struts2在Action中访问WEB资源
什么是WEB资源? 这里所说的WEB资源是指:HttpServletRequest, HttpSession, ServletContext 等原生的 Servlet API。为什么需要访问WEB资源? B/S 的应用的 Controller 中必然需要访问 WEB 资源: 向域对象中读写属性, 读写 Cookie等等操作均需要用到上述原生的ServletAPI访问方法I
2015-11-17 23:29:32 529
原创 Spring4整合Hibernate4详细示例
1. Spring整合Hibernate,主要是解决什么问题? a、让Spring提供的IOC容器来管理Hibernate的SessionFactory b、让Hibernate使用Spring提供的声明式事物2. 整合步骤: 新建一个Java工程,并新建用来保存依赖jar包的lib目录 ①. 加入Hibernate支持:
2015-11-16 23:31:14 23901 2
原创 Hibernate之管理session与批处理
1. Hibernate 自身提供了三种管理Session对象的方法–Session对象的生命周期与本地线程绑定–Session 对象的生命周期与JTA事务绑定–Hibernate 委托程序管理Session对象的生命周期2.Hibernate中Session管理方式的配置在 Hibernate的配置文件中,hibernate.current_sessi
2015-11-15 21:19:53 574
原创 Hibernate的二级缓存
一、缓存(Cache):计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存二、Hibernate中提供了两个级别的缓存 1、第一级别的缓存是 Session级别的缓存,它是属于事务范围的缓存。这一级别
2015-11-12 22:05:34 691
转载 时间复杂度及其计算
一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推示例:(1) for(i=1;i<=n;i++) //循环了n*n次,当然是O(n^2)
2015-11-12 16:28:24 728
原创 Hibernate之QBC查询与本地SQL查询
1. QBC查询: QBC 查询就是通过使用Hibernate提供的QueryByCriteria API 来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 QBC查询示例(接HQL查询,使用上一篇相同的环境):@Test public void testQBC(){ //1. 创建一个Criteria 对象 Criteri
2015-11-11 22:34:29 505
原创 Hibernate之HQL查询
一、Hibernate 提供了以下几种检索对象的方式:导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 HQL 检索方式:使用面向对象的 HQL 查询语言 QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.
2015-11-10 23:22:09 3425
原创 Java设计模式----状态模式(State)
1. 状态模式的定义: 当一个对象的内在状态改变时,允许其改变行为,这个对象看起来像是改变了其类。状态模式的核心是封装,状态的变更引起了行为的变更。2. 状态模式的角色介绍: a、 抽象状态角色 State 一般是抽象类或者接口,负责对象状态的定义,并且封装环境角色以实现状态的切换。 b、 具体状态角色 ConcreteState
2015-11-06 16:14:25 398
原创 Java设计模式----备忘录模式(Memento)
1. 备忘录模式的定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先的状态。通俗的说,备忘录模式就是一个对象的备份模式,提供了一种程序数据的备份方法。2. 备忘录模式的3个角色: a、 Originator 角色类(发起人) 记录当前时刻的内部状态,负责定义那些事属于备份范围的状态,负责创
2015-11-05 15:08:28 446
原创 Java设计模式----命令模式(Command)
1. 命令模式是一个高内聚的模式,其定义为: 将一个请求封装成一个对象,从而让你用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。2. 命令模式中的3个角色 a、 Receiver 接受者或执行者角色 该角色是处理具体业务的角色,命令传递到这里是应该被执行的。 b、 Command 命令角色 需要执行的所有命令
2015-11-04 16:27:05 384
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人