﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-遗失的冬季-文章分类-Servlet&amp;JSP</title><link>http://www.blogjava.net/bluewind/category/30705.html</link><description>永远支持BeanSoft~</description><language>zh-cn</language><lastBuildDate>Wed, 23 Apr 2008 09:10:05 GMT</lastBuildDate><pubDate>Wed, 23 Apr 2008 09:10:05 GMT</pubDate><ttl>60</ttl><item><title>Tomcat的安装、配置端口、进入控制</title><link>http://www.blogjava.net/bluewind/articles/195159.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Wed, 23 Apr 2008 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/195159.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/195159.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/195159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/195159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/195159.html</trackback:ping><description><![CDATA[一、安装Tomcat<br />
建议使用免安装的Tomcat，而不是下载安装文件。因为安装文件的Tomcat看不到启动和运行时控制台的输出，因而不利于开发者的使用。<br />
注：使用免安装版的Tomcat时，需要设置一个环境变量JAVA_Home。<br />
<br />
二、配置Tomcat服务端口<br />
打开Tomcat/conf目录下的server.xml。找到如下代码：<br />
&nbsp;&nbsp; &nbsp;&lt;Connector port="8080" protocol="HTTP/1.1" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionTimeout="20000" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redirectPort="8443" /&gt;<br />
其中port="8080"就是Tomcat默认的端口，将8080修改成任意的端口。<br />
注：尽量不要使用1000以下的端口，避免与公用端口冲突。<br />
&nbsp;&nbsp; &nbsp;<br />
三、进入控制台<br />
打开Tomcat/conf目录下的tomcat-users.xml。修改成如下代码：<br />
&lt;?xml version='1.0' encoding='utf-8'?&gt;<br />
&lt;tomcat-users&gt;<br />
&nbsp; &lt;role rolename="manager"/&gt;<br />
&nbsp; &lt;user username="manager" password="manager" roles="manager"/&gt;<br />
&lt;/tomcat-users&gt;<br />
这样就添加了一个用户名为：manager、密码为：manager的控制台用户。<br />
控制台的用户名和密码时通过Tomcat的JAAS控制。<br />
然后，重启Tomcat，在地址栏输入&lt;http://localhost:8080/&gt;<br />
点击左上角的Tomcat Manager，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat1.jpg" height="96" width="216" /><br />
<br />
输入设置的用户名：manager、密码：manager，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat2.jpg" height="343" width="324" /><br />
<br />
登录后，控制台为，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat3.jpg" /><br />
<br />
这样就可以方便地管理自己开发的WEB项目。<br />
<br />
<img src ="http://www.blogjava.net/bluewind/aggbug/195159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-23 16:59 <a href="http://www.blogjava.net/bluewind/articles/195159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat6下配置数据源及使用</title><link>http://www.blogjava.net/bluewind/articles/194919.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Tue, 22 Apr 2008 23:50:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/194919.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/194919.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/194919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/194919.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/194919.html</trackback:ping><description><![CDATA[1.将数据库驱动程序拷贝到tomcat\lib目录下面，同时在MYSQL的数据库test下建立表echo_message。<br />
<br />
2..在tomcat根目录的conf\catalina\localhost(对于Tomcat6及其以上版本，需要自己创建catalina和localhost这两个目录)下增加wind.xml文件(该文件名为了更好的可读性最好和下面的path="/xxx"的xxx相同)<br />
<br />
3.该文件内容: <br />
------------------------------------------------<br />
&lt;Context path="/wind"<br />
&nbsp;&nbsp;&nbsp; docBase="E:/StartPortableApps/jspTest"<br />
&nbsp;&nbsp;&nbsp; debug="5"<br />
&nbsp;&nbsp;&nbsp; reloadable="true"<br />
&nbsp;&nbsp;&nbsp; crossContext="true"&gt;<br />
&lt;Resource name="jdbc/wind"<br />
&nbsp;&nbsp;&nbsp; auth="Container"<br />
&nbsp;&nbsp;&nbsp; type="javax.sql.DataSource"<br />
&nbsp;&nbsp;&nbsp; maxActive="5"<br />
&nbsp;&nbsp;&nbsp; maxIdle="2"<br />
&nbsp;&nbsp;&nbsp; maxWait="10000"<br />
&nbsp;&nbsp;&nbsp; username="root"<br />
&nbsp;&nbsp;&nbsp; password="wind"<br />
&nbsp;&nbsp;&nbsp; driverClassName="com.mysql.jdbc.Driver"<br />
&nbsp;&nbsp;&nbsp; url="jdbc:mysql://localhost:3306/test"/&gt;<br />
&lt;/Context&gt;<br />
------------------------------------------------<br />
<br />
说明：<br />
&nbsp;&nbsp;&nbsp;&nbsp; path="虚拟路径" docBase="绝对路径"。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 其中name 指定数据源在容器中的JNDI名。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxActive 指定数据源最大活动连接数。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxIdle 指定数据池中最大空闲连接数。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxWait 指定数据池中最大等待获取连接的客户端。<br />
&nbsp;&nbsp;&nbsp;&nbsp; username 指定连接数据库的用户名。<br />
&nbsp;&nbsp;&nbsp;&nbsp; password 指定连接数据库的密码。<br />
&nbsp;&nbsp;&nbsp;&nbsp; driverClassName 指定连接数据库的驱动。<br />
&nbsp;&nbsp;&nbsp;&nbsp; url 指定数据库服务的URL<br />
<br />
问题：<br />
*****为什么要不修改server.xml呢？*****<br />
在Tomcat6的doc帮助文档中，官方是不提倡修改server.xml来添加虚拟目录的！因为修改该文件可能引入额外的风险，例如导致Tomcat彻底崩溃。这样做还有一个好处是非常方便于项目的移植。<br />
<br />
4.在上面的docBase路径(这里是E:/StartPortableApps/jspTest)下创建index.jsp来测试数据源<br />
------------------------------------------------<br />
&lt;%@ page language="java" pageEncoding="GB2312"%&gt;<br />
&lt;%@ page import="java.sql.Connection"%&gt;<br />
&lt;%@ page import="java.sql.ResultSet"%&gt;<br />
&lt;%@ page import="java.sql.Statement"%&gt;<br />
&lt;%@ page import="javax.naming.Context"%&gt;<br />
&lt;%@ page import="javax.naming.InitialContext"%&gt;<br />
&lt;%@ page import="javax.sql.DataSource"%&gt;<br />
<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;index.jsp&lt;/title&gt;<br />
&lt;/head&gt;<br />
<br />
&lt;body&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h2&gt;测试数据源&lt;/h2&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Context ctx = new InitialContext();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 通过JNDI查找数据源，该JNDI为java:comp/env/jdbc/wind，分为两部分；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // java:comp/env是Tomcat固定的，必需加的前缀；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // jdbc/wind是定义数据源时的数据源名；<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/wind");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Connection conn = ds.getConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Statement stmt = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ResultSet rs = stmt.executeQuery("select * from echo_message");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while(rs.next()) {<br />
&nbsp;&nbsp;&nbsp; %&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%=rs.getString(2)%&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%}<br />
&nbsp;&nbsp;&nbsp; %&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
------------------------------------------------<br />
<br />
注意：<br />
Tomcat数据源的配置分为两种：<br />
全局数据源：对所有的web应用都可以访问。局部数据源：只能在某个web应用下访问。<br />
这里是使用局部数据源。尽量不要使用全局数据源，因为使用全局数据源会破坏Tomcat原有的配置文件,可能会破坏Tomcat系统。<br />
<br />
4.启动Tomcat，地址栏输入http://localhost:8080/wind/index.jsp<br />
<br />
<br />
<img src ="http://www.blogjava.net/bluewind/aggbug/194919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-23 07:50 <a href="http://www.blogjava.net/bluewind/articles/194919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML框架</title><link>http://www.blogjava.net/bluewind/articles/192052.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Fri, 11 Apr 2008 01:18:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/192052.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/192052.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/192052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/192052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/192052.html</trackback:ping><description><![CDATA[&nbsp; <span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">■ </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">框架标记</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><o:p></o:p></span>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAMESET&gt; &lt;FRAME&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;NOFRAMES&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;IFRAME&gt; <o:p></o:p></span></p>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　欲明白本篇【</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">HTML</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">彻底剖析】之标记分类，请看</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">【标记一览】。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　也请先明白围堵标记与空标记的分别，请看</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">【</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">HTML</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">概念】。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <br />
&nbsp;<br />
&nbsp; <br />
■ </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">框架概念</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">：</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><o:p></o:p></span></p>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　谓框架便是网页画面分成几个框窗，同时取得多个</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> URL</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">。只需要</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;FRAMESET&gt; &lt;FRAME&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">即可，面所有框架标记需要放在一个总起的</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> html </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">档，这个档案只记录了该框架如何分割</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，不会显示任何资料，所以不必放入</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;BODY&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">标记，浏览这框架必须读取这档案</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">面不是其他框窗的档案。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAMESET&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">是用来划分框窗，每一窗框由一个</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;FRAME&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">标</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">记所标示，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAME&gt;</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">必须在</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;FRAMESET&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">范围中使用。如下例：</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;frameset cols="50%,*"&gt; &lt;frame name="hello" src="up2u.html"&gt; &lt;frame name="hi" src="me2.html"&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;/frameset&gt; <o:p></o:p></span></p>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　此例中</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;FRAMESET&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">把画面分成左右两相等部分，左便是显示</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> up2u.html</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，右边则会显示</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> me2.html </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">这档案，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAME&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">标记所标示的框窗永远是按由上而下、由左至右的次序</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
&nbsp;<o:p></o:p></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAME&gt;<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">用法：　　　　　　定义一个帧</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">开始／结束标识：　必须／非法</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">属性：　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">name="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">定义帧的名字</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">scr="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">定义在帧中显示的内容的来源</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">frameborder="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">定义帧之间的边界</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">(0</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">或</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">1)<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">margwidth="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设置帧的边界和其中内容之间的间距</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">margheight="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设置帧的边界和其中内容之间的间距化</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">noresize="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">使帧的尺寸不能变</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">scrolling="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设置滚动条的表示方式</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">(auto, yes, no)<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">空：　　　　　　　不允许</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
&nbsp;<br />
&lt;FRAMESET&gt;...&lt;/FRAMESET&gt;<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">用法：　　　　　　定义在一个窗口中帧的布局</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">开始／结束标识：　必须／必须</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">属性：　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">rows="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定行的数目</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">cols="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定列的数目</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">onload="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">当载入文档时的内部事件触发器</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　　　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">onunload="..."</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">当卸载文档时的内部事件触发器</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">空：　　　　　　　不允许</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">注释：　　　　　　</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">FRAMESET</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">可以嵌套</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
&nbsp;<o:p></o:p></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">以上所述只是最简单的框架设定，若希望达到更合适的效果请加入或修改以下各参数。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　标记：</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAMESET&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　例子：</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;frameset rows="90,*" frameborder="0" border=0 framespacing="2" border="2" bordercolor="#008000"&gt;&lt;/frameset&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　功用：宣告</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">HTML</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">文件为框架模式，并设定视窗如何分割。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　参数：</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">COLS="90,*" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">垂直切割画面</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">(</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">如分左右两个画面</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">)</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，接受整数值、百分数，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> * </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">则代表占用剩余的空间。数值的个数代表分成的视窗数目且以逗号分隔。例如</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> COLS="30,*,50%" </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">可以切成三个视窗，第一个视窗是</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 30 pixels </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">的宽度，为一绝对分割，第二个视窗是当分配完第一及第三个视窗后剩下的空间，第三个视窗则占整个视窗画面的</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 50% </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">宽度为一相对分割。你可自己调整数字。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">ROWS="120,*" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">这是横向切割，将画面上下分开，数值设定同上。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> COLS </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">与</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> ROWS </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">两参数尽量不要放在同一个</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> &lt;FRAMESET&gt; </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">标记中，因</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> Netacape </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">偶然不能显示这类型的框架，尽量采用多重分割，如以上各例。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">frameborder="no" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定框架的边框，其值只有</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US">no </span></span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">和</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US">yes </span></span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US">no </span></span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示不要边框，</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US">yes </span></span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示要显示边框。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">border="0" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定框架的边框厚度，以</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> pixels </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">为单位。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">bordercolor="#008000" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定框架的边框颜色。颜色值请参考【调色原理】。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">framespacing="5" <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示框架与框架间保留的空白的距离。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　标记：</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;FRAME&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　例子：</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">&lt;frame name="top" src="a.html" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0" noresize framespacing="6" bordercolor="#0000FF"&gt; <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　功能：设定每一个框窗内的参数属性。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">　　参数：</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><br />
SRC="a.html"<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定此框窗中要显示的网页档案名称，每个框窗一定要对应一个网页档案。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">NAME="top"<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定这个框窗的名称，这样才能指定框架来作链接，必须但任意命名。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">frameborder=0<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定框架的边框，其值只有</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 0 </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">和</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 1 </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 0 </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示不要边框，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> 1 </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示要边框。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">framespacing="6"<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示框架与框架间的保留的空白的距离。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">bordercolor="#008000"<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定框架的边框颜色。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">scrolling="Auto"<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定是否要显示卷轴，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">YES </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示要显示卷轴，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">NO </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示无论如何都不要显示卷轴，</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">AUTO </span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">视情况而定。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">noresize<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">设定不让使用者可以改变这个框框的大小，如没有设定此参数，使用者可随意地拉动框架改变其大小。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">marginhight=5<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示框架高度部分边缘所保留的空间。</span><span style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p style="line-height: 18pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'">marginwidth=5<br />
</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">表示框架宽度部分边缘所保留的空间。</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: 'ˎ̥','serif'"><o:p></o:p></span></p>
<img src ="http://www.blogjava.net/bluewind/aggbug/192052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-11 09:18 <a href="http://www.blogjava.net/bluewind/articles/192052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>没有登录不能访问非index.jsp的JSP页面</title><link>http://www.blogjava.net/bluewind/articles/191775.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Thu, 10 Apr 2008 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/191775.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/191775.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/191775.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/191775.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/191775.html</trackback:ping><description><![CDATA[loginFilter.java<br />
<br />
<p>/**<br />
&nbsp;* loginFilter.java<br />
&nbsp;*/<br />
package myFilter;</p>
<p>import java.io.IOException;</p>
<p>import javax.servlet.Filter;<br />
import javax.servlet.FilterChain;<br />
import javax.servlet.FilterConfig;<br />
import javax.servlet.ServletException;<br />
import javax.servlet.ServletRequest;<br />
import javax.servlet.ServletResponse;<br />
import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;<br />
import javax.servlet.http.HttpSession;</p>
<p>/**<br />
&nbsp;* 检查 session 中的 username 内容是否为空，为空则没有登录，转发到登录页面， 如果不为空，则分发请求。<br />
&nbsp;* @author wind<br />
&nbsp;* <br />
&nbsp;*/<br />
public class loginFilter implements Filter {<br />
&nbsp;private String onErrorUrl;</p>
<p>&nbsp;@Override<br />
&nbsp;public void destroy() {<br />
&nbsp;&nbsp;// TODO Auto-generated method stub</p>
<p>&nbsp;}</p>
<p>&nbsp;@Override<br />
&nbsp;public void doFilter(ServletRequest request, ServletResponse response,<br />
&nbsp;&nbsp;&nbsp;FilterChain chain) throws IOException, ServletException {<br />
&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;HttpServletRequest req = (HttpServletRequest) request;<br />
&nbsp;&nbsp;HttpServletResponse res = (HttpServletResponse) response;</p>
<p>&nbsp;&nbsp;HttpSession session = req.getSession();<br />
&nbsp;&nbsp;String username = (String) session.getAttribute("username");<br />
&nbsp;&nbsp;boolean flag = true;</p>
<p>&nbsp;&nbsp;if (username == null) {<br />
&nbsp;&nbsp;&nbsp;flag = false;<br />
&nbsp;&nbsp;} else {</p>
<p>&nbsp;&nbsp;}<br />
&nbsp;&nbsp;if (flag) {</p>
<p>&nbsp;&nbsp;&nbsp;/*<br />
&nbsp;&nbsp;&nbsp; * Causes the next filter in the chain to be invoked, or if the<br />
&nbsp;&nbsp;&nbsp; * calling filter is the last filter in the chain, causes the<br />
&nbsp;&nbsp;&nbsp; * resource at the end of the chain to be invoked.<br />
&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;chain.doFilter(request, response);<br />
&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;/*<br />
&nbsp;&nbsp;&nbsp; * Forwards a request from a servlet to JSP file on the server.<br />
&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;req.getRequestDispatcher(onErrorUrl).forward(req, res);<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>&nbsp;@Override<br />
&nbsp;public void init(FilterConfig filterConfig) throws ServletException {</p>
<p>&nbsp;&nbsp;/*<br />
&nbsp;&nbsp; * Returns a String containing the value of the named initialization<br />
&nbsp;&nbsp; * parameter, or null if the parameter does not exist.<br />
&nbsp;&nbsp; */<br />
&nbsp;&nbsp;onErrorUrl = filterConfig.getInitParameter("onError");<br />
&nbsp;&nbsp;if (onErrorUrl == null || "".equals(onErrorUrl)) {<br />
&nbsp;&nbsp;&nbsp;onErrorUrl = "/index.jsp";<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>}<br />
<br />
web.xml添加以下代码：<br />
&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;loginFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;myFilter.loginFilter&lt;/filter-class&gt;<br />
&nbsp;&nbsp;&lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;onError&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;/index.jsp&lt;/param-value&gt;<br />
&nbsp;&nbsp;&lt;/init-param&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;loginFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/havesession/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
<br />
特别注意：&lt;url-pattern&gt;/havesession/*&lt;/url-pattern&gt;这里意思是过滤/havasession/路径中的所有HTTP请求。</p>
<img src ="http://www.blogjava.net/bluewind/aggbug/191775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-10 10:30 <a href="http://www.blogjava.net/bluewind/articles/191775.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Servlet与JSP中取得当前文件所在的相对路径与绝对路径</title><link>http://www.blogjava.net/bluewind/articles/191774.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Thu, 10 Apr 2008 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/191774.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/191774.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/191774.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/191774.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/191774.html</trackback:ping><description><![CDATA[<p>//JSP中<br />
&nbsp; &lt;% <br />
&nbsp; out.println("根目录所对应的绝对路径:"&nbsp; +&nbsp; request.getRequestURI()&nbsp; +&nbsp; "&lt;br/&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; String&nbsp; strPathFile&nbsp; =&nbsp; application.getRealPath(request.getRequestURI());&nbsp; <br />
&nbsp; out.println("文件的绝对路径:"&nbsp; +&nbsp; strPathFile +&nbsp; "&lt;br/&gt;");</p>
<p>&nbsp; String&nbsp; strDirPath&nbsp; =&nbsp; new&nbsp; File(application.getRealPath(request.getRequestURI())).getParent();&nbsp; <br />
&nbsp; out.println("目录的绝对路径:"&nbsp; +&nbsp; strDirPath&nbsp; +&nbsp; "&lt;br/&gt;");<br />
&nbsp; %&gt; </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; //Servlet中&nbsp; <br />
&nbsp;&nbsp; //JSP中的application对象就是Servlet中的ServerContext，所以在Servlet中是如此获得&nbsp; <br />
&nbsp;&nbsp;&nbsp; System.out.println("根目录所对应的绝对路径:"&nbsp; +&nbsp; request.getServletPath());</p>
<p>&nbsp;&nbsp;&nbsp; String&nbsp; strFullPath&nbsp; =&nbsp; request.getSession().getServletContext().getRealPath("");<br />
&nbsp;&nbsp;&nbsp; System.out.println("目录的绝对路径" + strFullPath);</p>
<p>&nbsp;&nbsp;&nbsp; String&nbsp; strContextPath&nbsp; =&nbsp; request.getContextPath();&nbsp; <br />
&nbsp;&nbsp;&nbsp; System.out.println("获得Web项目的上下文路径" + strContextPath);</p>
<p>&nbsp;&nbsp;&nbsp; System.out.println("获取访问站点的相对路径" + request.getRequestURI());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; System.out.println("获取访问站点的绝对路径" + request.getRequestURL());</p>
<img src ="http://www.blogjava.net/bluewind/aggbug/191774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-10 10:28 <a href="http://www.blogjava.net/bluewind/articles/191774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>