??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲国产经精品香蕉网,亚洲人成在线影院,国产亚洲精品一品区99热 http://www.tkk7.com/love-sea/记我所见,记我所?/description>zh-cn Sun, 11 May 2025 17:11:05 GMT Sun, 11 May 2025 17:11:05 GMT 60 sql2000 脚本语句 基础 基本上全部调试通过 http://www.tkk7.com/love-sea/archive/2007/08/22/138616.html源自有缘 源自有缘 Wed, 22 Aug 2007 07:05:00 GMT http://www.tkk7.com/love-sea/archive/2007/08/22/138616.html http://www.tkk7.com/love-sea/comments/138616.html http://www.tkk7.com/love-sea/archive/2007/08/22/138616.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/138616.html http://www.tkk7.com/love-sea/services/trackbacks/138616.html create unique index stusno on student(sno); --创徏索引
create clustered index stuname on student(sname);-- 创徏聚簇索引
drop index student.stuname; -- 删除索引
alter table student add constraint PK1_ID primary key(sno);--修改表的snoZ?/p>
--创徏?/p>
create table student (
sno char(5) not null unique,
sname char(20) unique, ssex char(1),
sage int, sdept char(15));
--删除?br />drop table student;
ALTER TABLE student DROP CONSTRAINT unique --没有解决
alter table student drop CONSTRAINT sname ;
--建立WoolAdminName?br />create table WoolAdminName ( ID int identity(1,1) not null, AdminName varchar(30) not null, pwd varchar(30) not null ) --建立理员WoolAdminName表约?br />go alter table WoolAdminName add constraint PK_ID primary key(ID) insert into WoolAdminName values('admin','admin')
create table course(
cno char(5) not null primary key,
sname char(20) ,
cpno char(5) not null,
ccredit int );
create table sc(
cno char(5),
sno char(5),
grade int,
primary key(sno,cno) )
select * from student; insert into student values('1','ren','m',20,'信息工程'); insert into student values('2','xi','w',18,'公共理'); insert into student values('3','hai','m',22,'理U学'); insert into student values('4','hui','w','19','信息工程');
select sname 姓名, 40-sage q龄 from student;
select sname 姓名, sage q龄 from student where sage >=20;
select sname 姓名, sage q龄 from student group by sage having max(sage) ; use test1;
alter table student drop unique(sname);
select sname,'Year of Birth:',2007-sage birthday,lower(sdept) from student;
select * from student;
select ssex from student;
select distinct ssex from student;
select * from student where sage =22;
select * from student where sage <>22;
select * from student where sage !=22;
select * from student where sage>21;
select * from student where sage !>21;
--下边的Ş式不?br />select * from student where sage not > 21; --上边的Ş式不?应改成下边的形式
select * from student where not sage > 21;
select * from student where sage between 19 and 21;-- between and
select * from student where sage not between 19 and 21;--not between and
select * from student where sage in (19,20,21);-- in
select * from student where sage not in (19,20,21);-- not in
select * from student where sname like 'h\_i'escape '\'; -- like
select * from student where sname not like 'h%'; -- not like
select * from student where sname is null; -- is null
select * from student where sname is not null; -- is not null
select * from student where sname like 'h%' and sage>20;--and
select * from student where sname like '%i' or sage<20;-- or
select * from student where sage in (19,20,21)order by sage desc;-- order by
select * from student order by sdept desc,sage desc;--pL降序排列Q同pM的按q龄降序排列
select count(*) from student; -- l计元组个数
select count(*) from student where sage>20; -- 有条件统计元l个?/p>
select count(distinct ssex) from student;-- l计一列中 不重复的值的个数
select count(ssex) from student;--l计一列中值的个数
select sum(sage) from student;-- 计算一列值的dQ此列必为数值型Q?/p>
select avg(sage) from student; -- 计算一列值的q_?/p>
select max(sage) from student; -- 求一列值的最大?/p>
select min(sage) from student; -- 求一列值的最?/p>
select sno from sc group by sno having count(*)>=2;
SELECT * FROM dbo.course INNER JOIN dbo.sc ON dbo.course.cno = dbo.sc.cno INNER JOIN dbo.student ON dbo.sc.sno = dbo.student.sno
select student.*,sc.* from student,sc where student.sno=sc.sno;--{D?/p>
select student.*,sc.* from student,sc;--q义W卡积
--{D接去掉重复的列就是自然连?br />select student.sno,sname,ssex,sage,sdept,cno,grade from student,sc where student.sno=sc.sno;
--自连?/p>
select first.cno,second.cpno from course first,course second where first.cpno=second.cno;
SELECT p1.pub_id,p2.pub_id,p1.pr_info FROM pub_info AS p1 INNER pub_info AS p2 ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)
--外连?/p>
--join_type 指出q接cdQ可分ؓ三种Q内q接、外q接和交叉连接。内q接(INNER JOIN)使用?br />--较运符q行表间??列数据的比较操作Qƈ列出q些表中与连接条件相匚w的数据行。根据所使用 --的比较方式不同,内连接又分ؓ{D接、自然连接和不等q接三种?br />--?-q接分ؓ左外q接(LEFT OUTER JOIN或LEFT JOIN)、右外连?RIGHT OUTER JOIN或RIGHT JOIN) --和全外连?FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列Zq接条g相匹 --配的行,而是列出左表(左外q接?、右?叛_q接?或两个表(全外q接?中所有符合搜索条件的 --数据行?br />--交叉q接(CROSS JOIN)没有WHERE 子句Q它q回q接表中所有数据行的笛卡尔U,其结果集合中?br />--数据行数{于W一个表中符合查询条件的数据行数乘以W二个表中符合查询条件的数据行数?br />--q接操作中的ON (join_condition) 子句指出q接条gQ它pq接表中的列和比较运符、逻辑 --q算W等构成?br />--无论哪种q接都不能对text、ntext和image数据cd列进行直接连接,但可以对q三U列q行间接 --q接?
select student.sno,sname,ssex,sage,sdept,cno,grade from student,sc where student.sno=sc.sno *;--错误的写?/p>
-- 叛_q接 select student.sno,sname,ssex,sage,sdept,cno,grade from student right join sc on student.sno=sc.sno ;
--左外q接 SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b ON a.username=b.username
--嵌套查询
use test1; select sno, sname from student where sno in ( select sno from sc where cno in
(select cno from course where sname='数据l构') );
select student.sno,student.sname from student, sc, course
where student.sno=sc.sno and sc.cno=course.cno and course.sname='数据l构';
select sname,sage,sdept from student where sage<any(select sage from student where sdept='信息工程');
select sname,sage,sdept from student where sage<all(select sage from student where sdept='信息工程');
--exists关键?/p>
select sname from student where exists (select * from sc where sno=student.sno and cno='1');
select sname from student where not exists (select * from sc where sno=student.sno and cno='1');
select * from course;
insert into course values('1','语文','2','');
insert into course values('2','数学','2','');
insert into course values('3','p','2','');
insert into course values('4','c语言','2','');
insert into course values('5','数据l构','2','');
select * from sc;
insert into sc values('1','1','');
insert into sc values('1','2','');
insert into sc values('2','2','');
insert into sc values('2','1','');
insert into sc values('3','3','');
insert into sc values('5','3','');
]]>mysql调试问题 http://www.tkk7.com/love-sea/archive/2007/08/17/137558.html源自有缘 源自有缘 Fri, 17 Aug 2007 07:40:00 GMT http://www.tkk7.com/love-sea/archive/2007/08/17/137558.html http://www.tkk7.com/love-sea/comments/137558.html http://www.tkk7.com/love-sea/archive/2007/08/17/137558.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/137558.html http://www.tkk7.com/love-sea/services/trackbacks/137558.html -> ON EXAMPLE.* -> TO webuser@localhost ; ERROR 1133 (42000): Can't find any matching row in the user table 错误的真正原因是 没有讄用户的密码?br /> 正确的写法是Q?br /> mysql> GRANT USAGE -> ON EXAMPLE.* -> TO webuser@localhost -> identified by 'webuser'; Query OK, 0 rows affected (0.00 sec) ]]> 易赚׃道(个h收藏Q?/title> http://www.tkk7.com/love-sea/archive/2007/08/15/136935.html源自有缘 源自有缘 Wed, 15 Aug 2007 07:34:00 GMT http://www.tkk7.com/love-sea/archive/2007/08/15/136935.html http://www.tkk7.com/love-sea/comments/136935.html http://www.tkk7.com/love-sea/archive/2007/08/15/136935.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/136935.html http://www.tkk7.com/love-sea/services/trackbacks/136935.html 按照下面的说法做保证有你赚的。(有耐心Q才能做大事哦) 在网上我发现了一个问题: Z么各个网站都说能Z赚到很多钱呢Q就q读一?e-mail 点几回广告栏都能挣到? 难以|信啊!天下哪有如此免费午餐Q!Q后来才弄清是广告商买单Q本来我也是不相信的Q? 可呆着实在是无聊啊。反正闲着也是闲着Q但我的w䆾是不能够泄露l外人的Q当然n份证L、手机号码(因ؓ回电(sh)是要付钱的哦、信用卡L{等重要信息都不能泄露的哦?于是我找了一个不要n份证、不要会员费Q只要有个地址、电(sh)话号码就能挣到钱的网站,甌成了会员 ……(反正挣不到钱也不会吃亏,?Q? {了一个月Q什么汇Ƒ֍Q连个媄子都没有Q不q一惻I无所谓了Q反正也没吃?当是鬼q心H一回吧!--哈哈! 可一直到了第二个月…? H然Q汇Ƒ֍C!不看不知道,一看吓一跻I--300多美金?折合人民币不是2400多了吗?半信半疑。到了银行,交了几十元的手箋费,换回?400?真像做梦一样…? C一些一直想买的东西Q这时我才确信不疑。兴奋之余,又开始了我的宣传。不是宣传得多Q挣的也p多吗? 果然Q三个月后,又飞来了一张单子!--400多美金!真是难以|信Q! 不过Q古ZQ“宁可信其有Q不可信其无”啊Q反正也不吃亏,当疯一回试试看嘛! 怿我,没错的! 加入Ҏ(gu)很简单的哦: 如果你不信可以先看一下网?你就明白了; |址为:http://www.pointsmoney.com/login.php 上面|站,如若点击不成Q复制、粘贴到地址栏?有时候进不去Q那是因为服务器太忙Q你可以在凌晨h时再去Q有时候要E等一下,别心急!) 打开|页Q点d方菜单的W一个sign up? q去后,p填你的资料了Q也不是什么重要的资料Q? 然后Q跟着提示Q一步一步输入信息就ok了。下面是英文的解? user id (valid email): 填你的电(sh)子邮?(最好用tom邮箱Q接收较? password : 密码Q你自己想一个吧 confirm password : 认你的密码Q再打一ơ你的密? friend refferal id : q里?943033或?font face="Arial" size="2">943027 填完后,点击 submit,q个|站׃发一个e-maill你Q(一定会收到的,量用接攉件快的邮?也可能不在收件箱而在垃圾里Q这个e-mail里面有一个新的id是你的,以后你就用你得到的这个idL人。其实也不用特别地去招,像我q样Q发表文章,教h甌加入不就能有׃吗?例:你现在用943033 甌Q包括写完以下还有的资料。这样全部完成后Q我得?.8金。(注:在这条里?font face="Arial" size="2">943027Q即填我的id,你们以后介绍人就用自qidQ? 好了Q现在点?submit 。好Q申请完了。现在,你就M的电(sh)子邮,q个|站发给你一个email。去看,一定有Q外国h很讲信誉。在email中间有一条长长的|址Q例Q它l我的email中间http://www.pointsmoney.com/userp ... =.........id=806837Q最后的几个数字是你的idQ切记→auid后面的数字不是idQ换句话_your refferal idQ后面的数字是你的idQ。上面这个是l我的网址Q而给你们的是不同的。每个h都不同,你上它给你的|址得了。进M发给你的邮g里面的那个网址后(打开他邮件中有你自己的id那个|页是了)Q接着Q再ơ输入资料? 我ؓ了方便大家的加入Q详l加入的l节Q注Q一定要用拼x字呀Q? 不然甌不了的)Q? first name: 名字Q例Q小?打 xiaogangQ?(名字的第一个字母记得要大写? last name: ?Q例Q王 打wangQ? address: 家庭住址Q写拼音Q一定要详细填写Q不然收不到汇款单喽Q) ?新疆乌鲁木齐写xinjiangwulumuqi city: 城市 Q例Q乌鲁木齐,打wulumuqiQ? zip/postal code: 邮编 Q?填你的,?830000 Q? state: ?no country: 国家Q?china--都是中国人吧Q? phone: ?sh)话L [?sh)话L] (国家代码86+LZ号前0的电(sh)话号? Q例Q→ 86-0991-5855348Q? fax: 可不? mobile: 可不? gender: 性别 maleQ男Q; femaie Q女Q? do you have credit card: 你有信用卡吗Q(选no吧) age: 你几岁(你自己选吧Q? profession: 你职业是什么?Q可不填Q? monthly lncome: 你每月的收入是多?Q可不填Q? do you have web site: 你有个h|站吗?Q没׃填) 好,填完Q点?submit 选择爱好兴趣Q本人全选,你看着办吧,看不懂可随便选一个)选好点击 submitQ大功告成? 加入完毕后,它就出现一个登陆框Q如果你q陆了Q网站就?.41金l你。所以,最好是甌完成后登陆一ơ吧Q这样就得到0.41金了。再登陆一ơ合?.43金。登陆时你只需填入你的?sh)子邮箱Q然后在下一栏输入密码就可以了? 然后Q就是复制赚׃法了? ★赚qҎ(gu)Q就是到各个|站的留a板中Q把本文内容全部复制、粘贴进去!多多益善?Q!Q? Q记得把我的idҎ(gu)你的idQ发表出厅R不然你的钱可要q我的帐户啦Q) 只要有h点,你就可以挣钱了!多好啊! 而且反正赚的是外国h的钱Q不赚白不赚Q? 好了Q祝你天天快乐呀Q不Q应该是大家一赯Q一起乐呀 Q!Q? 反正不用你交钱,不用你手机注册,闲着没事Q不妨一试,只要力工作p赚钱的!Q!
]]> java键盘输入 http://www.tkk7.com/love-sea/archive/2007/08/08/135225.html源自有缘 源自有缘 Wed, 08 Aug 2007 05:38:00 GMT http://www.tkk7.com/love-sea/archive/2007/08/08/135225.html http://www.tkk7.com/love-sea/comments/135225.html http://www.tkk7.com/love-sea/archive/2007/08/08/135225.html#Feedback 1 http://www.tkk7.com/love-sea/comments/commentRss/135225.html http://www.tkk7.com/love-sea/services/trackbacks/135225.html import java.util.*;
import java.io.BufferedReader;//关键 import java.io.IOException;//关键 import java.io.InputStreamReader;//关键 class StaticTest{ static int i=47; static void incr(){ StaticTest.i++; } static int ternary(int i){ return i<10?i*100:i*10; } static int alternative(int i){ if(i<10) return i*100; else return i*10; } public static void main(String[] args)throws NumberFormatException, IOException{//关键 抛出异常 int i=0; BufferedReader br=null; //StaticTest str1=new StaticTest(); //StaticTest str2=new StaticTest(); //System.out.println("str1.i="+str1.i); //System.out.println("str2.i="+str2.i); //incr(); System.out.println("误入?:"); br=new BufferedReader(new InputStreamReader(System.in));//关键 从键盘读?br /> i=Integer.parseInt(br.readLine()); //关键 gli System.out.println(ternary(i)); System.out.println("误入?:"); br=new BufferedReader(new InputStreamReader(System.in)); //关键 i=Integer.parseInt(br.readLine()); //关键 System.out.println(alternative(i)); //System.out.println("str1.i="+str1.i); //System.out.println("str2.i="+str2.i); } }
]]> upload面的组l?d览东西 http://www.tkk7.com/love-sea/archive/2007/07/30/133324.html源自有缘 源自有缘 Mon, 30 Jul 2007 06:04:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/30/133324.html http://www.tkk7.com/love-sea/comments/133324.html http://www.tkk7.com/love-sea/archive/2007/07/30/133324.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/133324.html http://www.tkk7.com/love-sea/services/trackbacks/133324.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>×ݺ֙HTTPÍÆRÉÏ´J×éVÑÝʾ</title> </head>
<body bgcolor="#666666"> ¡¡
<form action="ImageUploadDealD2.jsp" method="post" enctype="multipart/form-data" name="frusub" id="frusub"> <div id=fileupload name=fileupload style="height:30">//关键的部?div <input type="file" name="file" onChange="" ><br> <input type="file" name="file" onChange=""><br> </div> <input type="submit" name="Submit" value="Ì֙ꑵ"> <input type="button" name="button" value="Ì֙ꑵ" onclick=" _addfileinput(this)"> </form>
</body> <Script> function _addfileinput1(){ var fileinput = document.createElement("input"); fileinput.type= "file"; fileinput.value=""; fileupload.appendChild(fileinput); } function _addfileinput(){//很关键的部分 d一个上传的控制?br /> var divname = document.all.fileupload; divname.innerHTML += "<input type='file' name='file'> <br>"; }
</script> </html>
]]> Java反射机制Q摘Q?/title> http://www.tkk7.com/love-sea/archive/2007/07/27/132805.html源自有缘 源自有缘 Fri, 27 Jul 2007 08:02:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/27/132805.html http://www.tkk7.com/love-sea/comments/132805.html http://www.tkk7.com/love-sea/archive/2007/07/27/132805.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/132805.html http://www.tkk7.com/love-sea/services/trackbacks/132805.html 一、反的概念 Q?br />反射的概忉|由Smith?982q首ơ提出的Q主要是指程序可以访问、检和修改它本w状态或行ؓ的一U能力。这一概念的提出很快引发了计算机科学领域关于应用反性的研究。它首先被程序语a的设计领域所采用,q在Lisp和面向对象方面取得了成W。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava{就是基于反机制的语言。最q,反射机制也被应用C视窗pȝ、操作系l和文gpȝ中?br /> 反射本nq不是一个新概念Q它可能会我们联想到光学中的反概念,管计算机科学赋予了反射概念新的含义Q但是,从现象上来说Q它们确实有某些盔R之处,q些有助于我们的理解。在计算机科学领域,反射是指一cd用,它们能够自描q和自控制。也是_q类应用通过采用某种机制来实现对自己行ؓ的描qͼself-representationQ和监测QexaminationQ,q能Ҏ(gu)自n行ؓ的状态和l果Q调整或修改应用所描述行ؓ的状态和相关的语义。可以看出,同一般的反射概念相比Q计机U学领域的反不单单指反本w,q包括对反射l果所采取的措施。所有采用反机制的pȝQ即反射pȝQ都希望使系l的实现更开放。可以说Q实C反射机制的系l都h开放性,但具有开放性的pȝq不一定采用了反射机制Q开放性是反射pȝ的必要条件。一般来_反射pȝ除了满开放性条件外q必L_因连接(Causally-connectedQ。所谓原因连接是指对反射pȝ自描q的改变能够立即反映到系l底层的实际状态和行ؓ上的情况Q反之亦然。开放性和原因q接是反系l的两大基本要素. Java中,反射是一U强大的工具。它使?zhn)能够创徏灉|的代码,q些代码可以在运行时装配Q无需在组件之间进行源代表链接。反允许我们在~写与执行时Q我们的程序代码能够接入装载到JVM中的cȝ内部信息Q而不是源代码中选定的类协作的代码。这使反成为构建灵zȝ应用的主要工兗但需注意的是Q如果用不当,反射的成本很高?br /> 二、Java中的cd: Reflection ?Java E序开发语a的特征之一Q它允许q行中的 Java E序对自w进行检查,或者说“自审”,q能直接操作E序的内部属性。Java 的这一能力在实际应用中也许用得不是很多Q但是在其它的程序设计语a中根本就不存在这一Ҏ(gu)。例如,Pascal、C 或?C++ 中就没有办法在程序中获得函数定义相关的信息?br /> 1Q检类Q?br /> 1.1 reflection的工作机?br /> 考虑下面q个单的例子Q让我们看看 reflection 是如何工作的?br /> import java.lang.reflect.*; public class DumpMethods { public static void main(String args[]) { try { Class c = Class.forName(args[0]); Method m[] = c.getDeclaredMethods(); for (int i = 0; i < m.length; i++) System.out.println(m[i].toString()); } catch (Throwable e) { System.err.println(e); } } } 按如下语句执行: java DumpMethods java.util.Stack 它的l果输出为: public java.lang.Object java.util.Stack.push(java.lang.Object) public synchronized java.lang.Object java.util.Stack.pop() public synchronized java.lang.Object java.util.Stack.peek() public boolean java.util.Stack.empty() public synchronized int java.util.Stack.search(java.lang.Object) q样列Zjava.util.Stack cȝ各方法名以及它们的限制符和返回类型?br /> q个E序使用 Class.forName 载入指定的类Q然后调?getDeclaredMethods 来获取这个类中定义了的方法列表。java.lang.reflect.Methods 是用来描q某个类中单个方法的一个类?br /> 1.2 Javacd中的主要方?br /> 对于以下三类lg中的M一cL?-- 构造函数、字D和Ҏ(gu) -- java.lang.Class 提供四种独立的反调用,以不同的方式来获得信息。调用都遵@一U标准格式。以下是用于查找构造函数的一l反调用: l Constructor getConstructor(Class[] params) -- 获得使用Ҏ(gu)的参数类型的公共构造函敎ͼ l Constructor[] getConstructors() -- 获得cȝ所有公共构造函?br /> l Constructor getDeclaredConstructor(Class[] params) -- 获得使用特定参数cd的构造函?与接入别无? l Constructor[] getDeclaredConstructors() -- 获得cȝ所有构造函?与接入别无? 获得字段信息的Class 反射调用不同于那些用于接入构造函数的调用Q在参数cd数组中用了字段名: l Field getField(String name) -- 获得命名的公共字D?br /> l Field[] getFields() -- 获得cȝ所有公共字D?br /> l Field getDeclaredField(String name) -- 获得cd明的命名的字D?br /> l Field[] getDeclaredFields() -- 获得cd明的所有字D?br /> 用于获得Ҏ(gu)信息函数Q?br /> l Method getMethod(String name, Class[] params) -- 使用特定的参数类型,获得命名的公共方?br /> l Method[] getMethods() -- 获得cȝ所有公共方?br /> l Method getDeclaredMethod(String name, Class[] params) -- 使用特写的参数类型,获得cd明的命名的方?br /> l Method[] getDeclaredMethods() -- 获得cd明的所有方?br /> 1.3开始?ReflectionQ?br /> 用于 reflection 的类Q如 MethodQ可以在 java.lang.relfect 包中扑ֈ。用这些类的时候必要遵@三个步骤Q第一步是获得你想操作的类?java.lang.Class 对象。在q行中的 Java E序中,?java.lang.Class cL描述cd接口{?br /> 下面是获得一?Class 对象的方法之一Q?br /> Class c = Class.forName("java.lang.String"); q条语句得到一?String cȝcd象。还有另一U方法,如下面的语句Q?br /> Class c = int.class; 或?br /> Class c = Integer.TYPE; 它们可获得基本类型的cM息。其中后一U方法中讉K的是基本cd的封装类 (?Integer) 中预先定义好?TYPE 字段?br /> W二步是调用诸如 getDeclaredMethods 的方法,以取得该cM定义的所有方法的列表?br /> 一旦取得这个信息,可以进行第三步了——?reflection API 来操作这些信息,如下面这D代码: Class c = Class.forName("java.lang.String"); Method m[] = c.getDeclaredMethods(); System.out.println(m[0].toString()); 它将以文本方式打印出 String 中定义的W一个方法的原型?br /> 2Q处理对象: 如果要作一个开发工具像debugger之类的,你必能发现filed values,以下是三个步? a.创徏一个Class对象 b.通过getField 创徏一个Field对象 c.调用Field.getXXX(Object)Ҏ(gu)(XXX是Int,Float{,如果是对象就省略QObject是指实例). 例如Q?br />import java.lang.reflect.*; import java.awt.*; class SampleGet { public static void main(String[] args) { Rectangle r = new Rectangle(100, 325); printHeight(r); } static void printHeight(Rectangle r) { Field heightField; Integer heightValue; Class c = r.getClass(); try { heightField = c.getField("height"); heightValue = (Integer) heightField.get(r); System.out.println("Height: " + heightValue.toString()); } catch (NoSuchFieldException e) { System.out.println(e); } catch (SecurityException e) { System.out.println(e); } catch (IllegalAcces***ception e) { System.out.println(e); } } } 三、安全性和反射Q?br />在处理反时安全性是一个较复杂的问题。反经常由框架型代码用,׃q一点,我们可能希望框架能够全面接入代码Q无需考虑常规的接入限制。但是,在其它情况下Q不受控制的接入会带来严重的安全性风险,例如当代码在不值得信Q的代码共享的环境中运行时?br /> ׃q些互相矛盾的需求,Java~程语言定义一U多U别Ҏ(gu)来处理反的安全性。基本模式是对反实施与应用于源代码接入相同的限Ӟ n 从Q意位|到cdq件的接入 n c自w外部无M到私有组件的接入 n 受保护和打包Q缺省接入)lg的有限接?br /> 不过臛_有些时候,围绕q些限制q有一U简单的Ҏ(gu)。我们可以在我们所写的cMQ扩展一个普通的基本cjava.lang.reflect.AccessibleObject cR这个类定义了一UsetAccessibleҎ(gu)Q我们能够启动或关闭对q些cM其中一个类的实例的接入。唯一的问题在于如果用了安全性管理器Q它?yu)检正在关闭接入检的代码是否许可了这样做。如果未许可Q安全性管理器抛出一个例外?br /> 下面是一D늨序,在TwoString cȝ一个实例上使用反射来显C安全性正在运行: public class ReflectSecurity { public static void main(String[] args) { try { TwoString ts = new TwoString("a", "b"); Field field = clas.getDeclaredField("m_s1"); // field.setAccessible(true); System.out.println("Retrieved value is " + field.get(inst)); } catch (Exception ex) { ex.printStackTrace(System.out); } } } 如果我们~译q一E序Ӟ不用Q何特定参数直接从命o行运行,它将在field .get(inst)调用中抛Z个IllegalAcces***ception异常。如果我们不注释field.setAccessible(true)代码行,那么重新~译q新运行该代码Q它?yu)编译成功。最后,如果我们在命令行d了JVM参数-Djava.security.manager以实现安全性管理器Q它仍然不能通过~译Q除非我们定义了ReflectSecuritycȝ许可权限?br /> 四、反性能Q?br />反射是一U强大的工具Q但也存在一些不뀂一个主要的~点是对性能有媄响。用反基本上是一U解释操作,我们可以告诉JVMQ我们希望做什么ƈ且它满我们的要求。这cL作L慢于只直接执行相同的操作?br /> 下面的程序是字段接入性能试的一个例子,包括基本的测试方法。每U方法测试字D|入的一UŞ?-- accessSame 与同一对象的成员字D协作,accessOther 使用可直接接入的另一对象的字D,accessReflection 使用可通过反射接入的另一对象的字Dc在每种情况下,Ҏ(gu)执行相同的计?-- 循环中简单的?乘顺序?br /> E序如下Q?br /> public int accessSame(int loops) { m_value = 0; for (int index = 0; index < loops; index++) { m_value = (m_value + ADDITIVE_VALUE) * MULTIPLIER_VALUE; } return m_value; } public int accessReference(int loops) { TimingClass timing = new TimingClass(); for (int index = 0; index < loops; index++) { timing.m_value = (timing.m_value + ADDITIVE_VALUE) * MULTIPLIER_VALUE; } return timing.m_value; } public int accessReflection(int loops) throw* **ception { TimingClass timing = new TimingClass(); try { Field field = TimingClass.class. getDeclaredField("m_value"); for (int index = 0; index < loops; index++) { int value = (field.getInt(timing) + ADDITIVE_VALUE) * MULTIPLIER_VALUE; field.setInt(timing, value); } return timing.m_value; } catch (Exception ex) { System.out.println("Error using reflection"); throw ex; } } 在上面的例子中,试E序重复调用每种Ҏ(gu)Q用一个大循环敎ͼ从而^均多ơ调用的旉衡量l果。^均g不包括每U方法第一ơ调用的旉Q因此初始化旉不是l果中的一个因素。下面的图清楚的向我们展CZ每种Ҏ(gu)字段接入的时_ ?1Q字D|入时?Q?br /> 我们可以看出Q在前两副图?Sun JVM)Q用反的执行旉过使用直接接入?000倍以上。通过比较QIBM JVM可能E好一些,但反方法仍旧需要比其它Ҏ(gu)?00倍以上的旉。Q何JVM上其它两U方法之间时间方面无M显著差异Q但IBM JVM几乎比Sun JVM快一倍。最有可能的是这U差异反映了Sun Hot Spot JVM的专业优化,它在单基准方面表现得很糟p。反性能是Sun开?.4 JVM时关注的一个方面,它在反射Ҏ(gu)调用l果中显C。在q类操作的性能斚wQSun 1.4.1 JVM昄了比1.3.1版本很大的改q?br /> 如果Zؓ创徏使用反射的对象编写了cM的计时测试程序,我们会发现这U情况下的差异不象字D和Ҏ(gu)调用情况下那么显著。用newInstance()调用创徏一个简单的java.lang.Object实例耗用的时间大U是在Sun 1.3.1 JVM上用new Object()?2倍,是在IBM 1.4.0 JVM的四倍,只是Sun 1.4.1 JVM上的两部。用Array.newInstance(type, size)创徏一个数l耗用的时间是M试的JVM上用new type[size]的两倍,随着数组大小的增加,差异逐步~小?br /> l束语: Java语言反射提供一U动态链接程序组件的多功能方法。它允许E序创徏和控制Q何类的对?Ҏ(gu)安全性限?Q无需提前编码目标类。这些特性得反特别适用于创Z非常普通的方式与对象协作的库。例如,反射l常在持l存储对象ؓ数据库、XML或其它外部格式的框架中用。Java reflection 非常有用Q它使类和数据结构能按名U动态检索相关信息,q允许在q行着的程序中操作q些信息。Java 的这一Ҏ(gu)非常强大,q且是其它一些常用语aQ如 C、C++、Fortran 或?Pascal {都不具备的?br /> 但反有两个~点。第一个是性能问题。用于字D和Ҏ(gu)接入时反要q慢于直接代码。性能问题的程度取决于E序中是如何使用反射的。如果它作ؓE序q行中相对很涉及的部分Q缓慢的性能不会是一个问题。即使测试中最坏情况下的计时图昄的反操作只耗用几微U。仅反射在性能关键的应用的核心逻辑中用时性能问题才变得至关重要?br /> 许多应用中更严重的一个缺Ҏ(gu)使用反射会模p程序内部实际要发生的事情。程序h员希望在源代码中看到E序的逻辑Q反等l过了源代码的技术会带来l护问题。反代码比相应的直接代码更复杂Q正如性能比较的代码实例中看到的一栗解册些问题的最x案是保守C用反——仅在它可以真正增加灉|性的地方——记录其在目标类中的使用?/div>
]]> <c:forEach>标签的用(转) http://www.tkk7.com/love-sea/archive/2007/07/25/132297.html源自有缘 源自有缘 Wed, 25 Jul 2007 06:16:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/25/132297.html http://www.tkk7.com/love-sea/comments/132297.html http://www.tkk7.com/love-sea/archive/2007/07/25/132297.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/132297.html http://www.tkk7.com/love-sea/services/trackbacks/132297.html
<c:forEach>标签的?/font>
在JSP的开发中QP代是l常要用到的操作。例如,逐行的显C查询的l果{。在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的P代输出。现在,通过JSTL的P代标{֏以在很大的程度上化P代操作?br /> JSTL所支持的P代标{有两个Q分别是<c:forEach>?lt;c:forTokens>。在q里介绍的是<c:forEach>标签?br /> 单点_<c:forEach>标签的作用就是P代输出标{ֆ部的内容。它既可以进行固定次数的q代输出Q也可以依据集合中对象的个数来决定P代的ơ数?br /> <c:forEach>标签的语法定义如下所C?br /> <c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression"> body content </c:forEach> <c:forEach>标签h以下一些属性: l varQP代参数的名称。在q代体中可以使用的变量的名称Q用来表C每一个P代变量。类型ؓString?br /> l itemsQ要q行q代的集合。对于它所支持的类型将在下面进行讲解?br /> l varStatusQP代变量的名称Q用来表CP代的状态,可以讉K到P代自w的信息?br /> l beginQ如果指定了itemsQ那么P代就从items[begin]开始进行P代;如果没有指定itemsQ那么就从begin开始P代。它的类型ؓ整数?br /> l endQ如果指定了itemsQ那么就在items[end]l束q代Q如果没有指定itemsQ那么就在endl束q代。它的类型也为整数?br /> l stepQP代的步长?br /> <c:forEach>标签的items属性支持Javaq_所提供的所有标准集合类型。此外,(zhn)可以用该操作来P代数l(包括基本cd数组Q中的元素。它所支持的集合类型以及P代的元素如下所C: l java.util.CollectionQ调用iterator()来获得的元素?br /> l java.util.MapQ通过java.util.Map.Entry所获得的实例?br /> l java.util.IteratorQP代器元素?br /> l java.util.EnumerationQ枚丑օ素?br /> l Object实例数组Q数l元素?br /> l 基本cd值数l:l过包装的数l元素?br /> l 用逗号定界的StringQ分割后的子字符丌Ӏ?br /> l javax.servlet.jsp.jstl.sql.ResultQSQL查询所获得的行?br /> 不论是对整数q是寚w合进行P代,<c:forEach>的varStatus属性所L作用相同。和var属性一PvarStatus用于创徏限定了作用域的变量(改变量只在当前标{体内v作用Q。不q,由varStatus属性命名的变量q不存储当前索引值或当前元素Q而是赋予javax.servlet.jsp.jstl.core.LoopTagStatuscȝ实例。该cd含了一pd的特性,它们描述了P代的当前状态,如下q些属性的含义如下所C: l currentQ当前这ơP代的Q集合中的)V?br /> l indexQ当前这ơP代从0开始的q代索引?br /> l countQ当前这ơP代从1开始的q代计数?br /> l firstQ用来表明当前这轮P代是否ؓW一ơP代,该属性ؓbooleancd?br /> l lastQ用来表明当前这轮P代是否ؓ最后一ơP代,该属性ؓbooleancd?br /> l beginQbegin属性的倹{?br /> l endQend属性的?br /> l stepQstep属性的?br /> 下面来看一个个基本的例子,表格隔行背景色变?br /><c:forEach var="item" items="${contents}" varStatus="status"> <tr <c:if test="${status.count%2==0}">bgcolor="#CCCCFE"</c:if> align="left"> xxx
</tr> </c:forEach>
]]> JSTL 入门: 表达式语aQ需要多看几遍) http://www.tkk7.com/love-sea/archive/2007/07/24/132095.html源自有缘 源自有缘 Tue, 24 Jul 2007 09:12:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/24/132095.html http://www.tkk7.com/love-sea/comments/132095.html http://www.tkk7.com/love-sea/archive/2007/07/24/132095.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/132095.html http://www.tkk7.com/love-sea/services/trackbacks/132095.html 阅读全文 ]]> spring标签介绍 http://www.tkk7.com/love-sea/archive/2007/07/24/131983.html源自有缘 源自有缘 Tue, 24 Jul 2007 02:25:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/24/131983.html http://www.tkk7.com/love-sea/comments/131983.html http://www.tkk7.com/love-sea/archive/2007/07/24/131983.html#Feedback 2 http://www.tkk7.com/love-sea/comments/commentRss/131983.html http://www.tkk7.com/love-sea/services/trackbacks/131983.html 1、spring:hasBindErrors 2、spring:bind 3、spring:transform 4、spring:message 5、spring:htmlEscape 6、spring:theme 下面我们来具体介l一下用法: 1、spring:hasBindErrors 对应org.springframework.web.servlet.tags.BindErrorsTag标记库处理类?br /> q个标记提供用于l定对象的errorsQ如果这个标记被用到的话Q那么关于这个对象的错误在面上显C出来。用这个标记的前提条g是要先用<spring:bindQ标?q且Qspring:hasBindErrorsQ这个标C能用来表C对象的状态,它仅仅可以绑定对象本w和对象的属性?具体用法如下Q?br />Qspring:hasBindErrors name="priceIncrease"Q?br />QbQPlease fix all errors!Q?bQ?br />Q?spring:hasBindErrorsQ?/td>
通过q个单的例子Q我来具体说一下这个标记的属性吧?br /> nameQ是要被查的Bean的名字。这个属性是必需要的?br /> q里是简单用法,所以就不介l它包含的errors变量了。具体看p文档。下同?br /> 2、spring:bind 对应org.springframework.web.servlet.tags.BindTag标记库处理类 q个标记用来为某个bean或bean 的属性赋|通常和form一LQ相当于action的作用。它指明表单要提交到那个cLcȝ属性中厅R?br /> 其中path属性是必须的,指明转到的类的\径。D例如下:Qform method="post"Q?br />Qtable width="95%" bgcolor="f8f8ff" border="0" cellspacing="0" cellpadding="5"Q?br />QtrQ? Qtd alignment="right" width="20%"QIncrease (%):Q?tdQ? Qspring:bind path="priceIncrease.percentage"Q? Qtd width="20%"Q? Qinput type="text" name="percentage" value="Qc:out value="${status.value}"/Q?Q? Q?tdQ?br />Qtd width="60%"Q? Qfont color="red"Q<c:out value="${status.errorMessage}"/Q</fontQ?br />Q?tdQ? Q?spring:bindQ? Q?trQ?br />Q?tableQ? QbrQ?br />……………………省?br />Q?formQ?/td>
3、spring:transform 对应org.springframework.web.servlet.tags.TransformTag标记库处理类,q个标记用来转换表单中不与bean中的属性一一对应的那些属性,通常和<spring:bindQ一起用。<spring:transformQ标CؓQspring:bindQ用提供了更好的支持?br /> 属性如下: valueQ必需要的。和当前Qspring:bindQ标记指向的beancȝ同。就是你要{换的实体cd?br /> varQ不是必需的。这个字W串被用来绑定输出结果到pageQrequest, session或application scope.默认情况输出到jsp中?br /> scopeQ不是必需的。前提条件var必须讄的情况下。它的值可以是pageQrequest, session或application?br /> 4、spring:message 对应org.springframework.web.servlet.tags.MessageTag标记库处理类 q个标记用来帮助springframework支持国际化。和JSTL的fmt:message标记cM。当然这个标记可以很好的工作的本地的springframework框架下?br /> 属性如下: codeQ不是必需的。用来查找message,如果没有被用的话,text被使用?br /> textQ不是必需的。假如code不存在的话,默认是text输出。当code和text都没有设|的话,标记输Zؓnull. varQ不是必需的。这个字W串被用来绑定输出结果到pageQrequest, session或application scope.默认情况输出到jsp中?br /> scopeQ不是必需的。前提条件var必须讄的情况下。它的值可以是pageQrequest, session或application?br /> 5、spring:htmlEscape 对应org.springframework.web.servlet.tags.HtmlEscapeTag标记库处理类 不常用,q里省略 6、spring:theme 对应org.springframework.web.servlet.tags.ThemeTag标记库处理类 不常用,q里省略 学习完这些用法后Q让我们来看个具体的例子吧?br /> 配置步骤如下Q?br /> 目录l构图: -spirngapp -WEB-INF -classes -lib -src -war 1、将spring.tld拯到WEB-INF目录?br /> 2、将spring.jar拯到WEB-INF\lib包下 举例如下Q?br /> 在web.xml中配|好taglib属性,代码如下Q?br />Q?xml version="1.0" encoding="UTF-8"?Q?br />Q?DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'Q?br />Qweb-appQ?br />QservletQ?br />Qservlet-nameQspringappQ?servlet-nameQ?br />Qservlet-classQorg.springframework.web.servlet.DispatcherServletQ?servlet-classQ?br />Qload-on-startupQ?Q?load-on-startupQ?br />Q?servletQ? Qservlet-mappingQ? Qservlet-nameQspringappQ?servlet-nameQ?br />Qurl-patternQ?.htmQ?url-patternQ? Q?servlet-mappingQ?br />Qwelcome-file-listQ? Qwelcome-fileQ?index.jsp Q?welcome-fileQ?br />Q?welcome-file-listQ?br />QtaglibQ?br />Qtaglib-uriQ?springQ?taglib-uriQ?br />Qtaglib-locationQ?WEB-INF/spring.tldQ?taglib-locationQ?br />Q?taglibQ?br />Q?web-appQ?
jsp面代码如下Q?br />Q?@ include file="/WEB-INF/jsp/include.jsp" %Q?br />Q?@ taglib prefix="spring" uri="/spring" %Q?br />QhtmlQ?br />QheadQ?br />QtitleQ<fmt:message key="title"/Q</titleQ?br />Q?headQ?br />QbodyQ?br />Qh1Q?br />Qfmt:message key="priceincrease.heading"/Q?br />Q?h1Q?br />Qform method="post"Q?br />Qtable width="95%" bgcolor="f8f8ff" border="0" cellspacing="0" cellpadding="5"Q? QtrQ?br />Qtd alignment="right" width="20%"QIncrease (%):Q?tdQ? Qspring:bind path="priceIncrease.percentage"Q?br />Qtd width="20%"Q?br />Qinput type="text" name="percentage" value="Qc:out value="${status.value}"/Q?Q? Q?tdQ? Qtd width="60%"Q?br />Qfont color="red"Q?br />Qc:out value="${status.errorMessage}"/Q?br />Q?fontQ?br />Q?tdQ?br />Q?spring:bindQ? Q?trQ?br />Q?tableQ?br />QbrQ?br />Qspring:hasBindErrors name="priceIncrease"Q?br />QbQPlease fix all errors!Q?bQ? Q?spring:hasBindErrorsQ?QbrQ<brQ?br />Qinput type="submit" alignment="center" value="Execute"Q?br />Q?formQ?br />Qa href="Qc:url value="hello.htm"/Q?QHomeQ?aQ?br />Q?bodyQ?br />Q?htmlQ?/td>
Qspring:bindQ标记经常用来绑定<inputQ表单元素以便提交给PriceIncrease.java,其实PriceIncrease.java中就是包含一些getter和setter的方法的cR当用户按下按钮提交的时候,其表单中的值实际上pframework攑ֈ了PriceIncrease.java中。<spring:bindQ经常和form一起?q个${status.errorMessage}?{status.value}是一个framework定义的特D变量,它们被用来显C错误信息和当前表单中的数据。呵呵,今天到此ؓ止吧Q关于Spring Framework标记库的详细用法Q请参考其文档?br /> ]]>一些简单的javaScript 语句 http://www.tkk7.com/love-sea/archive/2007/07/20/131531.html源自有缘 源自有缘 Fri, 20 Jul 2007 09:23:00 GMT http://www.tkk7.com/love-sea/archive/2007/07/20/131531.html http://www.tkk7.com/love-sea/comments/131531.html http://www.tkk7.com/love-sea/archive/2007/07/20/131531.html#Feedback 0 http://www.tkk7.com/love-sea/comments/commentRss/131531.html http://www.tkk7.com/love-sea/services/trackbacks/131531.html
//删除时要做确认?传参数时 记得用单引号 function _delete(newsid){ if(confirm('实要删除吗Q?)){ window.location.href=' <%=request.getContextPath()%>/news/delete.do?newid='+newsid; } return false; } //打开一个新的窗?q制窗口的大小
function _opendis(url,left1,top1) {
window.open( url,"","left=600,top=300,width=400,height=400,scrollbars"); } function _val() { if(form.title.value==""){ alert('标题不能为空Q?);//验证完整?br /> form.title.focus(); return false; } form.context.value=doc.body.innerHTML; //文本编辑器的东西赋值给一个文本域 form.submit();
}
]]>
վ֩ģ壺
۵Ӱ߹ۿ |
þþþùɫAVѿͼƬ |
Ʒ۲ӰԺ |
͵͵APP |
պһѹۿ |
Ʒרþ |
ѿĻɫƬ |
Ʒպav |
Ƭ߹ۿ |
avav߲ |
һëƬһëƬaa |
ҹӰԺþþƷѿһ
|
91վ߹ۿ |
͵͵Ʒ
|
ҹѸƬۿ |
AVˬҹҹ |
þþƷ |
99þۺϾƷ |
91ƵѲ |
Ʒ91ר
|
Ʒ߲
|
ҹþþþþþþõӰ
|
ŮƵվ |
?V?V˵ |
˿wwwѹۿ |
2022˾Ʒ |
**aaaaaëƬ |
һ |
ִӲֻˬƵ |
þƵһ |
һվȫ |
ձÿӰѿ |
ֳִˬֳƵ |
AVþþƷݺݰ˳
|
Ʒ˿߹ۿ |
պĻѹۿ
|
ѿڿŮ |
þþƷѿAV |
ĻӰ߹ۿ |
aëƬ˾þ |
Ʒ456˳ |