<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>四季如風 &#187; jsp</title>
	<atom:link href="http://www.hjide.com/tag/jsp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hjide.com</link>
	<description>每一天我們都在進步</description>
	<lastBuildDate>Fri, 03 Feb 2012 06:26:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>使用FileUpload组件上传文件</title>
		<link>http://www.hjide.com/article/200.htm</link>
		<comments>http://www.hjide.com/article/200.htm#comments</comments>
		<pubDate>Sat, 03 Feb 2007 10:28:18 +0000</pubDate>
		<dc:creator>堕落天使</dc:creator>
				<category><![CDATA[JSP/Servlet]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[上传文件]]></category>
		<category><![CDATA[源码]]></category>

		<guid isPermaLink="false">http://blog.tgb.net.cn/?p=200</guid>
		<description><![CDATA[文件上传在web应用中非常普遍，要在jsp环境中实现文件上传功能是非常容易的，因为网上有许多用java开发的文件上传组件，本文以commons-fileupload组件为例，为jsp应用添加文件上传功能。common-fileupload组件是apache的一个开源项目之一，可以从http://jakarta.apache.org/commons/fileupload/下载。用该组件可实现一次上传一个或多个文件，并可限制文件大小。下载后解压zip包，将commons-fileupload-1.0.jar复制到tomcat的webapps&#92;你的webapp&#92;WEB-INF&#92;lib&#92;下，目录不存在请自建目录。新建一个servlet: Upload.java用于文件上传：[codes=java]import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.apache.commons.fileupload.*;public class Upload extends HttpServlet { &#160; &#160;private String uploadPath = &#34;C:&#92;&#92;upload&#92;&#92;&#34;; // 上传文件的目录 &#160; &#160;private String tempPath = &#34;C:&#92;&#92;upload&#92;&#92;tmp&#92;&#92;&#34;; // 临时文件目录 &#160; &#160;public void doPost(HttpServletRequest request, &#160; &#160;HttpServletResponse response) &#160; &#160;throws IOException, ServletException &#160; &#160;{ &#160; &#160;}}[/codes]在doPost()方法中，当servlet收到浏览器发出的Post请求后，实现文件上传。以下是示例代码：[codes=java]public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException{ &#160; &#160;try { &#160; &#160; [...]]]></description>
		<wfw:commentRss>http://www.hjide.com/article/200.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ajax和struts结合实现无刷新验证用户名是否存在</title>
		<link>http://www.hjide.com/article/189.htm</link>
		<comments>http://www.hjide.com/article/189.htm#comments</comments>
		<pubDate>Mon, 29 Jan 2007 03:48:27 +0000</pubDate>
		<dc:creator>堕落天使</dc:creator>
				<category><![CDATA[JS/AJAX]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jsp]]></category>

		<guid isPermaLink="false">http://blog.tgb.net.cn/?p=189</guid>
		<description><![CDATA[页面端(login.jsp):&#60;%@ page language=&#34;java&#34; import=&#34;java.util.*&#34; pageEncoding=&#34;gb2312&#34;%&#62;&#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01 Transitional//EN&#34;&#62;&#60;html&#62; &#160;&#60;head&#62; &#160;&#60;TITLE&#62;Ajax验证用户名是否存在例子&#60;/TITLE&#62; &#160;&#60;script&#62; &#160; &#160;//设一个变量 &#160; &#160;var XMLHttpReq=false; &#160; //创建一个XMLHttpRequest对象 &#160; function createXMLHttpRequest(){ &#160; &#160; if(window.XMLHttpRequest){ //Mozilla &#160; &#160; &#160;XMLHttpReq=new XMLHttpRequest(); &#160; &#160; &#160;} &#160; &#160; &#160;else if(window.ActiveXObject){ &#160; &#160; &#160; try{ &#160; &#160; &#160; &#160;XMLHttpReq=new ActiveXObject(&#34;Msxml2.XMLHTTP&#34;); &#160; &#160; &#160; &#160;}catch(e){ &#160; &#160; &#160; [...]]]></description>
		<wfw:commentRss>http://www.hjide.com/article/189.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JSP的九个隐含对象</title>
		<link>http://www.hjide.com/article/156.htm</link>
		<comments>http://www.hjide.com/article/156.htm#comments</comments>
		<pubDate>Fri, 12 Jan 2007 03:51:38 +0000</pubDate>
		<dc:creator>堕落天使</dc:creator>
				<category><![CDATA[JSP/Servlet]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.tgb.net.cn/?p=156</guid>
		<description><![CDATA[回到原点，重新认识　　一、page 对象 page对象代表JSP本身，更准确地说它代表JSP被转译后的Servlet，它可以调用Servlet类所定义的方法。　　二、config 对象config 对象里存放着一些Servlet 初始的数据结构。config 对象实现于javax.servlet.ServletConfig 接口，它共有下列四种方法：public String getInitParameter(name)public java.util.Enumeration getInitParameterNames( )public ServletContext getServletContext( )public Sring getServletName( )　　三、request 对象request 对象包含所有请求的信息，如：请求的来源、标头、cookies和请求相关的参数值等等。request 对象实现javax.servlet.http.HttpServletRequest接口的，所提供的方法可以将它分为四大类：1.储存和取得属性方法；void setAttribute(String name, Object value) 设定name属性的值为valueEnumeration getAttributeNamesInScope(int scope) 取得所有scope 范围的属性Object getAttribute(String name) 取得name 属性的值void removeAttribute(String name) 移除name 属性的值2.取得请求参数的方法String getParameter(String name) 取得name 的参数值Enumeration getParameterNames( ) 取得所有的参数名称String [] getParameterValues(String name) 取得所有name 的参数值Map getParameterMap( ) 取得一个要求参数的Map3.能够取得请求HTTP 标头的方法String [...]]]></description>
		<wfw:commentRss>http://www.hjide.com/article/156.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>pageContext对象</title>
		<link>http://www.hjide.com/article/155.htm</link>
		<comments>http://www.hjide.com/article/155.htm#comments</comments>
		<pubDate>Thu, 11 Jan 2007 14:06:06 +0000</pubDate>
		<dc:creator>堕落天使</dc:creator>
				<category><![CDATA[JSP/Servlet]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[taglib]]></category>

		<guid isPermaLink="false">http://blog.tgb.net.cn/?p=155</guid>
		<description><![CDATA[request:pageContext.getRequest();session:pageContext.getSession();application:pageContext.getServletContext();response:pageContext.getResponse();pageContext隱含物件對應於javax.servlet.jsp.PageContext型態之物件，隱含物件都自動的被加入至pageContext中，您可以藉由它來取得與JSP相關的隱含物件對應之Servlet物件，像是getRequest()可以取得ServletRequest，getServletConfig()可以取得ServletConfig，getSession()可以取得HttpSession等等。提供取得隱含物件對應之Servlet物件並不是pageContext的主要作用，它的主要功能在提供一個單一個介面，以管理各種的公開物件（像是HttpSession、ServletContext、ServletConfig、ServletRequest、ServletResponse等等），提供一個單一的API來管理屬性作用範圍等等。我們之前曾經使用過session的setAttribute()等方法設定一個進程可以共用的屬性物件，使用session設定的屬性在同一個進程中可以共用，除了session之外，還有pageContext、request、application也都可以使用setAttribute()之類的方法（詳請查閱API文件）來設定可以共用的屬性物件，只不過這四個物件所設定的屬性其共用範圍各不相同。使用pageContext所設定的屬性物件，其共用範圍限於同一個JSP頁面，使用request所設定的屬性物件，其在同一個request處理期間可以共用（包括forward給其它JSP頁面），session物件所設定的屬性物件則限於同一個進程作用期間可以共用，而application物件所設定的屬性，則在整個Web應用程式中的JSP頁面都可以共用。以下舉application為例，您可以將一些物件當作屬性設定給application，則另一個JSP頁面就可以在適當的時候取得這個屬性物件，例如：&#60;% &#160; &#160;String attr = &#34;字串物件&#34;; &#160; &#160;out.println(&#34;設定屬性給application：&#34; + attr); &#160; &#160;application.setAttribute(&#34;str&#34;, attr);%&#62;我們先連上這個JSP網頁以執行屬性設定，然後我們再連上這個JSP網頁：&#60;% &#160; &#160;String attr = (String) application.getAttribute(&#34;str&#34;); &#160; &#160;out.println(&#34;取得application屬性：&#34; + attr);%&#62;由於我們之前已經將字串物件設定在application中作為屬性，所以我們可以在上面這個頁面中取得之前設定的物件，同樣的道理，您也可以用相同的方式設定屬性給pageContext、request、session等物件，只要在允許的作用範圍中，就可以取得所設定的屬性物件。您可以使用pageContext物件來設定屬性，並指定屬性的作用範圍，而不用使用個別的pageContext、request、session、application來進行設定，這就是之前所提的，以pageContext提供一個單一的API來管理屬性作用範圍，您可以使用以下的方法來進行設定：getAttribute(String name, int scope)setAttribute(String name, Object value, int scope)removeAttribute(String name, int scope)其中的scope可以使用以下的常數來進行指定：pageContext.PAGE_SCOPE、pageContext.REQUEST_SCOPE、pageContext.SESSION_SCOPE、pageContext.APPLICATION_SCOPE，常數的名稱已經直接指明屬性範圍，我們可以將上面的兩個JSP頁面改為以下的形式：&#60;% &#160; &#160;String attr = &#34;字串物件&#34;; &#160; &#160;out.println(&#34;設定屬性給application：&#34; + attr); &#160; &#160;pageContext.setAttribute(&#34;str&#34;, attr, pageContext.APPLICATION_SCOPE);%&#62;&#60;% &#160; &#160;String attr = (String) pageContext.getAttribute(&#34;str&#34;, pageContext.APPLICATION_SCOPE); &#160; [...]]]></description>
		<wfw:commentRss>http://www.hjide.com/article/155.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>监听Session</title>
		<link>http://www.hjide.com/article/146.htm</link>
		<comments>http://www.hjide.com/article/146.htm#comments</comments>
		<pubDate>Tue, 09 Jan 2007 15:21:03 +0000</pubDate>
		<dc:creator>堕落天使</dc:creator>
				<category><![CDATA[Struts]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[技巧]]></category>
		<category><![CDATA[源码]]></category>

		<guid isPermaLink="false">http://blog.tgb.net.cn/?p=146</guid>
		<description><![CDATA[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 package cn.org.jock.http.listener; &#160; import java.util.Hashtable; import java.util.Iterator; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; /** * [...]]]></description>
		<wfw:commentRss>http://www.hjide.com/article/146.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

