在Struts2中验证真的比较容易,可以在Action中直接写validate,也可以使用validate框架进行验证,但是有个问题一直困扰了我,直到现在有个小程序要用到这个方面的知识,那就是验证后如何很好地人性化地在jsp页面中显示了。大家都知道,Struts2显示验证结果有一些方式,一般通过两种方式,介绍如下:1.在页面的上面或者某个位置全部显示错误。代码:
系统 2019-08-29 21:58:01 2398
XSS叫跨站脚本攻击(CrossSiteScript),那么XSS原本应该叫做CSS,但是由于CSS的简称已经被连级样式表使用了,所以就换个称谓XSS。为什么叫做跨站脚本攻击呢?它的意思就是在别人的网站上嵌入脚本,而这个脚本原本不是属于这个网站的。这个解释很直观吧。怎么嵌入脚本呢?比如这么个搜索结果页,当用户搜索test的时候,页面会显示“搜索关键词:test”这个时候,这里的test就很有可能会出现xss漏洞,如果该页面是直接将用户输入的东西“返回”到页
系统 2019-08-12 09:30:32 2398
自己学习排序和二次排序的知识整理如下。1.Hadoop的序列化格式介绍:Writable2.Hadoop的key排序逻辑3.全排序4.如何自定义自己的Writable类型5.如何实现二次排序1.Hadoop的序列化格式介绍:Writable要了解和编写MR实现排序必须要知道的第一个知识点就是Writable相关的接口和类,这些是HADOOP自己的序列化格式。更多的可能是要关注他的Subinterfaces:WritableComparable。他是继
系统 2019-08-12 09:30:30 2398
Tomcat6.0配置数据源(DBCP)和JNDI使用经过一段艰苦的..........,当然也要感谢WWW提供信息的朋友。终于把数据源的配置和JDNI使用的示例给跑通了,于是就总结下,也希望给需要这方面的的同事带来方便。JNDI:JavaNamingandDirectoryInterface(JNDI)JNDIworksinconcertwithothertechnologiesintheJavaPlatform,EnterpriseEdition(Ja
系统 2019-08-12 09:30:22 2398
Ant是什么Ant是Apache的一个开源项目。它是一个跨平台的工具,主要用于项目项目的自动编译和打包和测试等。Ant的优点1.与平台无关,因为它是基于JAVA开发的。2.脚本格式是基于XML,维护起来相对简单。Ant的安装1.在Apache的官网下载http://www.apache.org/dist/ant/binaries/选择最新的apache-ant-1.7.1-bin.zip2.解压安装解压到本机目录,如D:Ant1.运行----cmd2.配置
系统 2019-08-12 09:30:19 2398
转载:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html一、why(为什么要用Hibernate缓存?)Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。二、what(Hibernate缓存原理是
系统 2019-08-12 09:29:30 2398
1.EnvironmentRequiredCentOSLinuxrelease6.0(Final)(cat/etc/redhat-release)JDK:jdk1.6.0_27(/opt/)ApacheTomcat:apache-tomcat-6.0.33(/opt/)1.1ExtractJDKandApacheTomcat(tarxvf*.tar.gz)1.2Setenvironmentvariableslikebelow:1.2.1nano~/.pro
系统 2019-08-12 09:27:22 2398
在VS2005里工具栏的启动调试按钮的右边有个下拉菜单,里面是Debug和Release选项,就表示编译调试版本和发布版本的程序的,实际上就是VS定义了DEBUG和RELEASE的两个编译器变量。你也可以自己添加比如说,你开发的软件有标准版和专业版,你就在“生成”菜单里的“配置管理器”来添加编译类,配置管理器窗口里的“活动解决方案配置”的下拉菜单里有新建,你可以用它来定义你自己的编译变量,如定义标准版变量为STAND,专业版是PROF,甚至你可以定义输出文
系统 2019-08-12 09:27:21 2398
malloc/free和new/delete的区别malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free
系统 2019-08-12 01:54:40 2398
Oracle单表的复杂查询selectavg(sal),max(sal),deptnofromempgroupbydeptno;selectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)>2000orderbydeptno;查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?select*fromempwhere(sal>500orjob='man
系统 2019-08-12 01:54:19 2398