﻿<?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-iBatis.java</title><link>http://www.blogjava.net/viva/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:56:52 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:56:52 GMT</pubDate><ttl>60</ttl><item><title>JSP与Servlet的跳转及得到路径方法整理</title><link>http://www.blogjava.net/viva/archive/2008/12/11/245612.html</link><dc:creator>Viva Hu</dc:creator><author>Viva Hu</author><pubDate>Thu, 11 Dec 2008 01:23:00 GMT</pubDate><guid>http://www.blogjava.net/viva/archive/2008/12/11/245612.html</guid><wfw:comment>http://www.blogjava.net/viva/comments/245612.html</wfw:comment><comments>http://www.blogjava.net/viva/archive/2008/12/11/245612.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/viva/comments/commentRss/245612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/viva/services/trackbacks/245612.html</trackback:ping><description><![CDATA[<p>今天整理项目的流程，在JSP和Servlet之间跳来跳去，曾经一段时间，我都是把Servlet路径定义为&#8220;/SomeServlet&#8221;，也即定义为根目录，因为兼容性比较好，但是用了MyEclipse之后，新建的Servlet默认路径是&#8220;/servlet/SomeServlet&#8221;，这样写便于管理，另外就是更适合单独为Servlet设置Filter（关于Filter的设置可以参考这篇文章）。而我的JSP文件目前是放在项目的根目录，也即形成下图这样的路径结构：</p>
<p>/ProjectRoot/<br />
　　|--servlet/<br />
　　|　　|--Servlet1<br />
　　|　　|--Servlet2<br />
　　|<br />
　　|--myJsp1.jsp<br />
　　|--myJsp2.jsp</p>
<p>其中Servlet跳转有两种方式：<br />
1、sendRedirect()方式</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">response.sendRedirect(String&nbsp;targetUrl);</span></div>
<p>2、RequestDispather方式</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">RequestDispatcher&nbsp;requestDispatcher&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;request.getRequestDispatcher(String&nbsp;targetUrl);<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />requestDispatcher.forward(request,&nbsp;response);</span></div>
<p><br />
第一种方式是给用户浏览器发送通知，然后由浏览器再给服务器发送跳转请求，所以比较类似用户自己去点URL的跳转，这种方式如果需要传参给跳转页面，需要使用Session或者使用GET方式将参数显式的写在targetUrl里（如：ooxx.jsp?id=1），而且大部分情况下由于GET方法的局限性，这种跳转方式只能带较为简单的参数。</p>
<p>而第二种方式有点类似C#中的Server.Transfer()方法，即服务器端跳转，从现象上看就是用户的浏览器内容发生了变化，但是浏览器的地址栏不变还是老地址。这种方式由服务器直接控制request及response的走向及参数，从命令行的参数上就可以看出这一点。这样方便程序员控制参数的传递，几乎可以传递任何类型的参数，只要简单的使用setAttribute()方法即可：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">request.setAttribute(String&nbsp;attriName,&nbsp;Object&nbsp;attriValue);</span></div>
<p><br />
但是也就是因为它是服务器端跳转，所以用户浏览器的地址栏是不发生变化的。那么，如果项目路径结构如上图所示的情况，那么：<br />
1、从JSP跳转向Servlet时<br />
只要简单的使用相对路径&#8220;serlvet/SomeServlet&#8221;即可。</p>
<p>2、从Servlet跳转向另一个Servlet时<br />
因为Servlet都在相同路径下，所以可以直接写相对路径，如&#8220;./SomeServlet&#8221;或直接&#8220;SomeServlet&#8221;。</p>
<p>3、从Servlet跳转向JSP时<br />
因为Servlet路径为&#8220;servlet/SomeServlet&#8221;，所以如果要使用RequestDispather方式跳转，JSP页面在接参数时，会将地址栏的地址作为当前目录寻找自己需要的方法、JavaScript、CSS等。所以经常有朋友遇到JavaScript报错&#8220;Ext未定义&#8221;就是因为JSP页面找不到Ext的js文件。所以这种情况，需要使用绝对路径来告诉JSP去哪里得到这些资源。JAVA有关获得路径的方法较多，测试如下：</p>
<p><strong>项目根目录：</strong><a href="http://localhost:8080/TestProject/">http://localhost:8080/TestProject/</a><br />
<strong>JSP测试：</strong><a href="http://localhost:8080/TestProject/TestPath.jsp">http://localhost:8080/TestProject/TestPath.jsp</a></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_2_87_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_87_Open_Text.style.display='none'; Codehighlighter1_2_87_Closed_Image.style.display='inline'; Codehighlighter1_2_87_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_2_87_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_87_Closed_Text.style.display='none'; Codehighlighter1_2_87_Open_Image.style.display='inline'; Codehighlighter1_2_87_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_2_87_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2_87_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@&nbsp;page&nbsp;language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">java</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;contentType</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">text/html;&nbsp;charset=UTF-8</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">UTF-8</span><span style="color: #000000; background-color: #f5f5f5">"</span></span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/html4/loose.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">meta&nbsp;</span><span style="color: #ff0000">http-equiv</span><span style="color: #0000ff">="Content-Type"</span><span style="color: #ff0000">&nbsp;content</span><span style="color: #0000ff">="text/html;&nbsp;charset=UTF-8"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Insert&nbsp;title&nbsp;here</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">request.getContextPath()&nbsp;=&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;request.getContextPath()&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&lt;BR&nbsp;/&gt;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">request.getServletPath()&nbsp;=&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;request.getServletPath()&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&lt;BR&nbsp;/&gt;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">request.getRequestURI()&nbsp;=&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;request.getRequestURI()&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&lt;BR&nbsp;/&gt;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">request.getRequestURL()&nbsp;=&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;request.getRequestURL()&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&lt;BR&nbsp;/&gt;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img id="Codehighlighter1_614_679_Open_Image" onclick="this.style.display='none'; Codehighlighter1_614_679_Open_Text.style.display='none'; Codehighlighter1_614_679_Closed_Image.style.display='inline'; Codehighlighter1_614_679_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_614_679_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_614_679_Closed_Text.style.display='none'; Codehighlighter1_614_679_Open_Image.style.display='inline'; Codehighlighter1_614_679_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_614_679_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_614_679_Open_Text"><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">15</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">String</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;realPath&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;session.getServletContext().getRealPath(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">);<br />
</span><span style="color: #008080">16</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span></span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">request.getRealPath(\</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/\</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)&nbsp;=&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;realPath&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">""</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<p>返回结果：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">request.getContextPath()&nbsp;=&nbsp;/TestProject<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getServletPath()&nbsp;=&nbsp;/TestPath.jsp<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRequestURI()&nbsp;=&nbsp;/TestProject/TestPath.jsp<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRequestURL()&nbsp;=&nbsp;http://localhost:8080/TestProject/TestPath.jsp<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRealPath("/")&nbsp;=&nbsp;C:\Tomcat\webapps\TestProject\</span></div>
<p><strong><br />
Servlet测试</strong></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;servlet;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.PrintWriter;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletException;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServlet;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletRequest;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletResponse;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpSession;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_328_1298_Open_Image" onclick="this.style.display='none'; Codehighlighter1_328_1298_Open_Text.style.display='none'; Codehighlighter1_328_1298_Closed_Image.style.display='inline'; Codehighlighter1_328_1298_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_328_1298_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_328_1298_Closed_Text.style.display='none'; Codehighlighter1_328_1298_Open_Image.style.display='inline'; Codehighlighter1_328_1298_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestPath&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;</span><span id="Codehighlighter1_328_1298_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_328_1298_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;serialVersionUID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">3093731648408094325L</span><span style="color: #000000">;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_517_1143_Open_Image" onclick="this.style.display='none'; Codehighlighter1_517_1143_Open_Text.style.display='none'; Codehighlighter1_517_1143_Closed_Image.style.display='inline'; Codehighlighter1_517_1143_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_517_1143_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_517_1143_Closed_Text.style.display='none'; Codehighlighter1_517_1143_Open_Image.style.display='inline'; Codehighlighter1_517_1143_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;</span><span id="Codehighlighter1_517_1143_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_517_1143_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000">"</span><span style="color: #000000">text/html</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintWriter&nbsp;out&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;response.getWriter();<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">request.getContextPath()&nbsp;=&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;request.getContextPath()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;BR&nbsp;/&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">request.getServletPath()&nbsp;=&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;request.getServletPath()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;BR&nbsp;/&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">request.getRequestURI()&nbsp;=&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;request.getRequestURI()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;BR&nbsp;/&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">request.getRequestURL()&nbsp;=&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;request.getRequestURL()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;BR&nbsp;/&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpSession&nbsp;session&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;request.getSession();<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;realPath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;session.getServletContext().getRealPath(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">request.getRealPath(\</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">\</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;=&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;realPath&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">);<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.flush();<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doPost(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img id="Codehighlighter1_1264_1295_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1264_1295_Open_Text.style.display='none'; Codehighlighter1_1264_1295_Closed_Image.style.display='inline'; Codehighlighter1_1264_1295_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1264_1295_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1264_1295_Closed_Text.style.display='none'; Codehighlighter1_1264_1295_Open_Image.style.display='inline'; Codehighlighter1_1264_1295_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;</span><span id="Codehighlighter1_1264_1295_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1264_1295_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doGet(request,&nbsp;response);<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<p>返回结果：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">request.getContextPath()&nbsp;=&nbsp;/TestProject<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getServletPath()&nbsp;=&nbsp;/servlet/TestPath<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRequestURI()&nbsp;=&nbsp;/TestProject/servlet/TestPath<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRequestURL()&nbsp;=&nbsp;http://localhost:8080/TestProject/servlet/TestPath<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />request.getRealPath("/")&nbsp;=&nbsp;C:\Tomcat\webapps\TestProject\</span></div>
<p><br />
这样就一目了然了，另外要特别说下getRealPath()这个方法，用于得到URL的物理磁盘路径，以前的写法很简单request.getRealPath(String path)即可。但是此方法已被废弃。现在要用ServletContext.getRealPath(String path)。也就是说要先得到ServletContext对象，而这个对象获得方式有好几种，比较简单的无非是从Session中获得：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">HttpSession&nbsp;session&nbsp;=&nbsp;request.getSession();<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />String&nbsp;realPath&nbsp;=&nbsp;session.getServletContext().getRealPath("/");</span></div>
<p>还有几种方法同样可以获得ServletContext：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">Javax.servlet.http.HttpSession.getServletContext()<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />Javax.servlet.jsp.PageContext.getServletContext()<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"  alt="" />Javax.servlet.ServletConfig.getServletContext()</span></div>
<p><br />
以上。<br />
<br />
参考资料：<br />
http://hi.baidu.com/fytcm/blog/item/298975d7e796aedaa044df0a.html<br />
http://hi.baidu.com/javagt/blog/item/6b7a68f4ebc3b3d8f2d385e3.html<br />
http://www.blogjava.net/flysky19/articles/98006.html<br />
<a href="http://bbs.chinaunix.net/viewthread.php?tid=383861">http://bbs.chinaunix.net/viewthread.php?tid=383861</a></p><img src ="http://www.blogjava.net/viva/aggbug/245612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/viva/" target="_blank">Viva Hu</a> 2008-12-11 09:23 <a href="http://www.blogjava.net/viva/archive/2008/12/11/245612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache + PHP + MySQL 安装过程中的注意事项</title><link>http://www.blogjava.net/viva/archive/2008/11/30/243589.html</link><dc:creator>Viva Hu</dc:creator><author>Viva Hu</author><pubDate>Sun, 30 Nov 2008 15:20:00 GMT</pubDate><guid>http://www.blogjava.net/viva/archive/2008/11/30/243589.html</guid><wfw:comment>http://www.blogjava.net/viva/comments/243589.html</wfw:comment><comments>http://www.blogjava.net/viva/archive/2008/11/30/243589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/viva/comments/commentRss/243589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/viva/services/trackbacks/243589.html</trackback:ping><description><![CDATA[最近要和13一起做一个PHP的宠物展示网站，于是才会想起来去配PHP环境，网上搜搜，按照下面的文章配了一遍，有些收获：<br />
<a href="http://tech.163.com/06/0206/11/299AMBLT0009159K.html" target="_blank">http://tech.163.com/06/0206/11/299AMBLT0009159K.html</a><br />
<br />
以下为配置过程中原文中忽略掉的注意事项。<br />
<br />
<strong>一、Apache的端口修改</strong><br />
在Apache的配置文件conf/httpd.conf里搜索&#8220;Listen &#8221;，后面的数字就是端口了。如果是按照服务模式装的，默认应该是80，按照应用模式装的，那默认是8080，因为我电脑上80跑的IIS，8080跑的RESIN，所以我把Apache改成90了。<br />
<br />
<strong>二、Apache安装为服务<br />
</strong>CMD中进入Apache安装目录下的bin目录，然后执行apache -k install回车即可，其他一些参数如下：<br />
安装为特定的服务名：<br />
apache -k install -n "服务名"<br />
安装一个使用特定配置的服务，安装时指定配置文件：<br />
apache -k install -n "服务名" -f "\my server\conf\my.conf"<br />
移除一个Apache服务<br />
apache -k uninstall -n "服务名"<br />
<br />
<strong>三、发布目录的配置</strong><br />
Apache的httpd.conf文件里有关DocumentRoot的配置是关于Apache发布目录的，默认是指向Apache安装目录下的htdocs目录，修改后的目录<strong>绝不可</strong>包括空格，我之前把发布目录放在&#8220;我的文档&#8221;下面的一个文件夹里，结果&#8220;我的文档&#8221;的实际目录是F:\My Document\，导致路径中有一个空格，访问不了发布目录。<br />
<br />
<strong>四、Apache加载PHP模块的配置</strong><br />
在配置Apache加载PHP模块时，除了加入<br />
LoadModule php5_module C:/PHP/php5apache2.dll<br />
这一句以外还要记得在下面加入<br />
PHPIniDir "C:/PHP"<br />
这句，否则就必须把php.ini文件复制到Windows目录下。<br />
<br />
PS. 其实如果配过IIS+PHP的就很好理解了，PHP相当于一个ISAPI层，无论是IIS还是Apache都是把PHP作为一个ISAPI解析或者当作一个模块加入到自己里面，所以因为IIS没有加载PHP模块的概念，所以IIS+PHP是加载的php5isapi.dll文件作为ISAPI加入。<br />
<br />
<strong>五、PHP的ext *.dll文件</strong><br />
很多教程要求把什么PHP目录以及PHP/ext目录下下所有*.dll复制到Windows/System32目录下才可使用，这其实是一种偷懒的办法，因为正确的方法应该是如原文中所说的一样，将PHP以及PHP/ext目录加入系统PATH路径中，其实就是让系统能找到这些dll文件放在哪里而已，我很不喜欢把*.dll放到System32目录，还有把php.ini复制到Windows目录下的这种方式，我认为PHP作为一个独立的模块就应该独立的存在。但是切记修改了系统PATH路径后一定要重新启动才能生效，而把*.dll复制到System32目录下由于System32目录本身就在系统PATH路径里，所以无需重新启动电脑，这就是为什么我刚说这种复制DLL文件的方法其实是偷懒。<br />
要指定extension_dir的路径，<span style="color: #ff0000"><strong>"绝不可以"</strong></span>在目录结尾再加一个&#8220;/&#8221;，会导致无法访问发布目录，我就犯了这个错，为此还从头重做了一遍。<br />
extension_dir = "./" 默认<br />
extension_dir = "C:/PHP/ext"&nbsp; <span style="color: #0000ff"><strong>正确</strong></span><br />
extension_dir = "C:/PHP/ext/"&nbsp;<span style="color: #ff0000"><strong>错误<br />
</strong></span><br />
<strong>六、测试Apache加载PHP成功与否的代码</strong><br />
以下代码可以将PHP的一些信息用HTML的形式显示出来<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;?</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008080">phpinfo</span><span style="color: #000000">();<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">?&gt;</span></div>
<br />
<strong>七、测试PHP连接MySQL成功与否的代码<br />
</strong>以下代码可以将MySQL的用户表用HTML的形式显示出来，当然，用户名密码得根据实际情况来改，默认用户名为root，密码为空<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;?</span><span style="color: #000000">PHP<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">---基本设定------</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$mysql_server_name</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">localhost</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$mysql_username</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">root</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$mysql_password</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$mysql_database</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">mysql</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">----------------</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$sql</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">select&nbsp;*&nbsp;from&nbsp;user</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$conn</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008080">mysql_connect</span><span style="color: #000000">(</span><span style="color: #800080">$mysql_server_name</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$mysql_username</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$mysql_password</span><span style="color: #000000">);<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$result</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008080">mysql_db_query</span><span style="color: #000000">(</span><span style="color: #800080">$mysql_database</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$sql</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$conn</span><span style="color: #000000">);<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #800080">$row</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008080">mysql_fetch_row</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">);<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">表格开始</span><span style="color: #008000"><br />
</span><span style="color: #008080">14</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;table&nbsp;border=1&nbsp;cellspacing=0&nbsp;cellpading=0&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">打印出栏位名称</span><span style="color: #008000"><br />
</span><span style="color: #008080">17</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;tr&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #800080">$i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">&lt;</span><span style="color: #008080">mysql_num_fields</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">);&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;{<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;td&nbsp;nowrap&gt;</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #008080">mysql_field_name</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">)</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/td&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;}<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/tr&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">将资料移动回第一笔</span><span style="color: #008000"><br />
</span><span style="color: #008080">24</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #008080">mysql_data_seek</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">);<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">印出资料内容</span><span style="color: #008000"><br />
</span><span style="color: #008080">27</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(</span><span style="color: #800080">$row</span><span style="color: #000000">=</span><span style="color: #008080">mysql_fetch_row</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">))&nbsp;{<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;tr&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #800080">$i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">&lt;</span><span style="color: #008080">mysql_num_fields</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">);&nbsp;</span><span style="color: #800080">$i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;td&nbsp;nowrap&gt;$row[$i]&lt;/td&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/tr&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;}<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">表格结束</span><span style="color: #008000"><br />
</span><span style="color: #008080">37</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">echo</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/table&gt;\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #008080">mysql_free_result</span><span style="color: #000000">(</span><span style="color: #800080">$result</span><span style="color: #000000">);<br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">?&gt;</span></div><img src ="http://www.blogjava.net/viva/aggbug/243589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/viva/" target="_blank">Viva Hu</a> 2008-11-30 23:20 <a href="http://www.blogjava.net/viva/archive/2008/11/30/243589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[From LDH]两种JSP页面include用法的区别</title><link>http://www.blogjava.net/viva/archive/2008/11/10/239701.html</link><dc:creator>Viva Hu</dc:creator><author>Viva Hu</author><pubDate>Mon, 10 Nov 2008 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/viva/archive/2008/11/10/239701.html</guid><wfw:comment>http://www.blogjava.net/viva/comments/239701.html</wfw:comment><comments>http://www.blogjava.net/viva/archive/2008/11/10/239701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/viva/comments/commentRss/239701.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/viva/services/trackbacks/239701.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近做華為箱單系統又有新需求，拿出一年前的代碼時，正好遇到了這個問題，想起7thgen上有LDH大師的一篇絕佳文章，轉載如下。&nbsp;&nbsp;<a href='http://www.blogjava.net/viva/archive/2008/11/10/239701.html'>阅读全文</a><img src ="http://www.blogjava.net/viva/aggbug/239701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/viva/" target="_blank">Viva Hu</a> 2008-11-10 17:22 <a href="http://www.blogjava.net/viva/archive/2008/11/10/239701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>远程重启XP</title><link>http://www.blogjava.net/viva/archive/2008/11/10/239591.html</link><dc:creator>Viva Hu</dc:creator><author>Viva Hu</author><pubDate>Mon, 10 Nov 2008 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/viva/archive/2008/11/10/239591.html</guid><wfw:comment>http://www.blogjava.net/viva/comments/239591.html</wfw:comment><comments>http://www.blogjava.net/viva/archive/2008/11/10/239591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/viva/comments/commentRss/239591.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/viva/services/trackbacks/239591.html</trackback:ping><description><![CDATA[公司弄了一台新臺式機，老臺式機放在一邊遠程登錄用，結果遠程登錄發現老機器沒有重新啓動選項。開始以爲是遠程登錄客戶端版本有問題，換了Vista的遠程登錄現象依舊。於是去MSDN上搜索了一下：<br />
<br />
引自：<a href="http://blogs.msdn.com/helloworld/archive/2007/11/23/remotely-restarting-windows-xp.aspx">http://blogs.msdn.com/helloworld/archive/2007/11/23/remotely-restarting-windows-xp.aspx<br />
</a>
<fieldset>
<h2>Remotely restarting Windows XP</h2>
<p>If you are using Remote Desktop quite a lot, you may need to restart your XP machine remotely, but there is no option to restart or shutdown the machine. The only options available are Log Off and Disconnect.</p>
<p>To restart or to reboot XP machines remotely, use 'shutdown' command from the command console.</p>
<p>Run cmd.exe, and type 'shutdown -r -t 0' to restart the machine.</p>
</fieldset>
<h2>大致翻譯：</h2>
如果你經常使用遠程桌面，你可能需要遠程重新啓動你的XP機器，但是卻發現開始菜單裏根本沒有&#8220;重新啓動&#8221;或者&#8220;關機&#8221;選項。只有&#8220;註銷&#8221;和&#8220;斷開遠程連接&#8221;。<br />
如果要遠程重啓XP機器，你必須在命令行控制臺中使用&#8220;shutdown&#8221;命令。方法如下：<br />
運行cmd.exe，鍵入&#8220;shutdown -r -t 0&#8221;即可重啓XP。<br />
<br />
命令解釋：<br />
shuntdown是Windows自帶的関機命令，-r參數表示Reboot重新啓動，如果不加這個參數則執行関機操作，-t [0-n]參數表示Time等待[0-n]秒時間，0表示不等待立即執行。你甚至可以把這條命令保存成bat文件放在桌面上，一個用來重啓，一個用來関機（雖然遠程登錄時基本永不到関機功能）。<br />
<br />
其實這篇文章後面的用戶評論更精彩：<br />
<br />
- That's not true. You can Alt-F4 from the desktop to bring up the "Turn Off Computer" options, which allows you to restart. You can also restart via Task Manager.<br />
你可以直接在桌面上按Alt+F4調出&#8220;關閉計算機&#8221;選項，裏面有&#8220;重啓電腦&#8221;的選項，你也可以通過任務管理器重啓。<br />
<br />
- Can't you just do ctrl-alt-end and choose restart? that's what i've always done.<br />
難道你不能按Ctrl+Alt+End調出菜單來重新啓動嗎？我經常這麽干呢。lol<br />
<br />
- You just have to find "Windows Security" on the Start Menu, which give you the Ctrl-Alt-Del screen. Or it will just bring up the Task Manager, which also has all the standard shutdown/restart options.<br />
你只要找到開始菜單裏的&#8220;Windows安全&#8221;，可以找到一個Ctrl+Alt+Del界面。或者能幫你打開任務管理其，你同樣也可以找到標準的関機/重啓選項。<br />
<br />
最後，我事後也想到了一個方法，只適用于XP以及XP以上版本的Windows，Win2K不支持：<br />
開始菜單 - 運行 - msconfig回車 - 在&#8220;啓動&#8221;選項卡裏隨便改點東西，點確定按鈕，即可跳出一個對話框問你&#8220;是否立即重新啓動？&#8221;，大功告成。Win2K不自帶msconfig.exe這個管理程序，除非從XP裏複製一個過去用。<br />
<br />
人民的智慧是偉大的。lol<img src ="http://www.blogjava.net/viva/aggbug/239591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/viva/" target="_blank">Viva Hu</a> 2008-11-10 09:10 <a href="http://www.blogjava.net/viva/archive/2008/11/10/239591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>