??xml version="1.0" encoding="utf-8" standalone="yes"?>欧洲伦理片一区 二区 三区,亚洲精品一区中文,亚洲欧美日韩天堂http://www.aygfsteel.com/john_yu/category/6615.html正在学习中:Q?/description>zh-cnWed, 07 Mar 2007 14:11:52 GMTWed, 07 Mar 2007 14:11:52 GMT60单点d单实?/title><link>http://www.aygfsteel.com/john_yu/archive/2006/11/16/81408.html</link><dc:creator>john</dc:creator><author>john</author><pubDate>Wed, 15 Nov 2006 16:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/john_yu/archive/2006/11/16/81408.html</guid><wfw:comment>http://www.aygfsteel.com/john_yu/comments/81408.html</wfw:comment><comments>http://www.aygfsteel.com/john_yu/archive/2006/11/16/81408.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/john_yu/comments/commentRss/81408.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/john_yu/services/trackbacks/81408.html</trackback:ping><description><![CDATA[<span id="wmqeeuq" class="h1b">单点d的简单实?/span> <br /> <br /> <!-- 提取技术文?--> <div id="wmqeeuq" class="beas"> <img height="1" alt="" src="http://dev2dev.bea.com.cn/images/dot6B6B6B.gif" width="100%" /> </div> <p>  在门户项目中Q经怼遇到如何实现单点d的问题,下面本人的l验做个ȝ。欢q大家进行补充讨论?/p> <h3>单点d的具体实现有很多U选择Q包括:</h3> <ol> <li>采用专门的SSO商业软gQ?主要有:Netgrity的SiteminderQ已l被CA收购。Novell 公司的iChain。RSA公司的ClearTrust{? </li> <li>采用门户产品供应商自qSSO产品Q如QBEA的WLESQIBM 的Tivoli Access ManagerQSun 公司的identity ServerQOracle公司的OID{? </li> <li>q些商业软g一般适用于客户对SSO的需求很高,q且企业内部采用COTS软g如:Domino,SAP,Sieble的系l比较多的情况下采用。ƈl合w䆾理。统一认证{项目采用。采用这些Y件一般都要对要集成的pȝ做些攚w,如在要集成的pȝ上安装AGENT。现在一般只提供常见软g如:Domino,SAP,SiebleQ常见应用服务器Qweblogic,websphere{的AGENT。要先统一q些pȝ的认证。一般采用LDAP或数据库。然后才能实现SSO。比较麻烦? </li> <li>另外Q如果不x银子Q也有OPEN SOURCE的SSO软g可选:主要有:<a target="_blank">http://www.josso.org/</a><a target="_blank">https://opensso.dev.java.net/</a><a target="_blank">http://www.sourceid.org</a> {。具体怎么样就不清楚了?</li> </ol> <p>  如果目对SSO的要求比较低Q又不想对要被集成的pȝ做Q何改动,可采用下面介l的方式单实玎ͼ下面我们通过一个例子来说明。假如一个门户项目要对下面的几个pȝ做SSO?/p> <p align="center"> <img height="351" alt="图一" src="http://dev2dev.bea.com.cn/images/image060228002.gif" width="554" border="0" /> </p> <p>  用户在这些系l中的用户名Q密码各不相同,如:员工号ؓ001的员工在q些pȝ中的用户名,密码分别如下Q?/p> <table class="tabel-general" cellspacing="0" cellpadding="0" width="100%" align="center"> <tbody> <tr> <th class="left">用户</th> <th class="center">pȝ</th> <th class="center">用户?/th> <th class="right">密码</th> </tr> <tr> <td>001</td> <td>Portalpȝ</td> <td>A</td> <td class="right">1234</td> </tr> <tr> <td>001</td> <td>邮gpȝ</td> <td>B</td> <td class="right">2345</td> </tr> <tr> <td>001</td> <td>DOMINOpȝ</td> <td>C</td> <td class="right">AAAA</td> </tr> <tr> <td>001</td> <td>报销pȝ</td> <td>D</td> <td class="right">CCCC</td> </tr> <tr> <td>001</td> <td>工资pȝ</td> <td>E</td> <td class="right">BBBB</td> </tr> </tbody> </table> <h4>首先Q徏立员工在PORTALpȝ中的用户名和其他pȝ中的用户名之间的对应关系 </h4> <p>  首先Q要建立员工在PORTALpȝ中的用户名和其他pȝ中的用户名之间的对应关系q保存。可保存在表中或LDAP中或文gpȝ中。当然要考虑q些pȝ之间的数据同步问题。比较好的方式是扑ֈ用户在这些系l中的都存在的唯一信息Q如员工PMAIL地址Q姓名等Q。通过唯一信息实时到各个系l中d认证所需要的信息。就不需要考虑数据同步问题。比较实用。可以徏立类g面的表:密码可采用加密保存。如果是采用BEA的Weblogic Portal,可采用UUP来保存这些信息?/p> <pre class="code"> ( user varchar2(20), /*用户?/ app_name varchar2(20), /*应用pȝ*/ architect varchar2(4), /*应用pȝ的架构BS或CS*/ app_company varchar2(50), /*用户所属分公司*/ app_department varchar2(50), /*用户所在的部门*/ app_user varchar2(15), /*在该pȝ中的用户?/ app_passwd varchar2(15), /*在该pȝ中的密码*/ app_cookie varchar2(30), /*COOKIE名称*/ form_user varchar2(20), /*认证面中FORM的用户名字段*/ form_passwd varchar2(20), /*认证面中FORM的密码字D?/ app_special varchar2(20) /*其他*/ ); </pre> <h4>通过IFRAME或超q接方式集成目标pȝQƈq行SSO</h4> <p>  通过IFRAME或超q接方式集成目标pȝ,q在URL中带上用户名和密码。如集成DOMINO可采用如下方式:</p> <p>  <IFRAME src=<a href="http://host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf" target="_parent">http://host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf</a><br />width="100%" frameborder="0" align="middle" height="100%" hspace="0" marginheight="0" marginwidth="0" scrolling="yes" style="background-color:#f7f7ff;"><br /></IFRAME></p> <p>  或: <br />Href src=?a href="http://localhost/names.nsf?Login&Username=admin&Password=password&RedirectTo=/names.nsf" target="_parent">http:// </a><a href="http://host1/names.nsf?Login&Username=admin&Password=password&RedirectTo=/names.nsf" target="_parent">host1</a><a href="http://localhost/names.nsf?Login&Username=admin&Password=password&RedirectTo=/names.nsf" target="_parent">/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf</a>?<br />以上采用的是在HTTP中直接传递明码,为提高安全性,可采用HTTPS来传递用户名和密码。另外采用这U方式被集成的系l必L持FORM方式认证。J2EE应用QDOMINO{都支持FORM认证?/p> <p>  q两U方式如果SSO成功Q就自动q入目标pȝ的界面,如果实现会显C目标系l的d界面。其效果囑֦下:</p> <p align="center"> <img height="355" alt="d界面" src="http://dev2dev.bea.com.cn/images/image060228004.jpg" width="552" /> </p> <p>  q种方式Q必ȝ护对应关p表Q如上面的sso_info。更好的方式是提供界面,让最l用戯q护这U对应关p,可模仿Compoze portlets for lotus的做法,在用L一ơ进入要与之做SSO的系l时Q如DOMINOpȝQ显CZ个界面,让用戯p入他在该pȝ中的用户?密码{信息。ƈ保存到表中或LDAP{其他数据源中。以后用戯q入q些pȝӞq接从表中或其他数据源中取用户的用户名/密码{信息,帮助用户做认证。徏议采用这U方式。如下图所C。如果用h变了自己在DOMINOpȝ中的用户名,密码。从门户pȝq入DOMINOpȝӞ认证会失败,重新显C类g面的界面。让用户重新输入他在DOMINOpȝ中新的用户名Q密码ƈ保存?/p> <p align="center"> <img height="354" alt="认证p|" src="http://dev2dev.bea.com.cn/images/image060228006.jpg" width="575" /> </p> <p>  以上q种实现方式Q一般需要浏览器支持COOKIEQ所以要注意览器的配置Q在开发阶D,为方便调试,可设|IEQ让它显CCOOKIE的名U。如下所C:</p> <p align="center"> <img height="285" alt="览器的配置" src="http://dev2dev.bea.com.cn/images/image060228008.gif" width="553" border="0" /> </p> <p>  采用q种方式Q对要集成的pȝ不需要做M的改动。如果PORTALpȝ中的用户在被集成的系l中的权限都一P可采用徏立一个通用用户的做法。也是所有在PORTALpȝ中的用户都采用这个通用用户q入目标pȝ。这U方式等于是采用面集成方式做集成。比较方便用。另外,有时候需要采用调用APIQ或配置Adapter{应用集成方式来集成其他pȝQ一般也是通过定义一个连接专用的用户。在API中或在配|Adapter的时候写歅R如采用JAVA API方式集成DOMINOQ?/p> <p>  <b>lotus.domino.Session dominoSession = NotesFactory.createSession(dominoServer, “admin? “password?;</b></p> <h4>CSl构实现方式</h4> <p>  l常有h问CSl构的应用如何实现SSOQ本人的是对q种pȝ不要自己d现SSO。很ȝQ其实输个用户名Q密码没什么大不了的。如果要实现Q一是采用商业Y件。另外也可以采用以下方式Q在PORTAL的PORTLET上徏立超q接。ƈ通过APPLET方式启动CSl构的应用系l的d界面。然后通过如下的方式把用户?密码传递过厅R?/p> <p>  <b>-不能做Q何改动的客户?/b> - WIN消息Q给dH口发送用户名Q密码等d所需要的信息Q?模拟键盘Qjava有模拟键盘输入的APIQ?/p> <p>  -<b>可以做改动的客户?/b> - 参数传递,q让d的EXE文gd参数q行认证?/p> <p>  因ؓ要让APPLET执行本地的EXE文gQ所以必dIE中的JRE的安全进行设|?/p> <p align="center"> <img height="213" alt="对IE中的JRE的安全进行设|? src="http://dev2dev.bea.com.cn/images/image060228010.gif" width="554" border="0" /> </p> <h4>其他Q?/h4> <p>  在采用以上方式实CSSO后,要注意LOGOUTQ可采用与LOGIN相同的方式。也可以通过被集成系l的时讄来实现?/p> <h4>单点dSSO技术资料收?/h4> <ul> <li> <a target="_blank">l一用户认证和单点登录解x? </a> 计算Z界网上的文章,比较全面的介l统一用户认证和单点登录解x? </li> <li> <a target="_blank">惠普灵动单点d(SSO)解决Ҏ:</a>  包括C/Sl构的系l单点登录解x? </li> <li> <a target="_blank">|站用户单点dpȝ解决Ҏ:</a>  通过令牌方式实现|站用户单点d </li> <li> <a target="_blank">WebLogicq_的Web SSOQSAMLQ解x?</a>  在WebLogic 8.1SP4中,提供了用于和Microsoft Windows客户端进行SSO的Single Pass Negotiate Identity Assertion Provider。本文对其做了详l的介绍? </li> <li> <a target="_blank">http://blog.beijingnet.com/index.php?blogId=4:  </a>收录了一些SSO斚w的文? </li> <li> <a target="_blank">应用整合中SSO的技术实?  </a>作者介l了南京地税q行应用整合SSO的技术实现方?</li> </ul><img src ="http://www.aygfsteel.com/john_yu/aggbug/81408.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/john_yu/" target="_blank">john</a> 2006-11-16 00:23 <a href="http://www.aygfsteel.com/john_yu/archive/2006/11/16/81408.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UUIDhttp://www.aygfsteel.com/john_yu/archive/2006/11/16/81407.htmljohnjohnWed, 15 Nov 2006 16:18:00 GMThttp://www.aygfsteel.com/john_yu/archive/2006/11/16/81407.htmlhttp://www.aygfsteel.com/john_yu/comments/81407.htmlhttp://www.aygfsteel.com/john_yu/archive/2006/11/16/81407.html#Feedback0http://www.aygfsteel.com/john_yu/comments/commentRss/81407.htmlhttp://www.aygfsteel.com/john_yu/services/trackbacks/81407.htmlUUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常q_会提供生成UUID的API。UUID按照开放Y件基金会(OSF)制定的标准计,用到了以太网卡地址、纳U旉、芯片ID码和许多可能的数字。由以下几部分的l合Q当前日期和旉(UUID的第一个部分与旉有关Q如果你在生成一个UUID之后Q过几秒又生成一个UUIDQ则W一个部分不同,其余相同)Q时钟序列,全局唯一的IEEE机器识别P如果有网卡,从网卡获得,没有|卡以其他方式获得)QUUID的唯一~陷在于生成的结果串会比较长。关于UUIDq个标准使用最普遍的是微Y的GUID(Globals Unique Identifiers)?br />在ColdFusion中可以用CreateUUID()函数很简单的生成UUIDQ其格式为:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16)Q其中每?x ?0-9 ?a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)
Q可以从cflib 下蝲CreateGUID() UDFq行转换?br />使用UUID的好处在分布式的软gpȝ中(比如QDCE/RPC, COM+,CORBAQ就能体现出来,它能保证每个节点所生成的标识都不会重复Qƈ且随着WEB服务{整合技术的发展QUUID的优势将更加明显?br />关于UUID的更多信息可以多google 一下?br />

john 2006-11-16 00:18 发表评论
]]>
对String的深ȝ?/title><link>http://www.aygfsteel.com/john_yu/archive/2006/02/07/29860.html</link><dc:creator>john</dc:creator><author>john</author><pubDate>Tue, 07 Feb 2006 14:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/john_yu/archive/2006/02/07/29860.html</guid><wfw:comment>http://www.aygfsteel.com/john_yu/comments/29860.html</wfw:comment><comments>http://www.aygfsteel.com/john_yu/archive/2006/02/07/29860.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/john_yu/comments/commentRss/29860.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/john_yu/services/trackbacks/29860.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class=title> <H2>对String的深ȝ?/H2> <P>刚开始玩java,对其Stringc,使用有些感触;</P> <P>1?abc"与new String("abc");<BR>    l常会问到的面试题:String s = new String("abc");创徏了几个String Object?【如q里创徏了多对? 和一道小的面试??BR><BR>    q个问题比较单,涉及的知识点包括Q?BR><BR>引用变量与对象的区别Q?<BR>字符串文?abc"是一个String对象Q?<BR>文字池[pool of literal strings]和堆[heap]中的字符串对象?BR>    一、引用变量与对象Q除了一些早期的Java书籍和现在的垃圾书籍Qh们都可以从中比较清楚地学习到两者的区别。A aa;语句声明一个类A的引用变量aa[我常常称之ؓ句柄]Q而对象一般通过new创徏。所以题目中s仅仅是一个引用变量,它不是对象。[ref 句柄、引用与对象]<BR><BR>    二、Java中所有的字符串文字[字符串常量]都是一个String的对象。有人[特别是CE序员]在一些场合喜Ƣ把字符?当作/看成"字符数组Q这也没有办法,因ؓ字符串与字符数组存在一些内在的联系。事实上Q它与字W数l是两种完全不同的对象?BR><BR>        System.out.println("Hello".length());<BR>        char[] cc={'H','i'};<BR>        System.out.println(cc.length);<BR><BR>    三、字W串对象的创?׃字符串对象的大量使用[它是一个对象,一般而言对象L在heap分配内存]QJava中ؓ了节省内存空间和q行旉[如比较字W串Ӟ==比equals()快]Q在~译阶段把所有的字符串文字放C个文字池[pool of literal strings]中,而运行时文字池成为常量池的一部分。文字池的好处,是该池中所有相同的字符串常量被合ƈQ只占用一个空间。我们知道,对两个引用变量,使用==判断它们的值[引用]是否相等Q即指向同一个对象:<BR><BR></P><PRE class=overflow>String s1 = "abc" ;<BR>String s2 = "abc" ;<BR>if( s1 == s2 ) <BR>    System.out.println("s1,s2 refer to the same object");<BR>else     System.out.println("trouble");</PRE> <P><BR><BR>    q里的输出显C,两个字符串文字保存ؓ一个对象。就是说Q上面的代码只在pool中创Z一个String对象?BR><BR>    现在看String s = new String("abc");语句Q这?abc"本n是pool中的一个对象,而在q行时执行new String()Ӟpool中的对象复制一份放到heap中,q且把heap中的q个对象的引用交ls持有。okQ这条语句就创徏?个String对象?BR><BR></P><PRE class=overflow>String s1 = new String("abc") ;<BR>String s2 = new String("abc") ;<BR>if( s1 == s2 ){ //不会执行的语句}</PRE> <P><BR><BR>    q时?=判断可知,虽然两个对象?内容"相同[equals()判断]Q但两个引用变量所持有的引用不同,<BR><BR>    BTWQ上面的代码创徏了几个String Object? [三个Qpool中一个,heap?个。]<BR>    [Java2 认证考试学习指南 (W??( 英文?p197-199有图解。]<BR><BR><BR>2、字W串?q算和字W串转换<BR>    字符串{换和串接是很基础的内容,因此我以个问题简直就是送分题。事实上Q我自己q错了?BR><BR>String str = new String("jf"); // jf是接?BR>str = 1+2+str+3+4;<BR>一共创Z多少String的对象?[我开始的{案Q?个。jf、new?jf?jf3?jf34]<BR><BR>    首先看JLS的有兌qͼ<BR><BR>    一、字W串转换的环境[JLS 5.4 String Conversion]<BR><BR>    字符串{换环境仅仅指使用双元?q算W的情况Q其中一个操作数是一个String对象。在q一特定情Ş下,另一操作数{换成StringQ表辑ּ的结果是q两个String的串接?BR><BR>    二、串接运符[JLS 15.18.1 String Concatenation Operator + ]<BR><BR>    如果一个操作数/表达式是StringcdQ则另一个操作数在运行时转换成一个String对象Qƈ两者串接。此ӞMcd都可以{换成String。[q里Q我漏掉?3"?4"]<BR><BR>如果是基本数据类型,则如同首先{换成其包装类对象Q如int x视ؓ转换成Integer(x)?<BR>现在全部统一到引用类型向String的{换了。这U{换如同[as if]调用该对象的无参数toStringҎ。[如果是null则{换成"null"]。因为toStringҎ在Object中定义,故所有的c都有该ҎQ而且Boolean, Character, Integer, Long, Float, Double, and String改写了该Ҏ?<BR>关于+是串接还是加法,由操作数军_?+2+str+3+4 很Ҏ知道?3jf34"。[BTW :在JLS?5.18.1.3中D的一个jocular little exampleQ真的很无趣。]<BR>    下面的例子测试了改写toStringҎ的情??BR><BR></P><PRE class=overflow>class A{<BR>    int i = 10;<BR>    public static void main(String []args){<BR>        String str = new String("jf");<BR>        str += new A();<BR>        System.out.print(str);<BR>    }<BR><BR>    public String toString(){<BR>        return " a.i ="+i+"\n";<BR>    }<BR>}</PRE> <P><BR><BR>三、字W串转换的优?BR><BR>按照上述说法Qstr = 1+2+str+3+4;语句g应该应该生?个String对象Q?BR><BR>1+2 Q?Qthen 3↺nteger(3)?3" in pool? [假设如此] <BR>"3"+str(in heap) = "3jf"     (in heap) <BR>"3jf" +3 ,first 3↺nteger(3)?3" in pool? [则不创徏] then "3jf3" <BR>"3jf3"+4 create "4"  in pool <BR>then "3jf34"<BR><BR>    q里我ƈ不清??转换成字W串后是否在池中Q所以上q结果仍然是猜测?BR><BR>    Z减少创徏中间q渡性的字符串对象,提高反复q行串接q算时的性能Qa Java compiler可以使用StringBuffer或者类似的技术,或者把转换与串接合q成一步。例如:对于 a + b + c QJava~译器就可以它视ؓ[as if]<BR><BR>    new StringBuffer().append(a).append(b).append(c).toString();<BR><BR>    注意Q对于基本类型和引用cdQ在append(a)q程中仍然要先将参数转换Q从q个观点看,str = 1+2+str+3+4;创徏的字W串可能?3"?4"?3jf34"[以及一个StringBuffer对象]?BR><BR>    现在我仍然不知道怎么回答str = 1+2+str+3+4;创徏了多String的对象,。或许,q个问题不需要过于研IӞ臛_SCJP不会考它?BR><BR>3、这又不同:str = "3"+"jf"+"3"+"4";<BR>    如果是一个完全由字符串文字组成的表达式,则在~译Ӟ已经被优化而不会在q行时创Z间字W串。测试代码如下:<BR><BR></P><PRE class=overflow>String str1 ="3jf34";<BR>        String str2 ="3"+"jf"+"3"+"4"; <BR>        if(str1 == str2) {<BR>            System.out.println("str1 == str2");<BR>        }else {<BR>            System.out.println("think again");<BR>        }<BR>        if(str2.equals(str1))<BR>            System.out.println("yet str2.equals(str1)");</PRE> <P><BR><BR>    可见Qstr1与str2指向同一个对象,q个对象在pool中。所有遵循Java Language Spec的编译器都必d~译时对constant expressions q行化。JLS规定QStrings computed by constant expressions (&yacute;15.28) are computed at compile time and then treated as if they were literals. <BR><BR>    对于String str2 ="3"+"jf"+"3"+"4";我们说仅仅创Z个对象。注意,“创建多对象”的讨论是说q行时创建多对象?BR><BR>    BTWQ编译时优化<BR><BR></P><PRE class=overflow>    String x = "aaa " + "bbb ";<BR>    if (false) {<BR>        x = x + "ccc ";<BR>    }<BR>    x +=  "ddd ";<BR><BR>    {h于:<BR><BR>    String x = "aaa bbb ";<BR>    x = x + "ddd ";</PRE> <P><BR><BR>4、不变类<BR>    String对象是不可改变的(immutable)。有人对str = 1+2+str+3+4;语句提出疑问,怎么str的内容可以改变?其实仍然是因Z清楚Q引用变量与对象的区别。str仅仅是引用变量,它的值——它持有的引用可以改变。你不停地创建新对象Q我׃断地改变指向。[参考TIJ的Read-only classes。]<BR><BR>    不变cȝ关键是,对于对象的所有操作都不可能改变原来的对象[只要需要,p回一个改变了的新对象]。这׃证了对象不可改变。ؓ什么要一个类设计成不变类Q有一个OOD设计的原则:Law of Demeter。其q义解读是:<BR><BR>    使用不变cR只要有可能Q类应当设计Z变类?BR></P></DIV><img src ="http://www.aygfsteel.com/john_yu/aggbug/29860.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/john_yu/" target="_blank">john</a> 2006-02-07 22:29 <a href="http://www.aygfsteel.com/john_yu/archive/2006/02/07/29860.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat 配置http://www.aygfsteel.com/john_yu/archive/2006/01/02/26386.htmljohnjohnMon, 02 Jan 2006 14:36:00 GMThttp://www.aygfsteel.com/john_yu/archive/2006/01/02/26386.htmlhttp://www.aygfsteel.com/john_yu/comments/26386.htmlhttp://www.aygfsteel.com/john_yu/archive/2006/01/02/26386.html#Feedback0http://www.aygfsteel.com/john_yu/comments/commentRss/26386.htmlhttp://www.aygfsteel.com/john_yu/services/trackbacks/26386.html 

1、tomcat下配|虚拟目?BR>
   打开TOMCAT文g下的conf\server.xml文g Q查扑ֈ<ContextManager>标签Qƈ在该标签的结束标{?lt;/ContextManager>前面加上Q?BR>
   <Context path="虚拟目录" docBase="盘目录" debug="0" reloadable="true" crossContext="true"/>  

   其中path的值是虚拟目录Qdocbase的值是你的盘的的目录的绝对\径?/STRONG>

   如找不到<ContextManager>元素Q可以找

      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

   然后d<Context path="虚拟目录" docBase="盘目录" debug="0" reloadable="true" crossContext="true"/>  

2、禁止tomcat目录览,listings设ؓfalse

    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.DefaultServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

3、设|友好错误页面,配置web.xml

   <error-page>
      <error-code>404</error-code>
      <location>/error.jsp</location>
   </error-page>
   <error-page>
      <error-code>500</error-code>
      <location>/error.jsp</location>
   </error-page>

4、在IE中直接打开其他扩展名的文g

   Z让能在IE览器中自动打开其他扩展文g名的文g的设|:
   需要在WEB.XML中进行如下的讄Q?BR>   在WEB.XML中添?lt;mime-mapping>,其中: 
      <extension>: 文g的扩展名 
      <mime-type>: 除了该类型文件的可执行文?同WINDOW注册表中?nbsp;
 /HKEY_CLASSES_ROOT下该cL件的Content Type 的g?

如能在IE中自动打开DOCQXLSQPDF文g的配|如?

<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN"  "<web-app>
   <mime-mapping>
      <extension>doc</extension>
      <mime-type>application/msword</mime-type>
   </mime-mapping>

   <mime-mapping>
      <extension>xls</extension>
      <mime-type>application/msexcel</mime-type>
   </mime-mapping>

   <mime-mapping>
      <extension>pdf</extension>
      <mime-type>application/pdf</mime-type>
   </mime-mapping>
</web-app>



john 2006-01-02 22:36 发表评论
]]>
վ֩ģ壺 | ɽ| | ֥| | | Ǩ| | Դ| | ʲ| ͼƬ| ͨ| α| ̳| ʱ| ξ| | | | ͷ| ŷ| | | ԫ| | ޶| | ˼| ʢ| | ں| | | | ƴ| Ӱ| | | | ˳|