- 浏览: 75898 次
- 性别:
- 来自: 杭州
-
文章列表
在struts.xml中配置
1.配置拦截器
<interceptors>
<interceptor name="" class="">
<param name="">value</param>
.......
</interceptor>
<interceptor-stack name="">
<interceptor-ref name=""/& ...
- 2009-06-19 11:12
- 浏览 1255
- 评论(0)
%的作用
标签的属性为字符串类型时,仍然计算OGNL表达式的值。
如果标签属性本来就是ognl表达式,则没有用。
<
s:url
value
="%{#foobar['foo1']}"
/>
因为value的属性本来是string,也就是里面写的是什么就显示什么。
如果用%{},那么{}里面的就会被当作ognl语言来运行了。
8.2 Struts 2的OGNL
OGNL是Struts 2框架的默认表达式语言,增强了Struts 2的数据访问能力,同时简化了代码。
8.2.1 Struts 2的OGNL表达式
...
- 2009-06-17 11:26
- 浏览 3036
- 评论(0)
${user.name}
${user["name"]}
两者等价。注意的是:包含连字符('-')等一些特殊操作符时,必须要用"[]",不能用'.'。
例如:${ header["User-Agent"] }。
算术操作符: ${23 / 5} 结果:4.6
关系操作符: ${ 23 == 5} 结果: false
逻辑操作符: ${23 && 5}
Empty操作符: ${ empty A} 结果: 如果是null,返回true
条件操作符: ${ 23 > 5 ...
- 2009-06-08 17:17
- 浏览 996
- 评论(0)
[img]javascript:alert("hahaha")" alt="[/img]
XSS的触发条件包括:完整无错的脚本标记,访问文件的标记属性和触发事件。
alert("aaaaa")
- 2009-05-31 16:55
- 浏览 785
- 评论(0)
三种节点:
<p title = "notes"> Don't forget buy the stuff </p>
元素节点(element node): p
文本节点(text node): Don't forget buy the stuff
属性节点(attribute node):title = “notes”
getElementById() 返回一个对象 ( 元素节点)
getElementByTagName() 参数是“li”、“p”,“ul”等标签,返回的数组 ( 元素节点)
getAttribute() 属性对象。
setAtt ...
- 2009-05-22 10:14
- 浏览 918
- 评论(0)
js的语句可以不用分号分隔,只要分成两行就可以了。
推荐用分号。
变量可以不声明就用,推荐声明。区分大小写。
数组的声明:
var array = Array(4)或者 Array() 或者 Array("john",1234, true);
两个指向同一个数组的变量,一个改变,另一个也变。
关联数组:
array["name"] = "jhon";
array["year"] = 1985;
array["living"] = false;
函数声明:
function name(arg ...
- 2009-05-22 09:59
- 浏览 1111
- 评论(0)
从jsp 1.1开始就有传统标签,从jsp2.0开始新增,简单标签。
标签描述符:TLD(tag library descriptor)
当标签部署在jar包中时,tld放在jar包的META-INF目录或其子目录下。当标签部署在Web应用程序中时(自定义标签),tld文件放在WEB-INF目录或其子目录下,但不能在lib 或 classes目录下,一般是间隔tlds文件夹。
部署时要说明tld文件的位置。一共有三种方法。
1.在web.xml中声明:e.g.
<jsp-config>
<taglib>
<taglib-ur ...
- 2009-05-20 23:01
- 浏览 952
- 评论(0)
jsp 包括 元素和模板。模板数据是jsp不处理的部分(html)
jsp2.0规范,元素有三种类型:指令元素、脚本元素、动作元素。
1.指令元素(derective element):
<%@ drective %> 还有xml的模式。
1)page指令: import属性,默认导入的包是java.lang.*, javax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.*
2)include指令: 静态包含一个文件。可以是jsp页面,html网页,文本,java代码。注意对整个页面的影响。
...
- 2009-05-20 10:34
- 浏览 806
- 评论(0)
这个问题有点无聊,但是我花了一个下午才找到点规律。过程中搜了网上的很多资料。
http://www.iteye.com/topic/137565
这篇讨论很有参考性。javabean的命名规范可以从
http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html
下载,不过我没有下载成功。
javabean的属性命名是有规范的,属性变量的名称用小写字母开头。但是如果大写字母怎么办呢?下面这段代码是输出javabean的属性名称的。我用了一个User类来做测试。
BeanInfo beanInfo = Intr ...
- 2009-05-19 23:24
- 浏览 955
- 评论(0)
ServletContext接口
是服务器中的一个一直路径的根。有容器厂商提供实现。一个程序只有一个,可被所有servlet访问。
请求转发。 sendRedirect和forward的区别
servlet 异常处理
1. 声明式异常
2. 程序式异常
声明式异常:
<error-page>
<error-code>404</error-code>
<location>/FileNotFound.html</location>
</error-page>
其中“404”“501”等是http协议规定的。
...
Servlet
中有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的
getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获
得;
重定向的方法只有一种:HttpServletResponse的sendRedirect()方法。
这三个方法的参数都是一个URL形式的字符串,但在使用相对路径或绝对路径上有所区别。
★ HttpServletResponse.sendRedirect(String)
参数可以指定为 ...
- 2009-04-30 13:25
- 浏览 1005
- 评论(0)
mysql方面的
第一题:一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15
第二题:还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA程序里面获得这条记录的ID.
如果表的类型是MyISAM,那么是18。
因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。
如果表的类型是InnoDB,那么是15。
InnoDB表只是把自增主键的最大I ...
- 2009-04-27 17:30
- 浏览 1507
- 评论(0)
MyISAM表锁
MyISAM存储引擎只支持表锁,这也是MySQL开始几个版本中唯一支持的锁类型。随着应用对事务完整性和
并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎,后来慢慢出现了支持页锁的BDB存储引擎和支持行锁的InnoDB存储引擎(实际
InnoDB是单独的一个公司,现在已经被Oracle公司收购)。但是MyISAM的表锁依然是使用最为广泛的锁类型。本节将详细介绍MyISAM表锁
的使用。
查询表级锁争用情况
可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
mysql> ...
- 2009-04-27 16:20
- 浏览 4625
- 评论(0)
MyISAM支持表级锁。lock table ×× read(write)
可以通过 show status like ‘table%' 来看表级锁争用情况。
Myisam是自动加锁的,而且是一次性获得所有需要的锁,所以不会产生死锁情况。
并发插入(Concurrent Inserts)
在一定条件下,MyISAM表也支持查询和插入操作的并发进行。
MyISAM存储引擎有一个系统变量concurrent_insert,专门用以控制其并发插入的行为,其值分别可以为0、1或2。
1.当concurrent_insert设置为0时,不允许并发插入。
2.当concurrent_inse ...
- 2009-04-27 16:19
- 浏览 2082
- 评论(0)
事务的并发控制协议
oracle采用类似于多版本两段锁的协议(multiversion two-phase lock protocol)
多版本两段锁协议对只读事务和更新书屋加以区别,如果是只读事务则采用多版本控制协议,如果是更新事务则采用强两段锁协议。
锁分共享锁(shared)和排他锁(exclusive)
数据库对每个数据项Q,建立多个版本<Q1,Q2,…,Qm>,每个版本有有三个数据字段:
content:Qk的值
w-timestamp:创建Qk版本的事务的时间戳值
如果事务Ti要读Q的值:首先要获得这个数据项上的共享锁,其次要找出Qk,它具有小于或者等于TS(Ti ...
- 2009-04-26 23:00
- 浏览 1146
- 评论(0)