﻿<?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-无所惧，无所悔,为梦想执着的拼搏-文章分类-j2ee技术文档</title><link>http://www.blogjava.net/DreamFight/category/36495.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 23 Dec 2008 06:47:06 GMT</lastBuildDate><pubDate>Tue, 23 Dec 2008 06:47:06 GMT</pubDate><ttl>60</ttl><item><title>JSTL详解(条件标签)</title><link>http://www.blogjava.net/DreamFight/articles/247835.html</link><dc:creator>DreamFight</dc:creator><author>DreamFight</author><pubDate>Mon, 22 Dec 2008 14:48:00 GMT</pubDate><guid>http://www.blogjava.net/DreamFight/articles/247835.html</guid><wfw:comment>http://www.blogjava.net/DreamFight/comments/247835.html</wfw:comment><comments>http://www.blogjava.net/DreamFight/articles/247835.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DreamFight/comments/commentRss/247835.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DreamFight/services/trackbacks/247835.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt"><font size="2">条件标签包括以下几种：</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;c:if&gt;;</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;c:choose&gt;;</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;c:when&gt;;</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;c:otherwise&gt;;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">下面，我来分别介绍：</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2"><span style="color: red">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: red">&lt;c:if&gt;; </span><span style="color: red">它用来做条件判断，功能类似</span><span style="color: red">jsp</span><span style="color: red">中的</span><span style="color: red">&lt;%if(boolean){}%&gt;</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">语法：</font><br />
<font size="2">1</font><font size="2">、无body的情况</font><br />
<font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:if test=&#8221;testCondition&#8221; var=&#8221;varName&#8221; [scope=</font><span style="font-size: 10pt">&#8220;{page|request|session|application}&#8221;</span><font size="2">]/&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">2、有body的情况</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:if test=&#8221;testCondition&#8221; var=&#8221;varName&#8221; [scope=<span style="font-size: 10pt">&#8220;{page|request|session|application}&#8221;</span>]&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Body内容</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><font size="2">&lt;/c:if&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">举例：</font><font size="2">c_if.jsp<br />
&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;%@ page contentType="text/html; charset=gb2312" language="java" %&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;html&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;head&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;title&gt;JSTL:c:if的使用&lt;/title&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/head&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;body bgcolor="#FFFFFF"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;c:set var="count" value="100"/&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;c:if test="${count&gt;78}"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="2">count&gt;78</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/c:if&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/body&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/html&gt;</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2"><span style="color: red">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color: red">&lt;c:choose&gt;;</span><span style="color: red">它是用于条件选择，和</span><span style="color: red">&lt;c:when&gt;,&lt;c:otherwise&gt;</span><span style="color: red">一起使用，它的条件选择是排斥性的，相当于</span><span style="color: red">jsp</span><span style="color: red">中的</span><span style="color: red">&lt;%switch(i){case 0: &#8230; case 1:&#8230; default :}%&gt;</span><span style="color: red">，也可以完成</span><span style="color: red">&lt;%if{}&#8230;else if{}&#8230;.else if{} else{} %&gt;</span><span style="color: red">的功能</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">语法：&lt;c:choose&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Body内容(<span style="color: red">&lt;c:when&gt;,&lt;c:otherwise&gt;)</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/c:choose&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">注意：它的body内容只能是由以下的元素组成：</font></p>
<p style="margin: 0cm 0cm 0pt 52pt; text-indent: -21pt"><font size="2">1.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>空格；</font></p>
<p style="margin: 0cm 0cm 0pt 52pt; text-indent: -21pt"><font size="2">2.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>0个或多个&lt;c:when&gt;子标签，&lt;c:when&gt;必须在&lt;c:otherwise&gt;子标签之前出现；</font></p>
<p style="margin: 0cm 0cm 0pt 52pt; text-indent: -21pt"><font size="2">3.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>0个或多个&lt;c: otherwise &gt;子标签</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: red">&lt;c:when&gt; </span><span style="color: red">它是</span><span style="color: red">&lt;c:choose&gt;</span><span style="color: red">的一个分支</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">语法：</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:when test=&#8221;testCondition&#8221;&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Body内容</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><font size="2">&lt;/c:when&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">注意：它有两个限制：</font></p>
<p style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><font size="2">1.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>必须以&lt;c:choose&gt;作为它的父标签</font></p>
<p style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><font size="2">2.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>必须在&lt;c:otherwise&gt;标签之前出现</font></p>
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><font size="2">l<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: red">&lt;c:otherwise&gt;</span><span style="color: red">他代表了</span><span style="color: red">&lt;c:choose&gt;</span><span style="color: red">的最后选择相当于</span><span style="color: red">jsp</span><span style="color: red">的</span><span style="color: red">&lt;%switch(i){case 0: &#8230; case 1:&#8230; default :}%&gt; </span><span style="color: red">中的</span><span style="color: red">default</span><span style="color: red">语句。</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">语法：</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:otherwise&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conditional block</font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><font size="2">&lt;/c:otherwise&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">它的使用有两个限制：</font></p>
<p style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><font size="2">1.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>必须以&lt;c:choose&gt;作为它的父标签；</font></p>
<p style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><font size="2">2.<span style="font: 7pt Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>必须以&lt;c:choose&gt;的最后分支方式出现；</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;c:choose&gt;,&lt;c:otherwise&gt;,&lt;c:when&gt;举例：c_choose.jsp</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;%@ page contentType="text/html; charset=gb2312" language="java" %&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;c:set var="count" value="100"/&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;html&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;head&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;title&gt;JSTL:c:choose的使用&lt;/title&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/head&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;body bgcolor="#FFFFFF"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;c:choose&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;c:when test="${count &lt;=0}"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;font color="blue"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;/c:when&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;c:when test="${count&lt;=60&amp;&amp;count&gt;0}"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;font color="red"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;/c:when&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;c:otherwise&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;font color="green"&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&nbsp;&nbsp;&nbsp; &lt;/c:otherwise&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/c:choose&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">count的值是：&lt;c:out value="${count}"/&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/font&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/body&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">&lt;/html&gt;</font></p>
<p style="margin: 0cm 0cm 0pt"><font size="2">好了，jstl条件标签就介绍到这里，下篇再见。。。。：）</font></p>
<img src ="http://www.blogjava.net/DreamFight/aggbug/247835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DreamFight/" target="_blank">DreamFight</a> 2008-12-22 22:48 <a href="http://www.blogjava.net/DreamFight/articles/247835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP连接mysql数据库</title><link>http://www.blogjava.net/DreamFight/articles/245249.html</link><dc:creator>DreamFight</dc:creator><author>DreamFight</author><pubDate>Tue, 09 Dec 2008 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/DreamFight/articles/245249.html</guid><wfw:comment>http://www.blogjava.net/DreamFight/comments/245249.html</wfw:comment><comments>http://www.blogjava.net/DreamFight/articles/245249.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DreamFight/comments/commentRss/245249.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DreamFight/services/trackbacks/245249.html</trackback:ping><description><![CDATA[<strong>一． 软件下载<br />
</strong>　　Mysql<br />
　　下载版本：4.1.11<br />
　　<a href="http://dev.mysql.com/downloads/mysql/4.1.html">http://dev.mysql.com/downloads/mysql/4.1.html</a><br />
<br />
　　JDBC驱动<br />
　　下载版本：3.1.8<br />
　　<a href="http://dev.mysql.com/downloads/connector/j/3.1.html">http://dev.mysql.com/downloads/connector/j/3.1.html</a><br />
<br />
　　Mysql界面插件:mysql-front(可省略)<br />
　　下载版本镜像：HongKong（我下回来安装就是中文版了）<br />
　　<a href="http://www.mysqlfront.de/download.html">http://www.mysqlfront.de/download.html</a><br />
<br />
<strong>二． 软件安装<br />
</strong>　　1.安装mysql<br />
　　请参阅相关文章，推荐文章：<a href="http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx">http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx</a><br />
<br />
　　2.JDBC驱动：mysql-connector-java-3.1.8<br />
　　这只是一个压缩包，并不需要安装，只要将其解压，我么使用的是文件夹mysql-connector-java-3.1.8里的文件：mysql-connector-java-3.1.8-bin.jar．<br />
<br />
　　3. Mysql界面插件:mysql-front<br />
　　这是一个安装程序，按照提示安装就可以了．<br />
<br />
<strong>三． 环境配置</strong><br />
　首先，我要说明的是我现在tomcat5.0的安装路径是: E:\Tomcat5.0\；JDK的安装路径是：E:\jdk1.4\<br />
　　在这里，需要配置环境变量的是JDBC驱动．在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar本地硬盘某处（我放的地方：E:\jdk1.4\<br />
MysqlDriver\），然后根据你放的地方，配置classpath，在path中加入&nbsp;：<br />
<br />
E:\jdk1.4\MysqlDriver\mysql-connector-java-5.0.8-bin.jar;<br />
<br />
配置这个的目的是让你的java应用程序找到连接mysql的驱动．<br />
<br />
　　配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动，这个其实很简单，就是把mysql-connector-java-3.1.8-bin.jar拷到某些文件夹里就行了，我们要把mysql-connector-java-5.0.8-bin.jar;考备到：<br />
<br />
webapps\lyb(我的项目)\WEB-INF\lib\<br />
考备到这里的原因是因为每一个web应用程序下的这个文件夹是该应用程序所用到的jar文件的存放位置。<br />
或者考备到这个文件夹下：E:\tomcat5.0\common\lib\<br />
放到这里的原因是因为 在tomcat服务器中这个文件夹是Tomcat以及所有的web都能访问到的他们需要的公共jar文件的存放位置。<br />
<br />
意思就是说如果在访问一&nbsp; 个web的时候，他首先去他的WEB-INF下的lib文件夹中查看是不是有他要用到的jar文件如果有的话就用这儿的，如果没有的话就再去查找common\lib文件夹下是否有该文件。<br />
<img src ="http://www.blogjava.net/DreamFight/aggbug/245249.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DreamFight/" target="_blank">DreamFight</a> 2008-12-09 15:11 <a href="http://www.blogjava.net/DreamFight/articles/245249.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pageContext对象</title><link>http://www.blogjava.net/DreamFight/articles/244843.html</link><dc:creator>DreamFight</dc:creator><author>DreamFight</author><pubDate>Sun, 07 Dec 2008 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/DreamFight/articles/244843.html</guid><wfw:comment>http://www.blogjava.net/DreamFight/comments/244843.html</wfw:comment><comments>http://www.blogjava.net/DreamFight/articles/244843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DreamFight/comments/commentRss/244843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DreamFight/services/trackbacks/244843.html</trackback:ping><description><![CDATA[<p>这个对象代表页面上下文，该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的变量。</p>
<p>pageContext是PageContext类的实例，它提供了如下两个方法来访问page、request、session、application范围的变量。</p>
<p>getAttribute(String name)：取得page范围内的name属性。</p>
<p>getAttribute(String name,int scope)：取得指定范围内的name属性，其中scope可以是如下4个值：</p>
<p>PageContext.PAGE_SCOPE：对应于page范围。</p>
<p>PageContext.REQUEST_SCOPE：对应于request范围。</p>
<p>PageContext.SESSION_SCOPE：对应于session范围。</p>
<p>PageContext.APPLICATION_SCOPE：对应于application范围。</p>
<p>与getAttribute()方法相对应，PageContext也提供了2个对应的setAttribute()方法，用于将指定变量放入page、request、session、application范围内。</p>
<img src ="http://www.blogjava.net/DreamFight/aggbug/244843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DreamFight/" target="_blank">DreamFight</a> 2008-12-07 11:13 <a href="http://www.blogjava.net/DreamFight/articles/244843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>request.getRequestDispatche("").forward(request,response) 与 response.sendRedirect("")的区别</title><link>http://www.blogjava.net/DreamFight/articles/244836.html</link><dc:creator>DreamFight</dc:creator><author>DreamFight</author><pubDate>Sun, 07 Dec 2008 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/DreamFight/articles/244836.html</guid><wfw:comment>http://www.blogjava.net/DreamFight/comments/244836.html</wfw:comment><comments>http://www.blogjava.net/DreamFight/articles/244836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DreamFight/comments/commentRss/244836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DreamFight/services/trackbacks/244836.html</trackback:ping><description><![CDATA[<div style="text-indent: 21pt">1、<span>forward重定向是在容器内部实现的同一个Web应用程序的重定向，所以forward方法只能重定向到同一个Web应用程序中的一个资源，</span> <span style="font-size: 10pt">重定向后浏览器地址栏</span> <span style="font-size: 10pt">URL</span> <span style="font-size: 10pt">不变</span> ，而<span>sendRedirect方法可以重定向到任何URL， 因为这种方法是修改http头来实现的，URL没什么限制，</span> <span style="font-size: 10pt">重定向后浏览器地址栏</span> <span style="font-size: 10pt">URL</span> <span style="font-size: 10pt">改变</span> 。</div>
<div style="text-indent: 21pt">2、<span>forward重定向将原始的HTTP请求对象（request）从一个servlet实例传递到另一个实例，而采用sendRedirect方式两者不是同一个application。</span> </div>
<div style="text-indent: 21pt">3、基于第二点，参数的传递方式不一样。<span>forward的form参数跟着传递，所以在第二个实例中可以取得HTTP请求的参数。sendRedirect只能通过链接传递参数，response.sendRedirect(&#8220;</span> login.jsp?param1=a&#8221;)。</div>
<div style="text-indent: 21pt">4、<span>sendRedirect能够处理相对URL，自动把它们转换成绝对URL，如果地址是相对的，没有一个&#8216;/&#8217;，那么Web&nbsp;container就认为它是相对于当前的请求<span style="color: black; text-decoration: none">URI</span> 的。比如，如果为response.sendRedirect("login.jsp")，则会从当前servlet 的<span style="color: black; text-decoration: none">URL</span> 路径下找login.jsp： http://10.1.18.8:8081/dms/servlet/Servlet 重定向的URL: <span style="color: black; text-decoration: none">http://10.1.18.8:8081/dms/servlet/login.jsp</span> ，如果为response.sendRedirect("/login.jsp")则会从当前应用径下查找<span style="color: black; text-decoration: none">url:http://10.1.18.8:8081/login.jsp</span> 。而forward不能这样处理相对路径。</span> </div>
<img src ="http://www.blogjava.net/DreamFight/aggbug/244836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DreamFight/" target="_blank">DreamFight</a> 2008-12-07 10:30 <a href="http://www.blogjava.net/DreamFight/articles/244836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>服务器端的重定向的两种方式</title><link>http://www.blogjava.net/DreamFight/articles/244834.html</link><dc:creator>DreamFight</dc:creator><author>DreamFight</author><pubDate>Sun, 07 Dec 2008 02:12:00 GMT</pubDate><guid>http://www.blogjava.net/DreamFight/articles/244834.html</guid><wfw:comment>http://www.blogjava.net/DreamFight/comments/244834.html</wfw:comment><comments>http://www.blogjava.net/DreamFight/articles/244834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DreamFight/comments/commentRss/244834.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DreamFight/services/trackbacks/244834.html</trackback:ping><description><![CDATA[<p>服务器端的重定向可以有两种方式，一是使用HttpServletResponse的sendRedirect()方法，一是使用RequestDispatcher的forward()方法.</p>
<p><strong>HttpServletResponse.sendRedirect()方法</strong>将响应定向到参数location指定的、新的URL。location可以是一个绝对的URL，如response.sendRedirect("http://java.sun.com")也可以使用相对的URL。如果location以&#8220;/&#8221;开头，则容器认为相对于当前Web应用的根，否则，容器将解析为相对于当前请求的URL。这种重定向的方法，将导致客户端浏览器的请求URL跳转。从浏览器中的地址栏中可以看到新的URL地址，作用类似于上面设置HTTP响应头信息的实现。<br />
</p>
<p><strong>RequestDispatcher.forward()方法</strong>将当前的request和response重定向到该RequestDispacher指定的资源。这在实际项目中大量使用，因为完成一个业务操作往往需要跨越多个步骤，每一步骤完成相应的处理后，转向到下一个步骤。比如，通常业务处理在Servlet中处理，处理的结果转向到一个JSP页面进行显示。这样看起来类似于Servlet链的功能，但是还有一些区别。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源，而不仅仅是另外一个Servlet。 include()方法将把Request Dispatcher资源的输出包含到当前输出中。<br />
<br />
注意，只有在尚未向客户端输出响应时才可以调用forward()方法，如果页面缓存不为空，在重定向前将自动清除缓存。否则将抛出一个IllegalStateException异常。</p>
<img src ="http://www.blogjava.net/DreamFight/aggbug/244834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DreamFight/" target="_blank">DreamFight</a> 2008-12-07 10:12 <a href="http://www.blogjava.net/DreamFight/articles/244834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>