- 浏览: 160025 次
- 性别:
- 来自: 北京
最新评论
-
burning-wwt:
谢谢 总算找到方法了。
MyEclipse更改快捷键
文章列表
在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>
< ...
- 2009-02-22 20:40
- 浏览 731
- 评论(0)
摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登录,从而更好地设计出符合需要的安全架构。
关键字:SSO, Java, J2EE, JAAS
1 什么是单点登陆
单点 ...
- 2009-02-21 16:04
- 浏览 1051
- 评论(0)
多线程并发访问解决方案
synchronized关键字主要解决多线程共享数据同步问题。
ThreadLocal使用场合主要解决多线程中数据因并发产生不一致问题。
ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而Synchronized却正好相反,它用于在多个线程间通 ...
- 2009-02-21 15:40
- 浏览 1433
- 评论(0)
/**
* 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[] 分割后的字 ...
- 2009-02-19 08:31
- 浏览 1483
- 评论(0)
原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视 JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了 JAVA 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。
下面总结总结,学习学习。:)
JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。
JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述 ...
- 2009-02-17 15:01
- 浏览 627
- 评论(0)
触发器
触发器是指被隐含执行的存储过程,当发生特定事件(例如修改表、建立对象、登录到数据库)时,Oracle
会自动执行触发器的相应代码。
触发器由触发事件、触发条件和触发操作三部分组成。
1.触发事件:
启动和关闭例程;
Oracle错误消息;
用户登录和断开会话;
特定表或视图的DML操作;
在任何方案上的DDL语句;
2.触发条件(可选)
3.触发操作: 触发器代码的大小不能超过32k
触发器代码只能包括select、insert、update、和delete语句,而不能包括DDL语句(create, ...
- 2009-02-10 20:27
- 浏览 1019
- 评论(0)
包
包用于逻辑组合相关的PL/SQL类型、项、子程序,它由包规范(create package)和包体(package body)两部分组成。
当建立包时,需要首先建立包规范,然后再建立包体。
====================================================================================================
包规范语法格式:
create or replace package package_name package_name 是包名,IS 开始的部分用于定义公共组件。 ...
- 2009-02-06 20:08
- 浏览 1212
- 评论(0)
函数的纯度级别以及使用
- 定义由函数读取或修改的数据种类。
各种纯度级别
- WNDS --- 不写入数据库状态。
- RNDS --- 不读取数据库状态。
- WNPS --- 不写入程序包状态。
- RNPS --- 不读取程序包状态。
创建程序包是使用:
eg:
create or replace package myPack
is
procedure UpdateTable(s int);
pragma restrice_references(updatetable,WNDS);---执行编译指令表示过程UpdateTable,是不能写入数据库的。
end;
...
- 2009-02-05 16:09
- 浏览 944
- 评论(0)
管理存储过程和函数
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.列出对数 ...
- 2009-02-05 10:47
- 浏览 746
- 评论(0)
函数
函数用于返回特定数据。执行时得找一个变量接收函数的返回值;
语法如下: create or replace function function_name
(
argu1 [mode1] datatype1,
argu2 [mode2] datatype2, ........
)
return datatype
is
begin
end;
执行 var v1 varchar2(100)
exec :v1:=functi ...
- 2009-02-04 14:49
- 浏览 3624
- 评论(0)
Oracle存储过程
存储过程不仅可以简化客户端应用程序的开发和维护,而且还可以提高应用程序的运行性能。
语法格式如下:
create or replace PROCEDURE procedure_name
(argument1 in datatype1,argument2 out datatype2,argument3 in out datatype3)
is
可以在这里定义变量
begin
end;
执行存储过程的语法格式:
无参数的存储过程
===========================================
eg: create or repla ...
- 2009-02-04 11:05
- 浏览 1044
- 评论(0)
目标:实现本地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 是下载!
...
- 2009-02-04 09:29
- 浏览 2580
- 评论(0)
一.编辑表数据(浏览表数数据自然不在话下) 二.在sql plus下写长的语句时是否有些心烦,在这里一样搞定。 三.写存储过程,并调试。如果世界上没有sql/plus dev,真不知道怎么调试几百行的存储过程。说这种情况效 率提高了十倍绝 ...
- 2009-02-03 10:37
- 浏览 2371
- 评论(0)
1、Java中过储过程的标准使用方法:
可实现存储过程中的各种功能,和最简方法相比,它可以得到out参数和过程返回值。
?就是参数的占位符,一个问号代表有一个参数。
String proc = "{call procname (?,? )}";
CallableStatement stat = con.prepareCall(proc);
//第一个参数为in的话,说明?号应为英文输入法下的,这个博客不能输入英文的问号。
stat.setString(1,'paravalue');//设置参数值
//第二个参数作out的话
stat.r ...
- 2009-02-03 08:55
- 浏览 625
- 评论(0)
游标FOR循环
游标FOR循环是游标使用的最简单的方式,当使用游标FOR循环时,Oracle会隐含地打开游标、提取游标
数据并关闭游标。
语法格式: FOR record_name IN cursor_name Loop
statement1;
statement2;
end Loop;
cursor_name是已经定义的游标名;record_name是Oracle隐含定义的记录变量名(可以是任意名)
当使用游标FOR循环时,在执行循环体内容之前,Oracle会隐含地打开游标,并且每循环一次提取一次
数据,在提取了所有数据之后,会自动退出循环并隐含地关闭游标。
...
- 2009-02-02 16:14
- 浏览 827
- 评论(0)