摘要: hibernate延迟加载只对load,get,find等一些方法有用,对hql等写SQL的方法无效。(但是属性延迟加载的例子不就是使用HQL么???)hibernate提供了对实体对象、集合、属性三种类型的延迟加载。一、实体对象的延迟加载配置方法<hibernate-mapping><class name="com.neusoft.entity.User" table="user" lazy="true">...</class></hibernate-mapping>使用:User u 阅读全文
posted @ 2012-02-07 22:34 万法自然~ 阅读(275) 评论(0) 推荐(0) 编辑
摘要: struts的第一个版本在2001年5月发布最初设想是通过结合JSP和Servlet,使Web应用的视图和业务/应用逻辑得以清晰地分离开来。(之前的做法是在JSP中加入业务逻辑或在Servlet中通过println()生成视图)到最后,产生了几个下一代Struts的解决方案。其中两个最受瞩目的方案是Shale和Struts Ti。Shale是一个基于构件的框架,并在最近成为 Apache的顶级项目。而Struts Ti则是在Struts的成功经验基础上继续坚持对前端控制器(Front Controller)和MVC(model-view-controller) 模式进行改进。WebWork项目 阅读全文
posted @ 2012-02-07 18:19 万法自然~ 阅读(302) 评论(0) 推荐(0) 编辑
摘要: Struts2的拦截器堆栈(Interceptor Stacks)是一个典型的责任链模式的应用。 首先将整个执行划分成若干相同类型的元素,每个元素具备不同的逻辑责任,并将他们纳入到一个链式的数据结构中(堆栈)。 而每个元素又有责任负责链式结构中下一个元素的执行调用。Struts2的Interceptor一层一层,把Action包裹在里面。这样的结构有一下一些特点: 1、整个结构就如同一个堆栈,除了Action以外,堆栈中的其他元素是Interceptor 2、Action位于堆栈的底部,由于堆栈“先进后出”的特性,如果我们试图把Action拿出来执行,我们必须首先把位于Action上的... 阅读全文
posted @ 2012-02-07 18:18 万法自然~ 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数。它将每个http参数声明为一个ONGL语句。当我们提交一个http参数:Javascript代码 ?user.address.city=Bishkek&user['favoriteDrink']=kumysONGL将它转换为: Java代码 action.getUser().getAddress().setCity("Bishkek") action.getUser().setFavoriteDrink("k 阅读全文
posted @ 2012-02-07 18:12 万法自然~ 阅读(210) 评论(0) 推荐(0) 编辑
摘要: exploit-db网站在7月14日爆出了一个Struts2的远程执行任意代码的漏洞。漏洞名称:Struts2/XWork < 2.2.0 Remote Command Execution Vulnerability相关介绍:http://www.exploit-db.com/exploits/14360/http://sebug.net/exploit/19954/Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交一个http 阅读全文
posted @ 2012-02-07 17:24 万法自然~ 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一种功能强大的表达式语言。通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。这种功能是模板语言的一个重要补充,像JSP2.0,Velocity,jelly等都有类似的功能。但是ognl比它们完善得多,而且以一个独立的lib出现,方便我们构建自己的框架。OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用。OGNL支持各种纷繁复杂的表达式。但是最基本的是访问用点串联起来的对象及其引用值。1. 基本对象树的访问 对象树的访问就是通过使用点号将对象的引用串联起来进行。. 阅读全文
posted @ 2012-02-07 15:49 万法自然~ 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 十大差异:1、Action类2、线程模式3、Servlet依赖4、可测性5、捕获出入6、表达式语言7、绑定值到页面(View)8、类型转换9、校验10、Action执行的控制详细比较:1、Action类 Struts1:Action类需要继承一个抽象类(org.apache.struts.action.Action) Struts2:任何execute标示的POJO对象都可作为Action对象 另外: 1、虽然,在理论上Struts2的Action无须实现任何接口或者是继承任何的类。 但是,在实际编程过程中,为了更加方便的实现Action,大多数情况下都会继承com.o... 阅读全文
posted @ 2012-02-07 11:54 万法自然~ 阅读(188) 评论(0) 推荐(0) 编辑
摘要: http://wenku.baidu.com/view/5a2f4b3083c4bb4cf7ecd180.html 阅读全文
posted @ 2012-02-07 11:48 万法自然~ 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 解决办法:在Struts2过滤器前增加一个过滤器,使用过滤器转发到servlet上Web.xml<filter><filter-name>JSONRPCServlet</filter-name><filter-class>filters.ReDispatcherFilter</filter-class><init-param><param-name>includeServlets</param-name><param-value>JRPC</param-value><! 阅读全文
posted @ 2012-02-07 11:25 万法自然~ 阅读(418) 评论(0) 推荐(0) 编辑