`
tjmzgn
  • 浏览: 155894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
在web.xml不认<taglib>解决办法:    如果是头是这样的<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">     直接在后面加    <taglib>     <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>     < ...
摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登录,从而更好地设计出符合需要的安全架构。 关键字:SSO, Java, J2EE, JAAS 1 什么是单点登陆 单点 ...
多线程并发访问解决方案   synchronized关键字主要解决多线程共享数据同步问题。 ThreadLocal使用场合主要解决多线程中数据因并发产生不一致问题。 ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而Synchronized却正好相反,它用于在多个线程间通 ...
/** * Title:        Java Bean 工具 * Description: * Copyright:    Copyright (c) 2001 * @author * @version 1.0 */ import java.util.*; import java.util.regex.Pattern; public class StrTools {   /**    * 分割字符串    *    * @param str String 原始字符串    * @param splitsign String 分隔符    * @return String[] 分割后的字 ...
原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视 JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了 JAVA 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。 下面总结总结,学习学习。:) JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述 ...

触发器

触发器 触发器是指被隐含执行的存储过程,当发生特定事件(例如修改表、建立对象、登录到数据库)时,Oracle 会自动执行触发器的相应代码。 触发器由触发事件、触发条件和触发操作三部分组成。 1.触发事件:      启动和关闭例程;      Oracle错误消息;      用户登录和断开会话;      特定表或视图的DML操作;      在任何方案上的DDL语句; 2.触发条件(可选) 3.触发操作: 触发器代码的大小不能超过32k                    触发器代码只能包括select、insert、update、和delete语句,而不能包括DDL语句(create, ...

Oracle 包

包 包用于逻辑组合相关的PL/SQL类型、项、子程序,它由包规范(create package)和包体(package body)两部分组成。 当建立包时,需要首先建立包规范,然后再建立包体。 ==================================================================================================== 包规范语法格式: create or replace package package_name              package_name 是包名,IS 开始的部分用于定义公共组件。     ...
函数的纯度级别以及使用 - 定义由函数读取或修改的数据种类。 各种纯度级别 - WNDS --- 不写入数据库状态。 - RNDS --- 不读取数据库状态。 - WNPS --- 不写入程序包状态。 - RNPS --- 不读取程序包状态。 创建程序包是使用: eg: create or replace package myPack is procedure UpdateTable(s int); pragma restrice_references(updatetable,WNDS);---执行编译指令表示过程UpdateTable,是不能写入数据库的。 end; ...
管理存储过程和函数 1.列出当前用户的子程序 SQL>col object_name format a20    ----设置列名为object_name的列的宽度是20; SQL>select object_name,created,status from user_objects where object_type in('PROCEDURE','FUNCTION'); 2.列出子程序的源代码 SQL>select text from user_source; 3.列出子程序编译错误 show errors procedure proc_testinout 4.列出对数 ...
函数 函数用于返回特定数据。执行时得找一个变量接收函数的返回值; 语法如下:     create or replace function function_name ( argu1 [mode1] datatype1, argu2 [mode2] datatype2,  ........ ) return datatype is begin end; 执行  var v1 varchar2(100)       exec :v1:=functi ...
Oracle存储过程 存储过程不仅可以简化客户端应用程序的开发和维护,而且还可以提高应用程序的运行性能。 语法格式如下: create or replace PROCEDURE procedure_name (argument1 in datatype1,argument2 out datatype2,argument3 in out datatype3) is   可以在这里定义变量   begin     end; 执行存储过程的语法格式: 无参数的存储过程 =========================================== eg: create or repla ...
目标:实现本地pc向ftp服务器上传文件 具体实现: (1)新建一个*.bat文件,比如abc.bat---文件名不要起成关键字的名字,否则运行不了! (2)*.bat文件的内容是: ftp -s:Commands.txt!   (3)在相同的目录下创建Commands.txt! (4)Commands.txt的内容是:          ftp 10.64.4.222(ftp服务器的地址)          username          password          put a.txt      ---a.txt 是指定要上传的文件,get a.txt 是下载!         ...
一.编辑表数据(浏览表数数据自然不在话下) 二.在sql plus下写长的语句时是否有些心烦,在这里一样搞定。 三.写存储过程,并调试。如果世界上没有sql/plus dev,真不知道怎么调试几百行的存储过程。说这种情况效 率提高了十倍绝 ...
1、Java中过储过程的标准使用方法: 可实现存储过程中的各种功能,和最简方法相比,它可以得到out参数和过程返回值。 ?就是参数的占位符,一个问号代表有一个参数。 String   proc   =   "{call   procname   (?,? )}"; CallableStatement   stat   =   con.prepareCall(proc); //第一个参数为in的话,说明?号应为英文输入法下的,这个博客不能输入英文的问号。 stat.setString(1,'paravalue');//设置参数值 //第二个参数作out的话 stat.r ...

游标(二)

游标FOR循环 游标FOR循环是游标使用的最简单的方式,当使用游标FOR循环时,Oracle会隐含地打开游标、提取游标 数据并关闭游标。 语法格式: FOR record_name IN cursor_name Loop statement1; statement2; end Loop; cursor_name是已经定义的游标名;record_name是Oracle隐含定义的记录变量名(可以是任意名) 当使用游标FOR循环时,在执行循环体内容之前,Oracle会隐含地打开游标,并且每循环一次提取一次 数据,在提取了所有数据之后,会自动退出循环并隐含地关闭游标。 ...
Global site tag (gtag.js) - Google Analytics