- 浏览: 23653 次
- 性别:
- 来自: 甘肃
最新评论
文章列表
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:
<%@ taglib prefix="s" uri="/struts-tags"%>
struts2的标签共分为五大类:
一、逻辑控制标签
用于进行逻辑控制输出。主要分以下几类:
1)条件标签:用于执行基本的条件流转
<s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示。<s:if test="#request.username=='hzd'">欢迎hzd</s:i ...
MySQL的FLUSH句法
今天仔细看了下Flush语法,同时在工作中也经常使用Flush命令,在这儿汇总下。MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果你想要清除一些MySQL使用内部缓存,你应该使用FLUSH ...
分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流。1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法:
public interface MemberDao{ //省略了其他的代码 /** * 分页查询
Web开发技术每年都在革新,浏览器已逐渐支持CSS3特性,并且网站设计师和前端开发者普遍采用这种新技术进行设计与开发。但仍然有一些开发者迷恋着一些CSS2代码。
本文将分享20段非常专业的CSS2/CSS3代码供大家使用,你可以把它们保存在IDE里、或者存储在CSS文档里,这些代码片段绝对会给你带来意外的惊喜。
1. CSS Resets
网络上关于CSS重置的代码非常多。本段代码是根据Eric Meyer’s reset codes进行改编的,里面包含一点响应式图片和所有核心元素的边界框设置,这样就可以保持页边距和填充可以很好地对齐。
...
Struts2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。
Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。基本简要流程如下:1、客户端浏 ...
forward:请求转发redirect: 重定向1.在给予"/"表示当前的路径是以jsp路径为根路径来进行请求转发,属于绝对路径。 如果没有表示当前路径是以当前客户端发送请求时的路径进行请求转发,属于相对路径。2.从这里的请求转发可以看出,servlet主要负责的并不是现实html代码,而是为了处理具体的请求转发。大致方法获得RequestDisapatcher对象 然后用其forward方法来进行请求转发:RequestDisapatcher rd=reqest.getRequestDisapatcher();rd.forward(req,resp); //用这里的方 ...
JAVA中的对象是在堆上分配,而在堆上分配存储空间的方式是昂贵的.正是由于GC才使java在堆上的空间分配速度得以于其他语言在堆栈上分配速度相媲美.java对象也不再有作用域的概念.作用域是对于引用而言的.
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收.
程序可以用System.gc() 或Runtime.getRuntime().gc() 请求垃圾回收,但并不保证立即执行垃圾回收.
GC的工作原理: 引用计数,标记复制
JSP九大内置对象 内置对象(隐式对象)使得开发人员可以访问容器提供的服务和资源。
内置对象在每个 JSP 页面当中都进行定义,并且在后台由容器使用。
因为内置对象是自动声明的,所以我们只需要使用与一个给定对象相关的引用变量来调用其方法。
内置对象不需要预先声明就可以在脚本代码和表达式中随意使用。
JSP中九大内置对象为:
请求对象request 类型 javax.servlet.ServletRequest 作用域 Request
响应对象response 类型 javax.servlet.Srvlet ...
学习各种映射关系时总结:
①如何将对象之间的关联关系映射到数据库中
②如何检索出关联对象
1.多对一映射
它是使用最多的映射关系,性能上占有优势
关系模型和对象模型:两者并不是一一对应的
举个例子:告诉员工属于哪个部门和告诉部门有哪些员工对于 数据库(关系模型)来说只要有一个就可以
但是对于对象模型不是如此,告诉员工属于哪个部门之后,部门并不会知道自己有哪些员工
实例:
domain 包中添加
Department .java
/**
* @Author:胡家威
* @CreateTime:2011-8-15 下午10:03:58
* @Descrip ...
1.一个继承树映射到数据库中的一张表
优点:查询效率较高,只查询一张表
缺点:所有子类的字段不能为null,并且增加一个子类就要修改表的结构,这个在关系模型上是不合理的
2.继承树中的每个类都映射到一张表
优点:符合对象模型的设计,增加一个子类不用修改原来的表,只要添加一张新表就可以
缺点:查询时经常会查询多张表,效率不高
3.混合使用“每个类分层结构一张表”和“每个子类一张表”
优点:比较灵活,效率高些
1. 一级缓存:Session中共享
测试:可以通过查看输出的 select 语句的数目来测试Hibernate中的Session级的缓存
使用缓存的三种操作:放,取,删
会从缓存中拿数据的方法:get,load,iterate [id为native(自增长的形式的话,save方法是不会放入到一级缓存或者二级缓存中的)]
会向缓存中放入数据的方法:save,update,saveOrUpdate,get,load,iterate,lock(还没有使用过,lock是把一个没有更改过的脱管状态的对象变成持久状态)
删除缓存内容的方法:evict(清除某个数据),clear(清除所有 ...
所谓懒加载(lazy)就是延时加载,延迟加载。
什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。
至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适,
因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,
我们让数据在需要的时候才进行加载,这时我们就用到了懒加载。
比如部门ENTITY和员工ENTITY,部门与员工1对多,如果lazy设置为 false,那么只要加载了一个部门的po,就会根据一对多配置的关系把所有员工的po也加载出来。但是实际上有时候只是需要用到部门的信息,不需要用到 员工的信息,这时员工po的加载就等于浪费资源。如果l ...
1. 懒加载
注意:Domain Object 是 非 final 的!
因为懒加载会去继承该类,接着生成新类的代理对象,而抽象类不能被继承
1.session.load 方法 会 懒加载,也就是默认情况下load方法不会加载查询结果的数据的关联对象
这个方法要和get方法进行区分
2.one-to-one 懒加载
由于主表没有constrained=true,所以默认情况下加载主对象时都会加载相关联的从对象的内容
但是从对象可以懒加载,条件: 这个测试在 第五节中包含了
1)lazy!=false 2)constrained=true 3)fetch= ...
struts2之多个文件上传
通过3种方式模拟多个文件上传,效果如下所示
目录结构
新建Action
第一种方式
package
struts2之单个文件上传
通过2种方式模拟单个文件上传,效果如下所示
开发步骤如下:
1、新建一个web工程,导入struts2上传文件所需jar,如下图
目录结构
2、新建Action
第一种方式