??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲女久久久噜噜噜熟女,亚洲国产精品不卡在线电影,亚洲精品麻豆avhttp://www.tkk7.com/todd841026/Z(jin)所qQ和爱我的h努力zh-cnSat, 10 May 2025 19:06:00 GMTSat, 10 May 2025 19:06:00 GMT60调整java 虚拟?/title><link>http://www.tkk7.com/todd841026/archive/2009/11/06/301376.html</link><dc:creator>C</dc:creator><author>C</author><pubDate>Fri, 06 Nov 2009 02:38:00 GMT</pubDate><guid>http://www.tkk7.com/todd841026/archive/2009/11/06/301376.html</guid><wfw:comment>http://www.tkk7.com/todd841026/comments/301376.html</wfw:comment><comments>http://www.tkk7.com/todd841026/archive/2009/11/06/301376.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/todd841026/comments/commentRss/301376.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/todd841026/services/trackbacks/301376.html</trackback:ping><description><![CDATA[<strong><br /> </strong> <div id="m26keyg" class="blog_content"> <p>管 JVM 调整操作?JVM 提供E序的不同而有所变化Q但一般的调整概念适用于所?JVM。这些一般的概念包括Q?<br /> ~译器调整。在服务器运行时期间Q所?JVM 都用即ӞJITQ编译器来将 Java 字节码编译ؓ(f)本机指o(h)?<br /> Java 内存或堆调整。JVM 内存理功能Q即垃圾回收Qؓ(f)提高 JVM 性能提供?jin)其中一U最大的可能性?<br /> c装入调整?<br /> q程 <br /> 优化启动性能和运行时性能 <br /> 在某些环境中Q优?WebSphere Application Server 的启动性能比优化运行时性能更重要。在另一些环境中Q优化运行时性能更ؓ(f)重要。缺省情况下QIBM JVM 是针对运行时性能q行优化的,而基? HotSpot ?JVM 是针对启动性能q行优化的?<br /> <br /> Java JIT ~译器在很大E度上决定了(jin)是优化启动性能q是优化q行时性能。编译器使用的初始优化别媄(jing)响编译类Ҏ(gu)所耗用的时间以?qing)启动服务器所耗用的时间。ؓ(f)?jin)提? 启动速度Q可以降低编译器所使用的初始优化别。这意味着Q由于现在用较低的优化U别来编译类Ҏ(gu)Q所以应用程序的q行时性能可能?x)下降?<br /> <br /> 因ؓ(f)~译器在q行时执行阶D会(x)Ҏ(gu)自己的判断来重新~译cL法以提高性能Q所以,很难提供一个有关特定的q行时性能影响的说明。最l,应用E序的持l时? 是媄(jing)响运行时性能下降E度的主要原因。运行时间较短的应用E序的方法被重新~译的可能性较高。运行时间较长的应用E序的方法被重新~译的可能性较低? IBM JVM 的缺省设|是使用高(sh)化别来执行初始~译。如果需要更Ҏ(gu)行ؓ(f)Q可以用以?IBM JVM 选项Q?<br /> <br /> -Xquickstart <br /> <br /> 此设|媄(jing)?IBM JVM 使用较低优化U别来编译类Ҏ(gu)的方式,q将提高服务器启动速度Q但?x)ɘq行时性能下降。缺省情况下Q如果未指定此参敎ͼIBM JVM 最初将使用较高的初始优化别来执行~译。此讄能够提高q行时性能Q但?x)减慢服务器启动速度?<br /> <br /> ~省|(x) 高初始编译器优化U别 <br /> |(x) 高初始编译器优化U别 <br /> 用法Q?-Xquickstart 可以加快服务器启动速度?<br /> <br /> Z Sun ?Hotspot 技术的 JVM 最初用低优化U别来编译类Ҏ(gu)。用下?JVM 选项来更Ҏ(gu)行ؓ(f)Q?<br /> <br /> -server <br /> <br /> Z Sun ?Hotspot 技术的 JVM 最初用低优化U别来编译类Ҏ(gu)。这?JVM 使用单编译器和能够进行优化的 JIT ~译器。通常情况下,使用?JIT ~译器。然而,可以通过讄此选项来用能够执行优化的~译器。此更改显著提高服务器的性能Q但使用能够执行优化的编译器Ӟ服务器的预备旉会(x)? ѝ?<br /> <br /> ~省|(x) 单编译器 <br /> |(x) 能够执行优化的编译器 <br /> 用法Q?-server 启用能够执行优化的编译器?<br /> <br /> 讄堆大?下列命o(h)行参数对于设|堆大小来说很有用?<br /> -Xms <br /> 此设|控?Java 堆的初始大小。正调整此参数有助于降低垃圑֛收开销Q从而羃短服务器响应旉q提高吞吐量。对于某些应用程序来_(d)此选项的缺省设|可能会(x)太低Q从而导致发生大量小型垃圑֛收?<br /> <br /> ~省|(x) 256 MB <br /> |(x) 随工作负载的不同而有所变化Q但高(sh)~省倹{?<br /> 用法Q?-Xms256m 初始堆大小讄?256 兆字?<br /> <br /> -Xmx <br /> 此设|控?Java 堆的最大大。正调整此参数有助于降低垃圑֛收开销Q从而羃短服务器响应旉q提高吞吐量。对于某些应用程序来_(d)此选项的缺省设|可能会(x)太低Q从而导致发生大量小型垃圑֛收?<br /> <br /> ~省|(x) 512 MB <br /> |(x) 随工作负载的不同而有所变化Q但高(sh)~省倹{?<br /> 用法Q?-Xmx512m 最大堆大小讄?512 兆字?<br /> <br /> -Xlp <br /> 此设|可以与 IBM JVM 配合使用Q以使用大页来分配堆。然而,如果使用此设|,那么必须操作系l配|ؓ(f)支持大页。用大可以降?CPU 跟踪堆内存时的开销Qƈ且还允许创徏较大的堆?<br /> <br /> 请参阅调整操作系l?以了(jin)解有兌整操作系l的更多信息?<br /> <br /> 应该指定的堆大小取决于不同时D늚堆用情c(din)在堆大频J更改的情况下,?Xms ?Xmx 参数指定相同的值可以提高性能?<br /> <br /> 调整 IBM JVM 的垃圑֛收器?<br /> 使用 Java -X 选项来查看内存选项列表?<br /> <br /> -Xgcpolicy <br /> ?gcpolicy 讄?optthruput ?x)禁用ƈ发标记。如果没有暂停时间问题(表现为应用程序响应时间不规律Q,那么应该使用此选项来实现最大吞吐量。将 gcpolicy 讄? optavgpause ?x)用缺省值来启用q发标记。此讄减由正常垃圾回收所引v的应用程序响应时间不规律情况。然而,此选项可能?x)降低整体吞吐量?<br /> <br /> ~省|(x) optthruput <br /> |(x) optthruput <br /> 用法Q?Xgcpolicy:optthruput <br /> <br /> -Xnoclassgc <br /> ~省情况下,当一个类没有Mzd实例ӞJVM ׃(x)从内存(sh)卸装该类Q但是这样会(x)使性能下降。如果关闭类垃圾回收Q就可以消除׃多次装入和卸装同一个类而造成的开销?<br /> <br /> 如果不再需要某个类Q那么该cd堆中所占用的空间通常用于创建新对象。但是,如果应用E序通过创徏cȝ新实例来处理hQƈ且该应用E序的请求是随机? 现的Q那么可能会(x)发生以下情况Q先前请求者完成后Q正常的cd圑֛收将通过释放q个cd用的堆空间来清除q个c,但当下一个请求出现时Q又必须这个类? 新实例化。在q种情况下,(zhn)可能想使用此选项来禁用类垃圾回收?<br /> <br /> ~省|(x) 启用cd圑֛?<br /> |(x) 用cd圑֛?<br /> 用法Q?Xnoclassgc 用cd圑֛?<br /> <br /> 有关其他信息Q请参阅下列 DeveloperWorks 文章Q?<br /> http://www.ibm.com/developerworks/java/ <br /> 调整 Sun JVM 的垃圑֛收器 <br /> ?Solaris q_上,W(xu)ebSphere Application Server ?Sun Hotspot JVM 上运行,而不是在 IBM JVM 上运行。对 Sun JVM 使用正确的调整参C利用其性能优化功能十分重要?<br /> <br /> Sun Hotspot JVM 依靠分代垃圾回收来实现最x(chng)能。下列命令行参数对于调整垃圾回收来说非常有用?<br /> <br /> -XX:SurvivorRatio <br /> ?Java 堆划分ؓ(f)旧对象(长生命周期对象)(j)区域和新对象区域。新对象区域q一步细分ؓ(f)两部分,W一部分用于分配l新对象Q初始区域)(j)Q第二部分存N些经q其前几 ơ垃圑֛收之后、但在被提升为旧对象之前仍在使用中的新对象(q存者空_(d)(j)。幸存者比率是堆的新对象区域中初始区域与幸存者空间的比率。增大此讄针? 需要创建大量对象但仅保留少量对象的应用E序优化 JVM。与其他应用E序相比QW(xu)ebSphere Application Server ?x)生成更多中{生命周期对象和长生命周期对象,因此Q应该将此设|设|ؓ(f)于~省倹{?<br /> <br /> ~省|(x) 32 <br /> |(x) 16 <br /> 用法Q?-XX:SurvivorRatio=16 <br /> <br /> -XX:PermSize <br /> 为永久生成对象保留的堆区域存?JVM 的所有反数据。对于动态地装入和卸装大量类的应用程序来_(d)应该增大此大以优化它们的性能。通过此参数讄?128MBQ可以消除增大此部分堆所需的开销?<br /> <br /> |(x) 128 MB <br /> 用法Q?XX:PermSize=128m ?perm 大小讄?128 兆字节?<br /> <br /> -Xmn <br /> 此设|控制允许新生成的对象在堆中耗用的空间量。正调整此参数有助于降低垃圑֛收开销Q从而羃短服务器响应旉q提高吞吐量。此参数的缺省设|通常q? 低,q将D执行大量的小型垃圑֛收操作。如果将此参数设|得q高Q可能会(x)D JVM 仅执行大型(全面Q垃圑֛收。这些垃圑֛收操作通常?x)耗时几秒钟,q将严重影响服务器的整体性能。?zhn)必须保持此参数讄为小于整个堆大小的一半,以避? q种情况出现?<br /> <br /> ~省|(x) 2228224 字节 <br /> |(x) 大约整个堆大的 1/4 <br /> 用法Q?-Xmn256m 大设|ؓ(f) 256 兆字节?<br /> <br /> -Xnoclassgc <br /> ~省情况下,当一个类没有Mzd实例ӞJVM ׃(x)从内存(sh)卸装该类Q但是这样会(x)使性能下降。如果关闭类垃圾回收Q就可以消除׃多次装入和卸装同一个类而造成的开销?<br /> <br /> 如果不再需要某个类Q那么该cd堆中所占用的空间通常用于创建新对象。但是,如果应用E序通过创徏cȝ新实例来处理hQƈ且该应用E序的请求是随机? 现的Q那么可能会(x)发生以下情况Q先前请求者完成后Q正常的cd圑֛收将通过释放q个cd用的堆空间来清除q个c,但当下一个请求出现时Q又必须这个类? 新实例化。在q种情况下,(zhn)可能想使用此选项来禁用类垃圾回收?<br /> <br /> ~省|(x) 启用cd圑֛?<br /> |(x) 用cd圑֛?<br /> 用法Q?Xnoclassgc 用cd圑֛?<br /> <br /> 有关调整 Sun JVM 的其他信息,请参?Java HotSpot VM 的性能文档?<br /> <br /> 调整 HP JVM 的垃圑֛收器 <br /> HP JVM 依靠分代垃圾回收来实现最x(chng)能。下列命令行参数对于调整垃圾回收来说非常有用?<br /> <br /> -Xoptgc <br /> 此设|针对包含许多短生命周期对象的应用程序优?JVM。如果未指定此参敎ͼ那么 JVM 通常执行大型Q全面)(j)垃圾回收。全面垃圑֛收会(x)p几秒钟时_(d)q将显著影响服务器性能?<br /> <br /> ~省|(x) off <br /> |(x) on <br /> 用法Q?-Xoptgc 启用优化的垃圑֛收?<br /> <br /> -XX:SurvivorRatio <br /> ?Java 堆划分ؓ(f)旧对象(长生命周期对象)(j)区域和新对象区域。新对象区域q一步细分ؓ(f)两部分,W一部分用于分配l新对象Q初始区域)(j)Q第二部分存N些经q其前几 ơ垃圑֛收之后、但在被提升为旧对象之前仍在使用中的新对象(q存者空_(d)(j)。幸存者比率是堆的新对象区域中初始区域与幸存者空间的比率。增大此讄针? 需要创建大量对象但仅保留少量对象的应用E序优化 JVM。与其他应用E序相比QW(xu)ebSphere Application Server ?x)生成更多中{生命周期对象和长生命周期对象,因此Q应该将此设|设|ؓ(f)于~省倹{?<br /> <br /> ~省|(x) 32 <br /> |(x) 16 <br /> 用法Q?-XX:SurvivorRatio=16 <br /> <br /> -XX:PermSize <br /> 为永久生成对象保留的堆区域存?JVM 的所有反数据。对于动态地装入和卸装大量类的应用程序来_(d)应该增大此大以优化它们的性能。通过此参数指定?128 兆字节,可以消除增大此部分堆所需的开销?<br /> <br /> ~省|(x) 0 <br /> |(x) 128 兆字?<br /> 用法Q?-XX:PermSize=128m ?PermSize 讄?128 兆字?<br /> <br /> -XX:+ForceMmapReserved <br /> ~省情况下,Java 堆以“惰性交?#8221;方式q行分配。在此方式下Q将Ҏ(gu)需要来分配内存,q样可以节省交换I间Q但是也强制?4KB c(din)在大型堆系l中Q这U内存分配方式允许堆包含C十万计的c(din)此命o(h)用“惰性交?#8221;q允许操作系l用较大的内存,从而优化对构成 Java 堆的内存的访问?<br /> <br /> ~省|(x) off <br /> |(x) on <br /> 用法Q?-XX:+ForceMmapReserved 禁?#8220;惰性交?#8221;?<br /> <br /> -Xmn <br /> 此设|控制允许新生成的对象在堆中耗用的空间量。正调整此参数有助于降低垃圑֛收开销Q从而羃短服务器响应旉q提高吞吐量。此参数的缺省设|通常q低Q这导致执行大量的型垃圾回收操作?<br /> <br /> ~省|(x) 没有~省?<br /> |(x) 大约整个堆大的 3/4 <br /> 用法Q?-Xmn768m 大设|ؓ(f) 768 兆字?<br /> <br /> 虚拟大?<br /> 通过?Java 虚拟机的指o(h)大和数据大设|ؓ(f) 64MBQ可以提高性能?<br /> <br /> ~省|(x) 4MB <br /> |(x) 64MB <br /> 用法Q?使用以下命o(h)。命令输出提供了(jin)q程可执行文件的当前操作pȝ特征Q?<br /> chatr +pi64M +pd64M /opt/WebSphere/ <br /> AppServer/java/bin/PA_RISC2.0/ <br /> native_threads/java <br /> <br /> <br /> -Xnoclassgc <br /> ~省情况下,当一个类没有Mzd实例ӞJVM ׃(x)从内存(sh)卸装该类Q但是这样会(x)使性能下降。如果关闭类垃圾回收Q就可以消除׃多次装入和卸装同一个类而造成的开销?<br /> <br /> 如果不再需要某个类Q那么该cd堆中所占用的空间通常用于创建新对象。但是,如果应用E序通过创徏cȝ新实例来处理hQƈ且该应用E序的请求是随机? 现的Q那么可能会(x)发生以下情况Q先前请求者完成后Q正常的cd圑֛收将通过释放q个cd用的堆空间来清除q个c,但当下一个请求出现时Q又必须这个类? 新实例化。在q种情况下,(zhn)可能想使用此选项来禁用类垃圾回收?<br /> <br /> ~省|(x) 启用cd圑֛?<br /> |(x) 用cd圑֛?<br /> 用法Q?Xnoclassgc 用cd圑֛?<br /> <br /> 有关调整 HP 虚拟机的其他信息Q请参阅 Java 技术Y?HP-UX 11i?<br /> <br /> 调整 HP ?JVM for HP-UX 讄下列选项以提高应用程序性能Q?<br /> -XX:SchedulerPriorityRange=SCHED_NOAGE <br /> -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider <br /> -XX:-ExtraPollBeforeRead</p> </div> <img src ="http://www.tkk7.com/todd841026/aggbug/301376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/todd841026/" target="_blank">C</a> 2009-11-06 10:38 <a href="http://www.tkk7.com/todd841026/archive/2009/11/06/301376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在RED HAT ENTERPRICE LINUX4 上安装ORACLE 10Ghttp://www.tkk7.com/todd841026/archive/2009/10/13/298104.htmlCCTue, 13 Oct 2009 11:28:00 GMThttp://www.tkk7.com/todd841026/archive/2009/10/13/298104.htmlhttp://www.tkk7.com/todd841026/comments/298104.htmlhttp://www.tkk7.com/todd841026/archive/2009/10/13/298104.html#Feedback0http://www.tkk7.com/todd841026/comments/commentRss/298104.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/298104.html
W一?准备工作

? (g)查内?br /> SZ_TOMCAT:/home/xjy/soft> grep SwapTotal /proc/meminfo
SwapTotal:     2031608 kB

? (g)查内?br />  Linux reaky.com 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux

? (g)查Y件包
SZ_TOMCAT:/home/xjy/soft> rpm -q gcc make binutils glibc libaio
gcc-3.4.3-9.EL4
make-3.80-5
binutils-2.15.92.0.2-10.EL4
glibc-2.3.4-2
libaio-0.3.102-1

SZ_TOMCAT:/home/xjy/soft> rpm -q openmotif
openmotif-2.2.3-6.RHEL4.2
setarch-1.6-1


(g)查内核参?br /> sysctl –a

然后?ETC/sysctl.conf中添?br /> kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

执行/sbin/sysctl –p

中文化显C工?/p>

修改/etc/sysconfig/i18n文g,改ؓ(f)
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"修改/etc/sysconfig/i18n文g,改ؓ(f)
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"


W二?
? 创徏用户
su – root
[root@reaky etc]# groupadd dba
[root@reaky etc]# groupadd oinstall
[root@reaky etc]# useradd -c "Oracle software owner" -g oinstall -G dba oracle

? 讄环境
~辑/home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
alias ls='ls -CF'
PS1='SZ_TOMCAT:$PWD> '; export PS1
umask 022
set -o vi
stty intr '^c'
stty -istrip
#if [ $USER = "oracle" ]; then
#        if [ $SHELL = "/bin/ksh" ]; then
#              ulimit -p 16384
#              ulimit -n 65536
#        else
#              ulimit -u 16384 -n 65536
#        fi
#fi
EDITOR=vi;   export EDITOR
TEMP=/tmp;   export TEMP
TMPDIR=/tmp; export TMPDIR
### SETUP ORACLE ENVIRONMENT ###
ORACLE_SID=ora10; export ORACLE_SID
ORACLE_BASE=/home/oracle;                    export ORACLE_BASE
ORACLE_HOME=/home/oracle/product/10.2.0;     export ORACLE_HOME
ORACLE_TERM=ansi;                            export ORACLE_TERM
JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType/; export JAVA_FONTS
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;          export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=.:$ORACLE_HOME/bin:$PATH
export PATH
### FOR ORACLE INSTALL ###
export LC_ALL="en_US"
export LC="en_US"


W三步、安装Oracle10g
   
1Q开始Oracle普通安?br />    以oracle用户dlinuxQ加载oracle Oracle10g光盘Q?在执行runInstaller?定Oracle环境变量已经讄,可以执行如下命o(h)(g)验环境变量的讄:
oracle 用户登陆
$set
在终端命令窗口,执行如下命o(h)Q开始oracle10g的安?
oracle$/mnt/cdrom/runInstaller
2.在欢q窗口界? 点击“下一?#8221;按钮
3.指定Inventory 路径和n份证明窗?
    inventory路径? /home/oracle/oraInventory
  指定操作pȝl名: oinstall
点击“下一?#8221;按钮
4Q这时会(x)弹出一个执行orainstRoot.sh 脚本的窗?
打开另一个终端,以root用户执行如下命o(h):
su – root
cd  /home/oracle/oraInventory
./orainstRoot.sh
然后Q切换到oracle安装H口Q点?#8220;l箋(hu)”按钮
5Q?nbsp;       在指定文件位|窗口弹出后Q指定相应的路径:
?
路径Q?/mnt/cdrom/stage/products.xml
目的:
名称:  OraDb10g_home1
路径: /home/oracle/product/10.1.0/db_1
然后Q点?#8220;下一?#8221;按钮
6Q选择安装cd:
选择"企业?选项Q然后点?#8220;下一?#8221;按钮。安装程序验证系l是否符合安装和配置所选品的所有最低要?br /> 7Q?nbsp;       安装E序验证pȝ是否W合安装和配|所选品的所有最低要求。当(g)完成ƈ成功后,点击“下一?#8221;按钮
8Q?nbsp;       选择数据库设|?
选择"通用"选项Q然后点?#8220;下一?#8221;按钮
9Q指定数据库配置参数:
全局数据库名U? "test".
SID: "test".
选中“创徏带样本方案的数据?#8221;复选框Q然后,点击“下一?#8221;按钮
10Q选择数据库管理设|?
选择"使用 Database Control理数据??br /> 然后Q点?#8220;下一?#8221;
11.指定数据库文件存储选项
选择 "文gpȝ"选项.
指定数据库\? /home/oracle/oradata/
然后点击“下一?#8221;按钮Q?br />   12.指定备䆾和恢复选项:
选择"不启用自动备?.
点击 “下一?#8221;按钮
13Q指定数据库Ҏ(gu)口o(h):
可以为SYS、SYSTEM、SYSMAN、DBSNMP单独指定口o(h),或选择"所有用户用同一口o(h)"选项.些用h定同一个口令?br /> 指定口o(h)不要以数字开?否则?x)得到错误信?然后点击 “下一?#8221;按钮
14Q?nbsp;       出现概要H口后, 点击“安装”按钮
15Q?nbsp;       q时你会(x)看到数据库安装过E窗口,然后?x)出现辅助设|窗口,再出现数据库创徏H口?br /> 16Q?nbsp;       数据库创建完毕,弹出数据库创建完成窗口,点击Ok按钮?br /> 当弹Z个执行root.sh脚本的窗口时在另一个终端执行如下命?
su – root
cd /home/oracle/product/10.1.0/db_1
./root.sh
点击定”按钮

17Q?nbsp;       在概要安装完毕,?x)报告一个发?ORACLE_BASE/product/10.1.0/db_1/portlist.ini文gQ这时点击OK按钮
18Q?nbsp;       安装l束:
点击“退?#8221;按钮Q结束安装程序?br /> 六、数据库的启动和停止
要数据库启动,执行如下命o(h):
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
要数据库停止,执行如下命o(h):
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown
 


删除oracle10g
      如果oracle10ganzhuangq程中出现错误,需要重新安装,可以执行如下命o(h)删除以前安装的oracleQ?br /> su –oracle
rm –rf /home/oracle/*
rm –f  /etc/oraInst.loc /etc/oratab  /etc/oracle
su –root
export ORACLE_HOME=/home/oracle/product/10.1.0/db_1
$ORACLE_HOME/bin/localconfig delete
rm –f /etc/inittab.cssd
rm –f /usr/local/bin/coraenv  /usr/local/bin/dbhome
rm –f /usr/local/bin/oraenv
执行完上q命令后Q重新启动系l,可以重新安装oracle10g数据库系l?/p>


FAQ (在Linuxq_安装Oracle比较常见的问?
1. 不能启动安装界面
q行runInstaller提示信息cM如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:
can't connect to x11 window server using "localhost:0.0" at .......
解决办法: 讑֮你的DISPLAY环境参数.
# export DISPLAY= your_IPaddress :0.0
把your_IPaddress换成你的IP.或者用root单的执行一? xhost + (要注意这样会(x)有安全上的隐(zhn)?
2.安装界面昄很多"口口"样子的ؕ?br /> 解决办法:查看locale输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装E序.
3. 用IEdLinux服务器上的em出现q
在Linux(Unix) 环境下成功安装了(jin)Oracle 10g,从windows下用IE览器登?10g 的em, 按钮?口口"q样的方?
解决办法: 参?
http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm
4.创徏数据库的时候出现ORA-03113的错?br /> 解决办法: 查看核心(j)参数是否调整正确.参?
http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1{系l?0g不支持如何安?
解决办法Q在10g不支持的Linux发行版上安装10g的解x(chng)?br /> 1). q行runInstaller -ignoreSysPrereqsQ这样会(x)跌(g)?
2). 摘自 www.puschitz.com 修改/etc/redhat-release文gQ?br /> #su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release <<   EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕Q执行如下操作:(x)
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同样的思\Q我们可以修改Oracle 的install/oraparam.ini文g辑ֈ目的.
6.如何x(chng)那些 ocssd.bin q程Q?br /> 解决办法:~辑/etc/inittab文g(做好备䆾)
注释掉这一?
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................
---------------------------------------------------------------------------------------------------------------------
参考信?br /> http://blog.csdn.net/itsdn/archive/2007/05/21/1619114.aspx
Q?br /> 1、在 Linux x86 上安装Oracle数据?0g
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#rhel3
2、Oracle 10gR2 + RedHat Enterprise Linux AS4 安装
http://www.linuxdiyf.com/viewarticle.php?id=11578
3、Oracle 10g For Linux安装手册
http://bbs.database.ccidnet.com/htm_data/27/0607/112610.html
4、Installing Oracle 10g on RHEL AS 3 Step-by-Step
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

/etc/rc.d/init.d/dbora文g内容
#http://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
# chkconfig: 0356 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
#
#
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=CQRCDATA
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
dltelecom  - "$ORACLE_USER" -c "$ORACLE_HOME/bin/dbstart"
dltelecom  - "$ORACLE_USER" -c "$ORACLE_HOME/bin/emctl start dbconsole"
dltelecom  - "$ORACLE_USER" -c "SORACLE_HOME/bin/isqlplusctl start"
;;
stop)
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac

C 2009-10-13 19:28 发表评论
]]>
Linux 下安装JDKhttp://www.tkk7.com/todd841026/archive/2009/10/13/298014.htmlCCMon, 12 Oct 2009 17:58:00 GMThttp://www.tkk7.com/todd841026/archive/2009/10/13/298014.htmlhttp://www.tkk7.com/todd841026/comments/298014.htmlhttp://www.tkk7.com/todd841026/archive/2009/10/13/298014.html#Feedback0http://www.tkk7.com/todd841026/comments/commentRss/298014.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/298014.html一、安?span style="font-family: Times New Roman">JDKQ?/span>

首先?span style="font-family: Times New Roman">sun官网下蝲安装包:(x)

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

分别下蝲Q?/span>jdk-6u16-linux-i586-rpm.bin ?span style="font-family: Times New Roman">jdk-6u16-linux-i586.bin

然后这两个安装文g攑ֈ:/usr/tmp 目录下,分别修改权限Q命令如下:(x)

# chmod u+x ./jdk-6u16-linux-i586.bin

# chmod u+x ./jdk-6u16-linux-i586-rpm.bin

解压文gQ这两个文g可以自动解压Q:(x)

# ./jdk-6u16-linux-i586.bin

创徏目录/usr/java:

# mkdir /usr/java

解压出来的jdk-6u16-linux-i586目录复制?span style="font-family: Times New Roman">/usr/java目录下:(x)

# cp -fr jdk-6u16-linux-i586 /usr/java

解压文g

# ./jdk-6u16-linux-i586-rpm.bin

安装软g?x)?span style="font-family: Times New Roman">JDK自动安装?span style="font-family: Times New Roman"> /usr/java/jdk-6u16-linux-i586目录?/span>

二、配|环境变?/span>

1.修改用户环境变量

假设使用java的用户ؓ(f) guestQ编辑该用户?span style="font-family: Times New Roman">.bashrc文gq行环境变量讄?/span>

# vi /home/ guest /.bashrc

?span style="font-family: Times New Roman"> .bashrc文g中加入:(x)

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

2.修改所有用L(fng)环境变量

# vi /etc/profile

在该文g中加?span style="font-family: Times New Roman">:

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

注意CLASSPATH路径中加入了(jin)$CLASSPATHQ这样可以避免将之前配置的\径被覆盖?/span>

profile文g如下Q?/span>

############profile begin###########

# /etc/profile

# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc

pathmunge () {

        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then

           if [ "$2" = "after" ] ; then

              PATH=$PATH:$1

           else

              PATH=$1:$PATH

           fi

        fi

}

# ksh workaround

if [ -z "$EUID" -a -x /usr/bin/id ]; then

        EUID=`id -u`

        UID=`id -ru`

fi

# Path manipulation

if [ "$EUID" = "0" ]; then

        pathmunge /sbin

        pathmunge /usr/sbin

        pathmunge /usr/local/sbin

fi

# No core files by default

ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then

        USER="`id -un`"

        LOGNAME=$USER

        MAIL="/var/spool/mail/$USER"

fi

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then

    INPUTRC=/etc/inputrc

fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

#java path

export JAVA_HOME=/usr/java/jdk1.6.0_16

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

for i in /etc/profile.d/*.sh ; do

    if [ -r "$i" ]; then

        . $i

    fi

done

unset i

unset pathmunge

############profile end###########

三、卸?span style="font-family: Times New Roman">jkdQ?/span>

1、卸载系l自带的jdk版本Q?/span>

查看自带?span style="font-family: Times New Roman">jdkQ?/span>

#rpm -qa | grep gcj

看到如下信息Q?/span>

libgcj-4.1.2-44.el5

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

使用rpm -e --nodeps 命o(h)删除上面查找的内容:(x)

#rpm -e –nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2、卸?span style="font-family: Times New Roman">rpm安装?span style="font-family: Times New Roman">jkd版本

查看安装?span style="font-family: Times New Roman">jdkQ?/span>

#rpm -qa|grep jdk

看到如下信息Q?/span>

java-1.6.0-openjdk-1.6.0.0-0.25.b09.el5

jdk-1.6.0_16-fcs

卸蝲Q?/span>

#rpm -e --nodeps jdk-1.6.0_16-fcs



C 2009-10-13 01:58 发表评论
]]>
twiki 安装http://www.tkk7.com/todd841026/archive/2009/03/11/259167.htmlCCWed, 11 Mar 2009 09:22:00 GMThttp://www.tkk7.com/todd841026/archive/2009/03/11/259167.htmlhttp://www.tkk7.com/todd841026/comments/259167.htmlhttp://www.tkk7.com/todd841026/archive/2009/03/11/259167.html#Feedback0http://www.tkk7.com/todd841026/comments/commentRss/259167.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/259167.htmltwiki4.1.2的安装及(qing)配置         twiki 遵@ GPL 协议QY件定位ؓ(f)“灉|、强大、易于用的企业协作q_”Q运行于 Perl 环境Q是很多大型商业公司首选的 wiki q_?br />

安装q程?qing)配|:(x)

#建立 twiki 目录
mkdir /home/centeur/public_html/twiki
cd /home/centeur/public_html/twiki
#下蝲q解?br /> wget http://twiki.org/p/pub/Codev/Release/TWiki-4.1.2.tgz
tar -zxvf TWiki-4.1.2.tgz
#权限限制
cp root-htaccess.txt .htaccess
cp pub-htaccess.txt pub/.htaccess
cp subdir-htaccess.txt lib/.htaccess
cp subdir-htaccess.txt data/.htaccess
cp subdir-htaccess.txt locale/.htaccess
cp subdir-htaccess.txt templates/.htaccess
cp bin/.htaccess.txt bin/.htaccess

 

cp bin/LocalLib.cfg.txt bin/LocalLib.cfg
#修改 bin/LocalLib.cfgQ将 $twikiLibPath 改ؓ(f)合适的路径
$twikiLibPath = "/home/centeur/public_html/twiki/lib";
#修改 bin/.htaccessQ将 {DataDir}和{Administrators} 修改为合适的内容
AuthUserFile /home/centeur/public_html/twiki/data/.htpasswd
AuthName 'Enter your WikiName: (First name and last name, no space, no dots, capitalized, e.g. JohnSmith). Cancel to register if you do not have one.'
AuthType Basic
<FilesMatch "configure.*">
SetHandler cgi-script
Order Deny,Allow
Deny from all
Allow from 127.0.0.1, 192.168.1.10
Require user centeur
Satisfy Any
</FilesMatch>
#建立pȝ理员帐?br /> htpasswd -c data/.htpasswd centeur

#现在可以在览器中键入 http://example.com/twiki/bin/configure q行讄?jin),讄保存?lib/LocalSite.cfg ?br /> #提示~少 CGI::Session 模块Q进行安?br /> mkdir /home/centeur/CPAN
cd /home/centeur/CPAN
wget http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/CGI-Session-4.10.tar.gz
tar -zxvf CGI-Session-4.10.tar.gz
cd CGI-Session-4.10
perl Makefile.PL PREFIX=/home/centeur/CPAN
make
make install
#拯模块?twiki ?lib ?br /> cd /home/centeur/public_html/twiki
cp -R /home/centeur/CPAN/lib/perl5/site_perl/5.8.8/CGI lib/CPAN/lib/CGI

#LocalSite.cfg 的部分设|内?br /> $TWiki::cfg{DefaultUrlHost} = 'http://example.com';
$TWiki::cfg{ScriptUrlPath} = '/twiki/bin';
$TWiki::cfg{PubUrlPath} = '/twiki/pub';
$TWiki::cfg{PubDir} = '/home/centeur/public_html/twiki/pub';
$TWiki::cfg{TemplateDir} = '/home/centeur/public_html/twiki/templates';
$TWiki::cfg{DataDir} = '/home/centeur/public_html/twiki/data';
$TWiki::cfg{LocalesDir} = '/home/centeur/public_html/twiki/locale';
$TWiki::cfg{TempfileDir} = '/home/centeur/tmp';
$TWiki::cfg{UseClientSessions} = 1;
$TWiki::cfg{LoginManager} = 'TWiki::Client::TemplateLogin';
$TWiki::cfg{MinPasswordLength} = 6;
$TWiki::cfg{Htpasswd}{FileName} = '/home/centeur/public_html/twiki/data/.htpasswd';
$TWiki::cfg{Languages}{ru}{Enabled} = 0;
$TWiki::cfg{Languages}{sv}{Enabled} = 0;
$TWiki::cfg{Languages}{'zh-tw'}{Enabled} = 1;
$TWiki::cfg{Languages}{cs}{Enabled} = 0;
$TWiki::cfg{Languages}{'zh-cn'}{Enabled} = 1;
$TWiki::cfg{Languages}{es}{Enabled} = 0;
$TWiki::cfg{Languages}{nl}{Enabled} = 0;
$TWiki::cfg{Languages}{pl}{Enabled} = 0;
$TWiki::cfg{Languages}{fr}{Enabled} = 0;
$TWiki::cfg{Languages}{da}{Enabled} = 0;
$TWiki::cfg{Languages}{de}{Enabled} = 0;
$TWiki::cfg{Languages}{pt}{Enabled} = 0;
$TWiki::cfg{Languages}{it}{Enabled} = 0;
$TWiki::cfg{DisplayTimeValues} = 'servertime';
$TWiki::cfg{Site}{Locale} = 'zh_CN.UTF-8';
$TWiki::cfg{Site}{LocaleRegexes} = 1;
$TWiki::cfg{StoreImpl} = 'RcsLite';
$TWiki::cfg{WebMasterEmail} = 'lypdarling@gmail.com';
$TWiki::cfg{UserInterfaceInternationalisation} = 1;
$TWiki::cfg{UseLocale} = 1;
$TWiki::cfg{Site}{CharSet} = 'UTF-8';
$TWiki::cfg{Site}{Lang} = 'zh';
$TWiki::cfg{Site}{FullLang} = 'zh-cn';

#现在可以在浏览器中键?http://example.com/twiki/bin/view q入 twiki 面?br /> #~辑 TWIki > Main 目录 > TWikiAdminGroup 面Q将 centeur 加入 GROUP
* Member list:
  * Set GROUP = centeur
* Persons/group who can change the list:
  * Set ALLOWTOPICCHANGE = TWikiAdminGroup
#修改 .htaccessQ进行重定向讄
Redirect /twiki/index.html http://example.com/twiki/bin/view



C 2009-03-11 17:22 发表评论
]]>
javascript call gwt methodhttp://www.tkk7.com/todd841026/archive/2008/12/17/246754.htmlCCTue, 16 Dec 2008 16:45:00 GMThttp://www.tkk7.com/todd841026/archive/2008/12/17/246754.htmlhttp://www.tkk7.com/todd841026/comments/246754.htmlhttp://www.tkk7.com/todd841026/archive/2008/12/17/246754.html#Feedback3http://www.tkk7.com/todd841026/comments/commentRss/246754.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/246754.htmlq个有些变态的东西折磨?jin)整两天Q最头疼q种东西?jin)?j)Q我遇到的是用gwt的frame的回来一个IOStreamQhtml stringQ,我要高(sh)html里的关键标记Qƈ让他们有事gQ所以,我在q回IOStream之前q行拦截Qƈrepleace关键标记Q加上了(jin)高(sh)的属?background-color='yellow'", 加上?jin)事件处?onclick=\"javascript:window.top.clickFireEvent('Todd')" (是q一块,最让我头疼?jin),因?f)是个frame所以他们不在同一个窗口下)Q?br /> 在gwt中:(x)

//gwt EntryPoint method
public void onModuleLoad() {
    clickEventFire();
  }

//This is jsni method

  private static native void clickEventFire()/*-{
   $wnd.clickEventFire = function(id){
   @com.todd.Main::fireScriptEvent(Ljava/lang/String;)(name);
   }
   }-*/;

//This is a method for javascript call.
public static void fireScriptEvent(String name) {
    System.out.println("My name is " + name);
}

别看短短几句Q真的是很头疼的东西Q)(j)

C 2008-12-17 00:45 发表评论
]]>
Java Debughttp://www.tkk7.com/todd841026/archive/2008/06/18/208971.htmlCCWed, 18 Jun 2008 11:11:00 GMThttp://www.tkk7.com/todd841026/archive/2008/06/18/208971.htmlhttp://www.tkk7.com/todd841026/comments/208971.htmlhttp://www.tkk7.com/todd841026/archive/2008/06/18/208971.html#Feedback0http://www.tkk7.com/todd841026/comments/commentRss/208971.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/208971.html 先说几个概念Q这是我在网上查的)(j)Q?br />     1.什么是JPDAQ?/strong>
        Java Platform Debugger Architecture(JPDA:Javaq_调试架构) 由Java虚拟机后端和调试q_前端l成 Q?br />             a.Java虚拟机提供了(jin)Java调试的功?
            b.调试q_通过调试交互协议向Java虚拟求服务以对在虚拟Zq行的程序进行调?
       JPDA架构Q?br />           JPDA通过两个接口和协议来完成如上的说明,分别是JVMTIQJava虚拟机工h口)(j)、JDWPQJava调试q线协议Q和JDIQJava调试接口Q?
            a.JVMTI定义?jin)虚拟机应该提供的调试服务,包括调试信息QInformation譬如栈信息)(j)、调试行为(Action譬如客户端设|一个断点)(j)和通知                      QNotification譬如到达某个断点旉知客户端)(j)Q该接口p拟机实现者提供实玎ͼq结合在虚拟Z
            b.JDWP定义调试服务和调试器之间的通信Q包括定义调试信息格式和调试h机制
            c.JDI在语a的高层次上定义了(jin)调试者可以用的调试接口以能方便Cq程的调试服务进行交互,Java语言实现Q调试器实现者可直接使用该接口访问虚                拟机调试服务?br />        q行方式Q?br />           当虚拟机的调试服务运行时Q虚拟机作ؓ(f)调试的服务提供端Q监听一个连接,而调试器通过该连接与虚拟行交互。目前,W(xu)indowsq_的JVM提供?jin)? U?nbsp;         方式的连接:(x)׃n内存?Socketq接Q共享内存的服务提供端和调试端只能位于同一台机Q而Socketq接则支持不同异试,卌E调试?br />        虚拟参数配置Q?br />           aQ启用调试服?
        -Xdebug 启用调试
        -Xrunjdwp:<sub-options> 加蝲JVM的JPDA参考实现库
          b. Xrunjdwp子参敎ͼsub-optionsQ配|?br />              Xrunjdwp子参数的配置格式如下
             -Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...
          c.例子
             -Xrunjdwp:transport=dt_socket,server=y,address=8000
         ?000端口监听Socketq接Q挂起VMq且不加载运行主函数直到调试h到达

        -Xrunjdwp:transport=dt_shmem,server=y,suspend=n
        选择一个可用的׃n内存Q因为没有指addressQƈ监听该内存连接,同时加蝲q行d?

        -Xrunjdwp:transport=dt_socket,address=myhost:8000
        q接到myhost:8000提供的调试服务(server=nQ以调试客户端存在)(j)Q挂起VMq且不加载运行主函数
 
        -Xrunjdwp:transport=dt_shmem,address=mysharedmemory
        通过׃n内存的方式连接到调试服务Q挂起VMq且不加载运行主函数

        -Xrunjdwp:transport=dt_socket,server=y,address=8000,onthrow=java.io.IOException,launch=/usr/local/bin/debugstub
        {待java.io.IOException被抛出,然后挂vVMq监?000端口q接Q在接到调试h后以命o(h)/usr/local/bin/debugstub dt_socket myhost:8000执行
 
        -Xrunjdwp:transport=dt_shmem,server=y,onuncaught=y,launch=d:\bin\debugstub.exe
        {待一个RuntimeException被抛出,然后挂vVMq监听一个可用的׃n内存Q在接到调试h后以命o(h)d:\bin\debugstub.exe dt_shmem <address>                执行, <address>是可用的׃n内存
    2.基本原理
      
服务器端在启动的服务器的同时Q也把JPDA明确的启动v来,分配一个端口号Q那么你在客L(fng)只要q接上JPDA服务(sunUCؓ(f)工具q_)便能试?jin)?br />     3.Tomcat 实例
      
打开tomcat的bin目录Q找到catalina.bat, 用记事本打开它?br />         扑ֈset JPDA_OPTS=-Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%Q?br />         改ؓ(f)set JPDA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=5500,server=y,suspend=n
        q样打开?500端口Q然后你到bin目录下运行jpda startQ你再去监听5500端口Q就可以实现remote debug?jin)?br />       


C 2008-06-18 19:11 发表评论
]]>
节省使用httpsessionQ此文引用于Effective Enterprise javaQ?9Q?/title><link>http://www.tkk7.com/todd841026/archive/2007/12/17/168150.html</link><dc:creator>C</dc:creator><author>C</author><pubDate>Mon, 17 Dec 2007 02:04:00 GMT</pubDate><guid>http://www.tkk7.com/todd841026/archive/2007/12/17/168150.html</guid><wfw:comment>http://www.tkk7.com/todd841026/comments/168150.html</wfw:comment><comments>http://www.tkk7.com/todd841026/archive/2007/12/17/168150.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.tkk7.com/todd841026/comments/commentRss/168150.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/todd841026/services/trackbacks/168150.html</trackback:ping><description><![CDATA[<p>    Zhtml/http的应用中Qؓ(f)?jin)维护代表客L(fng)的瞬时状态,servlet容器提供?jin)一U称Z(x)话空间的设施Q被表示为HttpSession接口。这个思想本n是简单而直接的QservletE序员可以将L的可序列化对象置于会(x)话空_(d)而下一ơ,同一个用户对同一个Web应用的Q何部分发?gu)求时Qservlet容器确保同L(fng)对象?x)处在HttpSession对象中。这使得servlet开发者可以ؓ(f)在服务器上的Web应用在多个HTTPh之间l护每个客户端的状态信息;</p>     遗憾的是Q这U机制ƈ非完全免费的。首先,在服务器端ؓ(f)每个客户端存储数据将?x)减该服务器上的可用资源,q意味着服务器的最大负载能力会(x)成比例下降。这个算式很单:(x)在会(x)话空间中保存多的数据,机器能够处理的会(x)话就少。由此推导出Qؓ(f)?jin)o(h)l定的机器能够支持尽可能多的客户端,必须会(x)话的存储量保持在最。实际上Q对于真正具备可扩展性的pȝ而言Q无Z旉应该避免使用?x)话。如果在服务器端可以不生Q何ؓ(f)每个客户端进行处理的开销Q那么机器的负蝲能力Q在理论上)(j)可以到达无限Q能够支持Q意多q接到它的客L(fng)?br /> <img src ="http://www.tkk7.com/todd841026/aggbug/168150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/todd841026/" target="_blank">C</a> 2007-12-17 10:04 <a href="http://www.tkk7.com/todd841026/archive/2007/12/17/168150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse pluginhttp://www.tkk7.com/todd841026/archive/2007/11/29/163980.htmlCCThu, 29 Nov 2007 06:12:00 GMThttp://www.tkk7.com/todd841026/archive/2007/11/29/163980.htmlhttp://www.tkk7.com/todd841026/comments/163980.htmlhttp://www.tkk7.com/todd841026/archive/2007/11/29/163980.html#Feedback0http://www.tkk7.com/todd841026/comments/commentRss/163980.htmlhttp://www.tkk7.com/todd841026/services/trackbacks/163980.htmlJodeclipse 是Jode的Eclipse插gQJadClipse是Jad的Eclipse插gQ它们都是非常好的反~译插g?br />
Jode Eclipse Plugin 1.0.5 for Eclipse version 3.1 / 3.2

安装Ҏ(gu)

Q?Q从如下地址下蝲Q?br />
http://sourceforge.net/projects/jodeeclipse

把下载下来的文gjodeplugin_1.0.5.zip直接解压到eclipse的plugins目录下?br />
Q?Q启动eclipseQhelp -> Software Updates-> Find and Install... -> Search for new features to install,单击"New Remote Site..." 在URL栏输?http://www.technoetic.com/eclipse/update然后下一步,可以看?#8220;jode decompiler plugin *.*”Q选上安装可以了(jin)。安装好后可以看到Window -> Preferences...-> Java -> Jode Decompiler选项卡,okayQ安装成功了(jin)?br />

配置QWindow-> Preferences... -> General -> Editors -> File Associations扑ֈ"*.class"?Associated editors"里面可以看到"Jode class file viewer"选中它再单击Default按钮.


JadClipse Eclipse Plugin for Eclipse version 3.1 / 3.2/3.3

一、下载:(x)
下蝲插gQ?br /> 下蝲jadclipse_3.1.0.jar版本Q该版本支持eclipse3.1M6?.2M2
下蝲jadclipse_3.2.0.jar版本Q该版本支持eclipse3.2M3和eclipse3.2M4.
下蝲jadclipse_3.2.4.jar版本Q该版本支持eclipse3.2M5?.3M5

下蝲jadclipse_3.3.0.jar版本Q该版本支持eclipse3.3M6以上版本

下蝲Jad反编译工P(x)
http://www.kpdus.com/jad.html#downloadQ在该页中找到适合自己操作pȝq_的jad下蝲。下载后解压Q然后将解压后的jad.exe文g复制?JAVA_HOME%\bin目录下面Q可以将jad.exe攑ֈL位置Q只要记住其存放路径好Q下面要用到Q?br />
二、安装:(x)

Eclipse中的插g安装可以参考:(x)Eclipse使用技??Eclipse中插件的安装
     Ҏ(gu)1、直接将jadclipse_x.x.x.jarQx.x.x.代表版本P(j)复制?ECLIPSE_HOME%\plugins目录下?br />
Ҏ(gu)2、用link方式安装Q徏立DQ\Myplugins\jadclipse3.2.4\eclipse\plugins的目录结构,jadclipse_3.2.4.jar攑ֈplugins目录下面Q注Q其中DQ\MypluginsZ自己定义的一个专门放|插件的目录Q。再?ECLIPSE_HOME%\links目录下面建立一个jadclipse3.2.4.link文gQ该文g名随便取Q。文仉面内容ؓ(f)Qpath=DQ?Myplugins/jadclipse3.2.4.

常见问题?qing)解冻I(x)

Q一Q启动eclipseQ打开Window->Preferences->Java->JadClipseQ如果没有找到JadClipseQ即JadClipse插g没有ȀzR?br />
Q?Q检查插件安装的版本是否与你安装的eclipse版本对应

Q?Q?–clean参数来启动eclipse

   Q二Q在使用JadClipse插g反编译class文g时出现如下类似错误:(x)

/*jadclipse*/



/*

                DECOMPILATION REPORT



                Decompiled from: D:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar

                Total time: 16 ms

                Jad reported messages/errors:

                Exit status: 0

                Caught exceptions:

java.io.IOException: CreateProcess: (...)



L(fng)保你的Jad路径在eclipse中正制定?br />      启动eclipseQ打开QWindow->Preferences->Java->JadClipse.
1、Path to decompilerQ这里设|反~译工具jad的全路径名,比如Q?JAVA_HOME%\bin\jad.exe.
2、Directory for temporary filesQ这里设|(f)时文件\径?br />
至于Window->Preferences->Java->JadClipse目录下的DebugQDirectivesQFormattingQMisc目录中的参数讄Q就不再|嗦?jin)?br />
Q三Q安装完成后Qeclipse没有自动JadClipse Class File Viewer讄成class文g的缺省打开方式?br />
如果没有默认Q可以在Eclipse的Windows?gt; Perference?gt;General->Editors->File Associations中修?#8220;*.class”默认兌的编辑器?#8220;JadClipse Class File Viewer”。设|完成后Q双?.class文gQeclipse自动反~译?/span>

C 2007-11-29 14:12 发表评论
]]>
J2EEȝ---JNDI技? 我的所有随W属于个人ȝQ有不之处请回复指?/title><link>http://www.tkk7.com/todd841026/archive/2007/04/09/JNDI.html</link><dc:creator>C</dc:creator><author>C</author><pubDate>Mon, 09 Apr 2007 00:16:00 GMT</pubDate><guid>http://www.tkk7.com/todd841026/archive/2007/04/09/JNDI.html</guid><wfw:comment>http://www.tkk7.com/todd841026/comments/109315.html</wfw:comment><comments>http://www.tkk7.com/todd841026/archive/2007/04/09/JNDI.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.tkk7.com/todd841026/comments/commentRss/109315.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/todd841026/services/trackbacks/109315.html</trackback:ping><description><![CDATA[  <p><span><span>1.<span>       </span></span></span><span>什么是</span><span>JNDI</span><span>Q?/span><span>Java Naming and Directory Interface</span><span>Q?/span></p> <p><span>JNDI</span><span>是用于访问不同命名和目录服务的统一</span><span>API</span><span>接口Q?/span></p> <p><span><span>2.<span>       </span></span></span><span>JNDI</span><span>的架构和原理</span></p> <p><span><span>      1.<span>       </span></span></span><span>架构Q?/span></p> <p><span>         W一层:(x)</span><span>java</span><span>代码Q是讉K</span><span>JNDI</span><span>的代码;</span></p> <p><span>         W二层:(x)</span><span>JNDI API</span><span>Q统一的命名和目录服务接口</span></p> <p><span>         W三层:(x)</span><span>JNDI Naming Manager</span><span>Q?/span><span>JNDI</span><span>理?/span></p> <p><span>         W四层:(x)</span><span>JNDI SPI</span><span>Q用于构?/span><span>JNDI</span><span>实现的框Ӟ能够动态的插入命名和目录服务提供商的品;</span></p> <p><span>         W五层:(x)命名和目录服务提供商的品;</span></p> <p><span>         命名和目录服务提供商的?/span><span>,</span><span>例如Q?/span><span>DNS,LDAP,NIS,NDS……..;</span><span>因ؓ(f)q些产品都是不同的提供商提供的品,所以他们的命名和目录服务的标准不一_(d)各个目录服务采用的访问协议也是不一L(fng)Q所以,要是直接讉K他们的话Q就要编写不同的</span><span>java</span><span>代码来访问他们;因此Q?/span><span>JNDI SPI</span><span>p决了(jin)q个问题Q它能动态的插入q些命名和目录服务,能够其协议专属的目录品集成到pȝ中,使得我们能只需要调用一个统一?/span><span>javaAPI</span><span>p够访问插入的产品?jin)?/span></p> <p><span>         2</span><span>Q原理:(x)</span></p> <p><span>               JNDI</span><span>其实很好理解Q他是一个树(wi)状的l构Q它的最是一?/span><span>initialContext</span><span>节点Q然后它的下面就是绑定的一些对象或是一?/span><span>subContext</span><span>Q用</span><span>JNDI</span><span>?wi)就能够查找到?wi)中每一个绑定上的节点上的对象的引用Q?/span></p> <p><span>3.</span><span>怎样q接?/span><span>JNDI</span><span>上?</span> </p> <p><span><span>         </span><span>         </span>Environment environment = new Environment() ;//</span><span>创徏一个环境对?/span></p> <p><span><span>                   </span>environment.setProviderurl(“t3://www.tkk7.com”) ;</span></p> <p><span><span>                   </span>environment.setSecurityPrincipal(“todd”) ;//</span><span>认证的用户名</span></p> <p><span><span>                   </span>environment.setSecurityCredentials(“841026”) ;//</span><span>密码</span></p> <p><span><span>                   </span>Context context = environment.getInitialContext() ;</span></p> <p><span><span>         </span>//</span><span>创徏一?/span><span>subContext</span><span>q绑定一个对象:(x)</span></p> <p><span><span>                   </span>Context subContext = context.createSubcontext(“subContext”) ;</span></p> <p><span><span>                   </span>subContext.rebind(“newObject”,object) ;//</span><span>l定的对象必L可序列化?/span></p> <p><span><span>                   </span>subContext.close() ;</span></p> <p><span><span>                   </span>context.close() ;</span></p> <p><span>4.</span><span>如何通过</span><span>JNDI</span><span>查找</span><span>bind</span><span>的对象?</span></p> <p><span><span>         </span>Object object = context.lookup(“User”) ;</span></p> <p><span><span>         </span>//</span><span>?/span><span>user</span><span>H化到原?/span></p> <p><span><span>         </span>User user = (User)javax.rmi.PortableRemoteObject.narrow(object, User.class) ;</span></p> <p><span><span>         </span>context.close() ;</span></p> <img src ="http://www.tkk7.com/todd841026/aggbug/109315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/todd841026/" target="_blank">C</a> 2007-04-09 08:16 <a href="http://www.tkk7.com/todd841026/archive/2007/04/09/JNDI.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EEȝ--Servlet技? 我的所有随W属于个人ȝQ有不之处请回复指?/title><link>http://www.tkk7.com/todd841026/archive/2007/04/08/Servlet.html</link><dc:creator>C</dc:creator><author>C</author><pubDate>Sun, 08 Apr 2007 05:31:00 GMT</pubDate><guid>http://www.tkk7.com/todd841026/archive/2007/04/08/Servlet.html</guid><wfw:comment>http://www.tkk7.com/todd841026/comments/109227.html</wfw:comment><comments>http://www.tkk7.com/todd841026/archive/2007/04/08/Servlet.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.tkk7.com/todd841026/comments/commentRss/109227.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/todd841026/services/trackbacks/109227.html</trackback:ping><description><![CDATA[  <p><span>Servlet</span><span>技术:(x)</span></p> <p><span><span>1.<span>       </span></span></span><span>什么是</span><span>servlet</span><span>Q?/span></p> <p><span>Servlet</span><span>是一?/span><span>java</span><span>c,是一个提供基于协议请求和响应?/span><span>java</span><span>c;</span></p> <p><span><span>2.<span>       </span></span></span><span>它的生命周期</span></p> <p><span><span>      1.<span>       </span></span></span><span>启动服务器时׃(x)实例化ƈ加蝲</span><span>servlet</span><span>实例Q?/span></p> <p><span><span>      2.<span>       </span></span></span><span>q行初始化:(x)自动调用</span><span>init</span><span>Q?/span><span>ServletConfig servletConfig</span><span>Q方法;</span></p> <p><span><span>      3.<span>       </span></span></span><span>Servlet</span><span>qAQ调?/span><span>service</span><span>Q?/span><span>HttpServletRequest request</span><span>Q?/span><span>HttpServletResponse response</span><span>Q方法(?nbsp;  ?/span><span>     service</span><span>   是</span><span>dopost</span><span>Q)(j)?/span><span>doget</span><span>Q)(j)Ҏ(gu)Q,q是客户提交Ӟ自动调用的;</span></p> <p><span><span>      4.<span>       </span></span></span><span>Servlet</span><span>销毁:(x)自动调用调用</span><span>distory</span><span>Q)(j)</span> <span>Q?/span></p> <p><span>   注意Q在实例化ƈ加蝲</span><span>servlet</span><span>后,步骤二和四只调用一ơ,而步骤三Q是在每ơ客L(fng)发出h旉调用Q?/span></p> <p><span><span>3.<span>       </span></span></span><span>怎样部v一?/span><span>servlet</span><span>Q?/span></p> <p><span>Servlet</span><span>cL必须?/span><span>web.xml</span><span>中注册才能用的Q例如,我有一?/span><span>MyServlet</span><span>c:(x)</span></p> <p><span>必须?/span><span>web.xml</span><span>中注册:(x)</span></p> <p><span><web-app></span></p> <p><span>//-----------------------Servlet</span><span>声明</span><span>----------------------</span></p> <p align=left><span><span>           </span></span><span><servlet></span></p> <p align=left><span><span>           </span><span>      </span><servlet-name>myServlet</servlet-name></span></p> <p align=left><span><span>           </span><span>      </span><servlet-class>servletPakage.MyServlet</servlet-class></span></p> <p><span><span>      </span></servlet></span></p> <p><span>//------------------------Servlet</span><span>注册</span><span>(</span><span>镜像</span><span>)---------------</span></p> <p align=left><span><span>           </span><servlet-mapping></span></p> <p align=left><span><span>           </span><span>      </span><servlet-name>myServlet</servlet-name></span></p> <p align=left><span><span>           </span><span>      </span><url-pattern>myServletURL</ url-pattern ></span></p> <p><span><span>      </span></servlet-mapping></span></p> <p><span></web-app></span></p> <p><span>q样你在提交时的</span><span>Url</span><span>地址是</span><span>/myServletURL</span><span>?jin)?/span></p> <p><span><span>4.<span>       </span></span></span><span>什么是</span><span>service</span><span>Q?/span><span>HttpServletRequest request</span><span>Q?/span><span>HttpServletResponse response</span><span>Q方法?</span></p> <p><span>其中</span><span>service</span><span>Q?/span><span>HttpServletRequest request</span><span>Q?/span><span>HttpServletResponse response</span><span>Q方法包括两U:(x)</span></p> <p><span><span>      1.<span>       </span></span></span><span>doget</span><span>Q?/span><span>HttpServletRequest request</span><span>Q?/span><span>HttpServletResponse response</span><span>Q方法:(x)</span></p> <p><span>      q种Ҏ(gu)被称为显式提交方法,主要原因是它的得到的参数攑֜</span><span>url</span><span>中,可以被看刎ͼ所以称为显C提      交;</span></p> <p><span>      例如Q有个表单:(x)</span></p> <p><span>      <form action<a href="http://www.tkk7.com/myServletURL?name=todd">=”/myServletURL?name=todd</a>” method=”get”></span></p> <p><span>      </form></span></p> <p><span>      q种Ҏ(gu)?/span><span>request</span><span>获得的参数就是你看到?/span><span>name=todd</span><span>Q?/span></p> <p><span>      例如Q?/span><span>String s=request.getParameter(“name”);</span></p> <p><span><span>            </span></span><span>其结?/span><span>s=”todd”;</span></p> <p><span><span>      2.<span>       </span></span></span><span>dopost</span><span>Q?/span><span>HttpServletRequest request</span><span>Q?/span><span>HttpServletResponse response</span><span>Q方法:(x)</span></p> <p><span>         q种Ҏ(gu)被称为隐式提交方法,它的参数不会(x)?/span><span>url</span><span>里得刎ͼ而是在请求数据体得到参数Q?/span></p> <p><span>         例如Q有个表单:(x)</span></p> <p><span><span>            </span><form action=”/myServletURL” method=”post”></span></p> <p><span><span>            </span><span>         </span><input type=”text” name=”name” value=”todd”></span></p> <p><span>         </form></span></p> <p><span>      q种Ҏ(gu)?/span><span>request</span><span>获得的参数就是表单体?/span><span>name=todd</span><span>Q?/span></p> <p><span><span>            </span></span><span>例如Q?/span><span>String s=request.getParameter(“name”);</span></p> <p><span><span>            </span></span><span>其结?/span><span>s=”todd”;</span></p> <p><span><span>5.<span>       </span></span></span><span>什么是</span><span>ServletContext?</span></p> <p><span>         ServletContext</span><span>是一个接口,?/span><span>WebApplication</span><span>的视图,它的作用域时</span><span>Application</span><span>Q它能访?/span><span>Application</span><span>中的初始化参数和属性,它不局限域一?/span><span>Servlet</span><span>Q它属于整个</span><span>Application</span><span>Q?/span></p> <p><span>ServletContext</span><span>的初始化参数Q?/span></p> <p><span>?/span><span>web.xml</span><span>中:(x)</span></p> <p><span><web-app></span></p> <p><span><span>    </span><context-param></span></p> <p><span><param-name>myBlog</param-name></span></p> <p><span><param-value>www.tkk7.com/todd841026</param-value></span></p> <p><span></context-param></span></p> <p><span></web-app></span></p> <p> <span>q样?/span><span>application</span><span>中Q意一?/span><span>Servlet</span><span>中可以得到这个参敎ͼ</span></p> <p><span>例如Q?/span><span>ServletContext sc = getServletContext ();</span></p> <p><span><span>         </span> String s = sc.getInitParameter(“myBlog”);</span></p> <p><span>那么l果</span><span>s</span><span>是</span><span>”www.tkk7.com/todd841026”</span></p> <p><span><span>6.<span>       </span></span></span><span>什么是</span><span>ServletConfig</span><span>Q?/span></p> <p><span>是单独的</span><span>Servlet</span><span>初始化配|;</span></p> <p><span>例如Q在</span><span>web.xml</span><span>?/span></p> <p><span><web-app></span></p> <p align=left><span><span>      </span><span>      </span></span><span><servlet></span></p> <p align=left><span><span>           </span><span>      </span><servlet-name>myServlet</servlet-name></span></p> <p align=left><span><span>           </span><span>      </span><servlet-class>servletPakage.MyServlet</servlet-class></span></p> <p><span><span>      </span></servlet></span></p> <p><span><span>      </span><init-param></span></p> <p><span><span>            </span><param-name>cache</param-name></span></p> <p><span><span>            </span><param-value>off</param-value></span></p> <p><span></init-param></span></p> <p><span></web-app></span></p> <p><span>在这?/span><span>Servlet</span><span>中:(x)</span><span>ServletConfig sc = getServletConfig();</span></p> <p><span><span>                            </span>String s = sc.getInitParameter(“cache”);</span></p> <p><span>那么l果</span><span>s</span><span>是</span><span>”</span><span>off”;</span></p> <p><span><span>7.<span>       </span></span></span><span>Servlet</span><span>怎样处理多线E?/span></p> <p><span>在默认的情况下,单个</span><span>Servlet</span><span>实例是可以处理多个ƈ发请求的Q所以要考虑到多U程的共享同一对象的问题,例如Q?/span></p> <p><span>//</span><span>做个</span><span>Servlet</span><span>中生了(jin)多少?/span><span>object</span><span>对象一个变量的例子</span></p> <p><span>Private int count = 0 ;</span></p> <p><span>Public void dopost(HttpServletRequest request,HttpServletResponse response){</span></p> <p><span><span>           </span>Object object = new Object() ;</span></p> <p><span><span>           </span>count++ ;</span></p> <p><span><span>           </span>System.out.println(“count = ” + count) ;</span></p> <p><span>}</span></p> <p><span>当有</span><span>5</span><span>个用h交数据时Q因?/span><span>Servlet</span><span>是处理多U程的,所以可能出玎ͼW四个用L(fng)E序已经执行?/span><span>count++</span><span>Q而第五个用户刚执行完</span><span>Object object = new Object() </span><span>Q就?x)出现数据不一致性,因ؓ(f)当前?/span><span>5</span><span>?/span><span>object</span><span>对象Q但?/span><span>count</span><span>却是</span><span>4</span><span>Q?/span></p> <p><span>解决Ҏ(gu)一Q?/span></p> <p><span>Private boolean flag = false </span><span>Q?/span></p> <p><span>Private int count = 0 ;</span></p> <p><span>Public void dopost(HttpServletRequest request,HttpServletResponse response){</span></p> <p><span><span>           </span>synchronized(flag){</span></p> <p><span><span>                    </span>Object object = new Object() ;</span></p> <p><span><span>           </span><span>         </span>count++ ;</span></p> <p><span>}<span>                 </span></span></p> <p><span><span>           </span>System.out.println(“count = ” + count) ;</span></p> <p><span>}</span></p> <p><span>用同步程序块解决多线E的问题Q这样在同一时刻只能有一个访问该E序块了(jin)Q?/span></p> <p><span>解决Ҏ(gu)二:(x)</span></p> <p><span>Private int count = 0 ;</span></p> <p><span>Public void dopost(HttpServletRequest request,HttpServletResponse response)</span></p> <p><span>Implements SingleThreadModel{</span></p> <p><span><span>           </span>Object object = new Object() ;</span></p> <p><span><span>           </span>count++ ;</span></p> <p><span><span>           </span>System.out.println(“count = ” + count) ;</span></p> <p><span>}</span></p> <p><span>实现</span><span>SingleThreadModel</span><span>接口Q可以解军_U程问题Q?/span></p> <p><span><span>8.<span>       </span></span></span><span>什么是</span><span>servlet</span><span>qo(h)器?</span></p> <p><span>也是一?/span><span>java</span><span>c,只是它实C(jin)</span><span>Filter</span><span>q个接口Q?/span></p> <p><span><span>9.<span>       </span></span></span><span>servlet</span><span>qo(h)器的生命周期Q?/span></p> <p><span>初始化:(x)自动调用</span><span>init(FilterConfig config)</span><span>Ҏ(gu)</span></p> <p><span>执行Q自动调?/span><span>doFilter()</span><span>Ҏ(gu)Q?/span></p> <p><span>销毁:(x)自动调用</span><span>destory()</span><span>Ҏ(gu)Q?/span></p> <p><span><span>10.<span>   </span></span></span><span>servlet</span><span>qo(h)器有什么用途?</span></p> <p><span>      个h认ؓ(f)目前自己用到的Servlet</span><span>qo(h)器的主要用途:(x)是安全性检?/span></p> <p><span>         当然qo(h)器在</span><span>Servlet</span><span>之前也可以修改请求,要是?/span><span>Servlet</span><span>之后Q也可以修改响应Q?/span> </p> <p><span><span>11.<span>   </span></span></span><span>servlet</span><span>qo(h)器怎样部vQ?/span></p> <p><span>?/span><span>web.xml</span><span>中:(x)</span></p> <p><span><web-app></span></p> <p><span><span>    </span><filter></span></p> <p><span><span>      </span><filter-name>myFilter</filter-name></span></p> <p><span><span>      </span><filter-class>filterPage.MyFilter</filter-class></span></p> <p><span></filter></span></p> <p><span><filter-mapping></span></p> <p><span><span>      </span><filter-name>myFilter</filter-name></span></p> <p><span><span>      </span><url-pattern>/Todd/*</url-pattern></span></p> <p><span></filter-mapping></span></p> <p><span></web-app></span></p> <p><span>q样是说要讉K</span><span>WEB-INF</span><span>下的</span><span>Todd</span><span>包下?/span><span>jsp</span><span>?/span><span>Servlet</span><span>的话Q就必须要先通过</span><span>myFilter</span><span>q个c;</span></p> <img src ="http://www.tkk7.com/todd841026/aggbug/109227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/todd841026/" target="_blank">C</a> 2007-04-08 13:31 <a href="http://www.tkk7.com/todd841026/archive/2007/04/08/Servlet.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://xiaochidaquan.com" target="_blank">95˾Ѹ</a>| <a href="http://3333kkkk.com" target="_blank">޾ƷƵ</a>| <a href="http://kk600700.com" target="_blank">޳AӰԺ߹ۿ</a>| <a href="http://35xyz.com" target="_blank">ˬýôƵ </a>| <a href="http://js-jiarui.com" target="_blank">޹պƷ</a>| <a href="http://5138k.com" target="_blank">޹ۺϵһƷС˵</a>| <a href="http://ldcatv.com" target="_blank">ƬĻӰ</a>| <a href="http://fsszx888.com" target="_blank">޾Ʒ˳鶹</a>| <a href="http://billtsssrvp.com" target="_blank">޾Ʒ1ҳ</a>| <a href="http://5d8f.com" target="_blank">޳aƬӰԺ</a>| <a href="http://hssw1688.com" target="_blank">޿һ24鶹</a>| <a href="http://saohuo7.com" target="_blank">һëƬ</a>| <a href="http://jte-sh.com" target="_blank">վۿƵ</a>| <a href="http://gzmkqp.com" target="_blank">޹a˾Ʒ</a>| <a href="http://vinsotec.com" target="_blank">vavava</a>| <a href="http://126cm.com" target="_blank">ƷþþþþС˵</a>| <a href="http://z88d.com" target="_blank">Ůվ</a>| <a href="http://7s8s.com" target="_blank">˿wwwƵ</a>| <a href="http://hh5151.com" target="_blank">ѿƵ</a>| <a href="http://xmm5pkt.com" target="_blank">˾þAV</a>| <a href="http://1877808.com" target="_blank">պ߲ȫ</a>| <a href="http://wwwv27.com" target="_blank">69Ƶר</a>| <a href="http://626393.com" target="_blank">߹ۿѾƷ</a>| <a href="http://18eeuus.com" target="_blank">޾Ʒ鶹av</a>| <a href="http://ahsuibao.com" target="_blank">AVרƬ߹ۿ</a>| <a href="http://www00475.com" target="_blank">޹һҳwww</a>| <a href="http://goodwaysi.com" target="_blank">ɫ͵͵Ů˵</a>| <a href="http://ivy-fund.com" target="_blank">޹Ʒҹ߹ۿ</a>| <a href="http://51nianyefan.com" target="_blank">ܲƵ</a>| <a href="http://zgjzysfc.com" target="_blank">һƵ</a>| <a href="http://bomilon.com" target="_blank">97Ƶѹۿ2</a>| <a href="http://zzanfang.com" target="_blank">ѲvƬ߹ۿ</a>| <a href="http://whdy888.com" target="_blank">ҹѸվ</a>| <a href="http://sewuji.com" target="_blank">պƷһ</a>| <a href="http://by6635.com" target="_blank">þþþ޾Ʒϵ</a>| <a href="http://zhnetbar.com" target="_blank">С˵ͼƬ</a>| <a href="http://88bgbg.com" target="_blank">ɫ͵͵</a>| <a href="http://socgl.com" target="_blank">Ƶ</a>| <a href="http://bjjs365.com" target="_blank">69Ƶ</a>| <a href="http://srztw.com" target="_blank">ձһ߲</a>| <a href="http://wuaiav.com" target="_blank">2017</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>