`
tooby
  • 浏览: 117462 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
对于Oracle的两表联合更新的场景(有A、B两表,以A.id=B.id关联,根据B表中的记录更新A表中的相应字段),一般有update内联视图和merge两种方式,下面举例介绍: 创建用例表: CREATE TABLE test1(ID NUMBER(10),NAME VARCHAR2(20)); INSERT INTO test1 VALUES(1,'lucy'); INSERT INTO test1 VALUES(2,'lily');   CREATE TABLE test2(ID NUMBER(10),NAME VARCHAR2(20)); INSERT INTO tes ...
本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.17,下载地址为http://httpd.apache.org/download.cgi#apache22。如下图:  
oracle树查询的最重要的就是select…start with…connect by…prior语法了。依托于该语法,我们可以将一个表形结构的以树的顺序列出来。在下面列述了oracle中树型查询的常用查询方式以及经常使用的与树查询相关的oracle特性函数等,在这里只涉及到一张表中的树查询方式而不涉及多表中的关联等。 1、准备测试表和测试数据

Oracle 语句优化

1. ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名,因此 FROM 子句中写在最后的表(基础表 driving table)将被最先处理。在 FROM 子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。 例如: 表 TAB1 16,384 条记录 表 TAB2 1 条记录 选择 TAB2作为基础表 (最好的方法) select count(*) from tab1,tab2 执行时间 0.96秒 选择 TAB2作为基础表 (不佳的方法) select count(*) from tab2,tab1 执行时间 26.09秒 
假设现在有一张学生表student,学生表中有姓名、分数、课程编号,现在我需要按照课程对学生的成绩进行排序。 select * from student 1. rank over ()可以实现对学生排名,特点是成绩相同的两名是并列,如下1 2 2 4 5 select name,      course,      rank() over(partition by course order by score desc) as rank  from student; 2. dense_rank()和rank over()很像,但学生成绩并列后并不会空出并列所占的名次,如下1 2 ...
首先安装好hibernate插件,点击help进入Eclipse markplace,然后搜索hibernate,会出现相应的插件,选择hibernate tool点击install安装即可。 安装完成后,进入hibernate视图,在左侧窗口右键add configuration, 第一个name属性,自己可以随意命 ...
Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8 整合例子(附完整的请假流程例子)。 1.       jbpm4.4 测试环境搭建 2.       Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1. 整合环境搭建 3.       jbpm4.4 基础知识 4.       整合过程中常见问题的解决 5.       请假流程例子( s2sh+jbpm ) 6.       总结及参考文章 jbpm4.4 测试环境搭建 刚接触 jbpm 
一、什么是OGNL,有什么特点?       OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点:        1、支持对象方法调用,形 ...
使用Spring Security3的四种方法概述     那么在Spring Security3的使用中,有4种方法:     一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过,并经过验证;     二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证。     三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,    并分别实现AccessDecisionManager、InvocationS ...
在 Web 应用开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问 题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构 已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安 全相关的因素考虑进来,并在整个应用的开发过程中。 本文详细介绍了如何使用 Spring Security 来保护 Web 应用的安全。Spring ...
 Fortify SCA简介   Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。 1.Fortify SCA 扫描引擎介绍:   Foritfy SCA主要包含的五大分析引擎:?? 数据流引擎:跟踪,记录并分析程序中的数据传递过程所产生的安全问题。?? 语义引擎:分析程 ...

Escape HTML

    博客分类:
  • Java
1,使用 spring form 标签   防 csrf 攻击 2,标明请求方法:RequestMethod.GET,RequestMethod.POST, PATCH, POST, PUT, and DELETE    如果不标明,默认以上所有请求类型都会接受处理(面太广),给黑客留下伪造请求的隐患。 3,防 XSS  1)web.xml中添加         <context-param><param-name>defaultHtmlEscape</param-name><param-value>

ESAPI之会话安全

    博客分类:
  • Java
ESAPI是开源组织owasp,开放的安全开发框架,但百度、google搜索相关的技术文章很少,今天小尝试了一下,分享一下心得。 会话攻击,简单理解就是盗用窃取用户的cookie,伪装成用户,向服务器端发送请求,窃取用户私密信息。 具体如何防止会话攻击,很简单,参照《Web应用安全威胁与防治--基于OWASP TOP 10 与ESAPI》书中介绍的方法,一旦用户登录成功后,马上validate用户的会话,具体步骤如下: 用户输入用户名和密码 系统对用户进行验证通过 已有的会话信息如果仍然需要,则转移到一个临时变量中去 invalidate当前会话 创建一个新会话 把临时变量中 ...
1、数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值     要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class Test { public static void main(String[] args) { Map<String, ChartSeries> map = ne ...
Global site tag (gtag.js) - Google Analytics