﻿<?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-dosy</title><link>http://www.blogjava.net/dosy/</link><description>你是目标</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 07:52:55 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 07:52:55 GMT</pubDate><ttl>60</ttl><item><title>log使用</title><link>http://www.blogjava.net/dosy/archive/2006/12/02/85102.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Sat, 02 Dec 2006 15:17:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/12/02/85102.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/85102.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/12/02/85102.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/85102.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/85102.html</trackback:ping><description><![CDATA[
		<p>加入 <span lang="EN-US" twffan="done"><font face="Times New Roman">commons-logging.jar,l <span lang="EN-US" twffan="done"><font face="Times New Roman">og4j.jar到lib<br />加入log4j.properties到src<br />log4j.properties内容：<br />log4j.rootLogger=debug,A1,R<br />log4j.appender.A1=org.apache.log4j.ConsoleAppender <br />log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br />log4j.appender.A1.layout.ConversionPattern=%n%d [%5p] %l%n%m%n</font></span></font></span></p>
		<p>
				<span lang="EN-US" twffan="done">
						<font face="Times New Roman">
								<span lang="EN-US" twffan="done">
										<font face="Times New Roman">log4j.appender.R=org.apache.log4j.RollingFileAppender<br />log4j.appender.R.File=megoods_log.txt<br />log4j.appender.R.MaxFileSize=500KB<br />log4j.appender.R.MaxBackupIndex=10<br />log4j.appender.R.layout=org.apache.log4j.PatternLayout<br />log4j.appender.R.layout.ConversionPattern=%n%d [%5p] %l%n%m%n<br /><br />上面R配置为最多产生10个500K的日志。<br />使用：<br />private static Log log = LogFactory.getLog(xxx.class);<br />log.debug("xxx");<br />log.info("xxx");<br />log.warn("xxx");<br />log.error("xxx");<br />log.fatal("xxx");</font>
								</span>
						</font>
				</span>
		</p>
<img src ="http://www.blogjava.net/dosy/aggbug/85102.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-12-02 23:17 <a href="http://www.blogjava.net/dosy/archive/2006/12/02/85102.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4使用介绍</title><link>http://www.blogjava.net/dosy/archive/2006/12/02/85100.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Sat, 02 Dec 2006 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/12/02/85100.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/85100.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/12/02/85100.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/85100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/85100.html</trackback:ping><description><![CDATA[
		<p>log4的使用方法：</p>
		<p>log4是具有日志记录功能，主要通过一个配置文件来对程序进行监测<br />有两种配置方式：一种程序配置，一种文件配置<br />有三个主要单元要了解，Logger,appender,layout.</p>
		<p>logger是进行记录的主要类，appender是记录的方式，layout是记录的格式<br />logger七种日志级别：debug,info,warn,error,fatal,all,off<br />最常用的应该是debug()和info()；而warn()、error()、fatal()仅在相应事件发生后才使用</p>
		<p>appender主要分三类，终端输出，文件输出，流输出<br />ConsoleAppender<br />FileAppender<br />WriterAppender</p>
		<p>layout也分三类：简单格式，html格式，匹配格式<br />SimpleLayout<br />HTMLLayout<br />PatternLayout</p>
		<p>输出简写：（用在PatternLayout)<br />%m 输出代码中指定的消息<br />%p 输出优先级<br />%r 输出自应用启动到输出该log信息耗费的毫秒数<br />%c 输出所属的类目，通常就是所在类的全名<br />%t 输出产生该日志事件的线程名<br />%n 输出一个回车换行符，Windows平台为“\r\n”，Unix平台为“\n”<br />%d 输出日志时间点的日期或时间，默认格式为ISO8601，也可以在其后指定格式，比如：%d{yyy MMM dd HH:mm:ss,SSS}，输出类似：2002年10月18日 22：10：28，921<br />%l 输出日志事件的发生位置，包括类目名、发生的线程，以及在代码中的行数。一般使用了它就不需使用%c了</p>
		<p>
				<br />作用实例：<br />程序配置一般过程：<br />1.得到特定名称的logger<br />2.得到其中一个layout<br />3.根据layout得到appender<br />4.logger添加appender<br />5.logger设置级别<br />6.logger输出有级别的日志信息</p>
		<p>程序：<br />Logger logger = Logger.getLogger(Test.class.getName())     //取得logger<br />SimpleLayout simpleLayut = new SimpleLayout()              //取得layout<br />FileAppender fa = new FileAppender(simpleLayout,"test.log") //取得appender<br />logger.addAppender(fa)                                     //添加appender<br />logger.set((Level)Level.DEBUG)                             //设置级别<br />logger.debug("hihihihih")                                  //记录信息</p>
		<p>
				<br />文件配置过程：<br />1.得到特定名称的logger<br />2.加载配置文件      (配置文件做了２－５的工作)<br />3.logger输出有级别的日志信息</p>
		<p>文件配置程序：<br />1.Logger logger = Logger.getLogger(Test.class.getName())     //取得logger<br />2.使用下面的配置加载<br />3.输出信息</p>
		<p>
				<br />文件配置分properties,xml<br />读取properties：<br />PropertyConfigurator.configure("logTest.properties");</p>
		<p>读取xml：<br />DOMConfigurator.configure("src/logTest.xml");</p>
<img src ="http://www.blogjava.net/dosy/aggbug/85100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-12-02 22:39 <a href="http://www.blogjava.net/dosy/archive/2006/12/02/85100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MD5 JavaBean</title><link>http://www.blogjava.net/dosy/archive/2006/06/29/55760.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Thu, 29 Jun 2006 07:23:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/06/29/55760.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/55760.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/06/29/55760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/55760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/55760.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1 /************************************************  2 MD5 算法的Java Bean  3 @author:Topcat Tuppin  4 Last Modified:10,Mar,2001  5 *************************************************/  6 import java.lang....&nbsp;&nbsp;<a href='http://www.blogjava.net/dosy/archive/2006/06/29/55760.html'>阅读全文</a><img src ="http://www.blogjava.net/dosy/aggbug/55760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-06-29 15:23 <a href="http://www.blogjava.net/dosy/archive/2006/06/29/55760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP概述</title><link>http://www.blogjava.net/dosy/archive/2006/06/29/55755.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Thu, 29 Jun 2006 07:05:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/06/29/55755.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/55755.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/06/29/55755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/55755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/55755.html</trackback:ping><description><![CDATA[
		<head>
				<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
				<title>无标题文档</title>
				<style type="text/css">
						<!--
#jsptext div {
	background-color: #CCCCCC;
	border: 1px dashed #990000;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-top: 5px;
}
body {
	background-color: #999999;
}
-->
				</style>
		</head>
		<body>
				<div id="jsptext">
						<div id="titlelist">
								<ul>
										<li>
												<a href="#t1">HTML注释</a>
										</li>
										<li>
												<a href="#t2">隐藏注释</a>
										</li>
										<li>
												<a href="#t3">声明</a>
										</li>
										<li>
												<a href="#t4">表达式</a>
										</li>
										<li>
												<a href="#t5">Scriptlet</a>
										</li>
										<li>
												<a href="#t6">Page指令</a>
										</li>
										<li>
												<a href="#t7">Taglib指令</a>
										</li>
										<li>
												<a href="#t8">jspforward</a>
										</li>
										<li>
												<a href="#t9">jspgetProperty</a>
										</li>
										<li>
												<a href="#t10">jspinclude</a>
										</li>
										<li>
												<a href="#t11">jspplugin</a>
										</li>
										<li>
												<a href="#t12">jspuseBean</a>
										</li>
										<li>
												<a href="#t13">jspuseBean</a>
										</li>
										<li>
												<a href="#t14">JSP内置对象</a>
										</li>
								</ul>
						</div>
						<div>
								<p>
										<a name="t1" id="t1">
										</a>1.HTML注释</p>
								<p>在客户端显示一个注释. </p>
								<p>JSP 语法</p>
								<p>&lt;!-- comment [ &lt;%= expression %&gt; ] --&gt; </p>
								<p>例子 1</p>
								<p>&lt;!-- This file displays the user login screen --&gt; </p>
								<p>在客户端的HTML源代码中产生和上面一样的数据： </p>
								<p>&lt;!-- This file displays the user login screen --&gt; </p>
								<p>例子 2</p>
								<p>&lt;!-- This page was loaded on &lt;%= (new   java.util.Date()).toLocaleString() %&gt; --&gt; </p>
								<p>在客户端的HTML源代码中显示为: </p>
								<p>&lt;!-- This page was loaded on January 1, 2000 --&gt; </p>
								<p>描述</p>
								<p>这种注释和HTML中很像，也就是它可以在"查看源代码"中看到。</p>
								<p>唯一有些不同的就是，你可以在这个注释中用表达式（例子2所示)。这个表达示是不定的，由页面不同而不同，你能够使用各种表达式，只要是合法的就行。</p>
						</div>
						<div>
								<p>
										<a name="t2" id="t2">
										</a>2.隐藏注释</p>
								<p>写在JSP程序中，但不是发给客户。 </p>
								<p>JSP 语法</p>
								<p>&lt;%-- comment --%&gt; </p>
								<p>例子：</p>
								<p>&lt;%@ page language="java" %&gt; <br />
		  &lt;html&gt; <br />
		  &lt;head&gt;&lt;title&gt;A Comment Test&lt;/title&gt;&lt;/head&gt; <br />
		  &lt;body&gt; <br />
		  &lt;h2&gt;A Test of Comments&lt;/h2&gt; <br />
		  &lt;%-- This   comment will not be visible in the page source --%&gt; <br />
		  &lt;/body&gt; <br />
		  &lt;/html&gt; </p>
								<p>描述</p>
								<p>用隐藏注释标记的字符会在JSP编译时被忽略掉。这个注释在你希望隐藏或注释你的JSP程序时是很有用的。</p>
								<p>JSP编译器不是会对&lt;%--and--%&gt;之间的语句进行编译的，它不会显示在客户的浏览器中，也不会在源代码中看到在&lt;%--   --%&gt;之间，你可以任意写注释语句，但是不能使用 "--%&gt;",如果你非要使用请用"--%\&gt;".</p>
						</div>
						<div>
								<p>
										<a name="t3" id="t3">
										</a>3.声明</p>
								<p>在JSP程序中声明合法的变量和方法 </p>
								<p>JSP 语法</p>
								<p>&lt;%! declaration; [ declaration; ]+ ... %&gt; </p>
								<p>例子</p>
								<p>&lt;%! int i = 0; %&gt; <br />
		  &lt;%! int a, b, c; %&gt; <br />
		  &lt;%! Circle a = new Circle(2.0); %&gt; </p>
								<p>描述</p>
								<p>声明你将要在JSP程序中用到的变量和方法。你也必须这样做，不然会出错. </p>
								<p>你可以一次性声明多个变量和方法，只要以";"结尾就行，当然这些声明在Java中要是合法的。 </p>
								<p>当你声明方法或变量时，请注意以下的一些规则: </p>
								<p>声明必须以";"结尾(Scriptlet有同样的规则，但是 表达式就不同了). <br />
		  你可以直接使用在&lt;%   @ page %&gt;中被包含进来的已经声明的变量和方法，不需要对它们重新进行声明. </p>
								<p>一个声明仅在一个页面中有效。如果你想每个页面都用到一些声明，最好把它们写成一个单独的文件，然后用&lt;%@   include %&gt;或&lt;jsp:include &gt;元素包含进来。</p>
						</div>
						<div>
								<p>
										<a name="t4" id="t4">
										</a>4.表达式</p>
								<p>包含一个符合JSP语法的表达式 </p>
								<p>JSP 语法</p>
								<p>&lt;%= expression %&gt; </p>
								<p>例子</p>
								<p>&lt;font color="blue"&gt;&lt;%= map.size()   %&gt;&lt;/font&gt; <br />
		  &lt;b&gt;&lt;%= numguess.getHint() %&gt;&lt;/b&gt;. </p>
								<p>描述</p>
								<p>表达式元素表示的是一个在脚本语言中被定义的表达式，在运行后被自动转化为字符串，然后插入到这个表达示在JSP文件的位置显示。因为这个表达式的值已经被转化为字符串，所以你能在一行文本中插入这个表达式（形式和ASP完全一样). </p>
								<p>当你在JSP中使用表达式时请记住以下几点： </p>
								<p>你不能用一个分号（"；"）来作为表达式的结束符.但是同样的表达式用在scriptlet中就需要以分号来结尾了！查看Scriptlet   这个表达式元素能够包括任何在Java Language Specification中有效的表达式. </p>
								<p>有时候表达式也能做为其它JSP元素的属性值.一个表达式能够变得很复杂，它可能由一个或多个表达式组成，这些表达式的顺序是从左到右。</p>
						</div>
						<div>
								<p>
										<a name="t5" id="t5">
										</a>5.Scriptlet</p>
								<p>包含一个有效的程序段. </p>
								<p>JSP 语法</p>
								<p>&lt;% code fragment %&gt; </p>
								<p>例子</p>
								<p>&lt;% <br />
		  String name = null; <br />
		  if   (request.getParameter("name") == null) { <br />
		  %&gt; <br />
		  &lt;%@ include   file="error.html" %&gt; <br />
		  &lt;% <br />
		  } else { <br />
		  foo.setName(request.getParameter("name")); <br />
		  if   (foo.getName().equalsIgnoreCase("integra")) <br />
		  name = "acura"; <br />
		  if   (name.equalsIgnoreCase( "acura" )) { <br />
		  %&gt; </p>
								<p>描述</p>
								<p>一个scriptlet能够包含多个jsp语句，方法，变量，表达式 </p>
								<p>因为scriptlet,我们便能做以下的事: </p>
								<p>声明将要用到的变量或方法（参考 声明). <br />
		  编写JSP表达式（参考 表达式). <br />
		  使用任何隐含的对象和任何用&lt;jsp:useBean&gt;声明过的对象 <br />
		  编写JSP语句   (如果你在使用Java语言，这些语句必须遵从Java Language Specification,). <br />
		  任何文本，HTML标记，JSP元素必须在scriptlet之外 <br />
		  当JSP收到客户的请求时，scriptlet就会被执行，如果scriptlet有显示的内容，这些显示的内容就被存在out对象中。</p>
						</div>
						<div>
								<p>
										<a name="t6" id="t6">
										</a>6.Page指令</p>
								<p>定义JSP文件中的全局属性. </p>
								<p>
										<br />
		  JSP 语法<br />
		  &lt;%@ page <br />
		  [ language="java" ] <br />
		  [   extends="package.class" ] <br />
		  [ import="{package.class | package.*}, ..." ] <br />
		  [ session="true | false" ] <br />
		  [ buffer="none | 8kb | sizekb" ] <br />
		  [   autoFlush="true | false" ] <br />
		  [ isThreadSafe="true | false" ] <br />
		  [ info="text"   ] <br />
		  [ errorPage="relativeURL" ] <br />
		  [ contentType="mimeType [   ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] <br />
		  [   isErrorPage="true | false" ] <br />
		  %&gt; <br />
		  例子<br />
		  &lt;%@ page   import="java.util.*, java.lang.*" %&gt; <br />
		  &lt;%@ page buffer="5kb"   autoFlush="false" %&gt; <br />
		  &lt;%@ page errorPage="error.jsp" %&gt; <br />
		  描述<br />
		  &lt;%@ page %&gt;指令作用于整个JSP页面，同样包括静态的包含文件。但是&lt;% @ page   %&gt;指令不能作用于动态的包含文件，比如 &lt;jsp:include&gt; </p>
								<p>你可以在一个页面中用上多个&lt;% @ page   %&gt;指令，但是其中的属性只能用一次，不过也有个例外，那就是import属性。因为import属性和Java中的import语句差不多(参照Java   Language)，所以你就能多用此属性几次了. </p>
								<p>无论你把&lt;% @ page   %&gt;指令放在JSP的文件的哪个地方，它的作用范围都是整个JSP页面。不过，为了JSP程序的可读性，以及好的编程习惯，最好还是把它放在JSP文件的顶部.</p>
						</div>
						<div>
								<p>
										<a name="t7" id="t7">
										</a>7.Taglib指令</p>
								<p>定义一个标签库以及其自定义标签的前缀. </p>
								<p>JSP 语法</p>
								<p>&lt;%@ taglib uri="URIToTagLibrary" prefix="tagPrefix"   %&gt; </p>
								<p>例子</p>
								<p>&lt;%@ taglib uri="http://www.jspcentral.com/tags"   prefix="public" %&gt; <br />
		  &lt;public:loop&gt; <br />
		  . <br />
		  . <br />
		  &lt;/public:loop&gt; </p>
								<p>描述</p>
								<p>&lt;% @ taglib   %&gt;指令声明此JSP文件使用了自定义的标签，同时引用标签库，也指定了他们的标签的前缀。 </p>
								<p>这里自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的标记，是JSP元素的一部分。JSP元素是JSP语法的一部分，和XML一样有开始标记和结束标记。元素也可以包含其它的文本，标记，元素。比如，一个jsp:plugin元素有&lt;jsp:plugin&gt;开始标记和&lt;/jsp:plugin&gt;结束标记，同样也可以有&lt;jsp:params&gt;和&lt;jsp:fallback&gt;元素. </p>
								<p>你必须在使用自定义标签之前使用&lt;% @ taglib   %&gt;指令，而且你可以在一个页面中多次使用，但是前缀只能使用一次 </p>
								<p>属性</p>
								<p>uri="URIToTagLibrary" <br />
		  Uniform Resource Identifier   (URI)根据标签的前缀对自定义的标签进行唯一的命名，URI可以是以下的内容: </p>
								<p>Uniform Resource Locator (URL), 由 RFC 2396 定义, 查看   http://www.hut.fi/u/jkorpela/rfc/2396/full.html <br />
		  　 
		  <br />
		  Uniform Resource Name   (URN), 由 RFC 2396定义<br />
		  　 
		  <br />
		  一个相对或绝对的路径 <br />
		  prefix="tagPrefix"<br />
		  在自定义标签之前的前缀，比如，在&lt;public:loop&gt;中的public，如果这里不写public，那么这就是不合法的。请不要用jsp,   jspx, java, javax, servlet, sun, 和sunw做为你的前缀</p>
						</div>
						<div>
								<p>
										<a name="t8" id="t8">
										</a>8.jspforward</p>
								<p>重定向一个HTML文件，JSP文件，或者是一个程序段.<br /><br />
		JSP语法 <br /><br />
&lt;jsp:forwardpage={"relativeURL"|"&lt;%=expression%&gt;"}/&gt;<br /><br />
		or<br /><br />
&lt;jsp:forwardpage={"relativeURL"|"&lt;%=expression%&gt;"}&gt;<br /><br />
&lt;jsp:paramname="parameterName"<br /><br />
		
		value="{parameterValue|&lt;%=expression%&gt;}"/&gt;+<br />
&lt;/jsp:forward&gt;<br />
例子&lt;jsp:forwardpage="/servlet/login"/&gt;<br />
&lt;jsp:forwardpage="/servlet/login"&gt;<br />
&lt;jsp:paramname="username"value="jsmith"/&gt;<br />
&lt;/jsp:forward&gt;<br />
描述 <br />
&lt;jsp:forward&gt;标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.&lt;jsp:forward&gt;标签以下的代码，将不能执行.<br />
你能够向目标文件传送参数和值，在这个例子中我们传递的参数名为username,值为scott,如果你使用了&lt;jsp:param&gt;标签的话，目标文件必须是一个动态的文件，能够处理参数.<br />
如果你使用了非缓冲输出的话，那么使用&lt;jsp:forward&gt;时就要小心。如果在你使用&lt;jsp:forward&gt;之前，jsp文件已经有了数据，那么文件执行就会出错.<br />
属性 <br />
page="{relativeURL|&lt;%=expression%&gt;}"<br />
这里是一个表达式或是一个字符串用于说明你将要定向的文件或URL.这个文件可以是JSP,程序段，或者其它能够处理request对象的文件(如asp,cgi,php).<br />
&lt;jsp:paramname="parameterName"value="{parameterValue|&lt;%=expression%&gt;}"/&gt;+<br />
向一个动态文件发送一个或多个参数，这个文件一定是动态文件.<br />
如果你想传递多个参数，你可以在一个JSP文件中使用多个&lt;jsp:param&gt;。name指定参数名，value指定参数值. </p>
						</div>
						<div>
								<p>
										<a name="t9" id="t9">
										</a>9.jspgetProperty</p>
								<p>获取Bean的属性值，用于显示在页面中 </p>
								<p>JSP 语法</p>
								<p>&lt;jsp:getProperty name="beanInstanceName"   property="propertyName" /&gt; <br />
		  例子<br />
		  &lt;jsp:useBean id="calendar" scope="page"   class="employee.Calendar" /&gt; </p>
								<p>&lt;h2&gt; </p>
								<p>Calendar of &lt;jsp:getProperty name="calendar" property="username" /&gt; </p>
								<p>&lt;/h2&gt; <br />
		  描述<br />
		  这个&lt;jsp:getProperty&gt;元素将获得Bean的属性值，并可以将其使用或显示在JSP页面中.在你使用&lt;jsp:getProperty&gt;之前，你必须用&lt;jsp:useBean&gt;创建它. <br />
		  &lt;jsp:getProperty&gt;元素有一些限制: <br />
		  你不能使用&lt;jsp:getProperty&gt;来检索一个已经被索引了的属性 <br />
		  你能够和JavaBeans组件一起使用&lt;jsp:getProperty&gt;,但是不能与Enterprise </p>
								<p>Bean一起使用。 </p>
								<p>属性</p>
								<p>name="beanInstanceName" <br />
		  
		  bean的名字,由&lt;jsp:useBean&gt;指定 </p>
								<p>property="propertyName" <br />
		  所指定的Bean的属性名。 </p>
								<p>技巧:<br />
		  在sun的JSP参考中提到，如果你使用&lt;jsp:getProperty&gt;来检索的值是空值，那么NullPointerException将会出现，同时如果使用程序段或表达式来检索其值，那么在浏览器上出现的是null（空).</p>
						</div>
						<div>
								<p>
										<a name="t10" id="t10">
										</a>10.jspinclude</p>
								<p>包含一个静态或动态文件. <br />
	    JSP   语法<br />
&lt;jsp:include page="{relativeURL | &lt;%= expression%&gt;}"  flush="true" /&gt; </p>
								<p>or </p>
								<p>&lt;jsp:include page="{relativeURL | &lt;%= expression %&gt;}"flush="true"   &gt; </p>
								<p>&lt;jsp:param name="parameterName" </p>
								<p>value="{parameterValue | &lt;%= expression %&gt;}" /&gt;+ </p>
								<p>&lt;/jsp:include&gt; </p>
								<p>Examples</p>
								<p>
										<br />
		  &lt;jsp:include page="scripts/login.jsp" /&gt; </p>
								<p>&lt;jsp:include page="copyright.html" /&gt; </p>
								<p>&lt;jsp:include page="/index.html" /&gt; </p>
								<p>&lt;jsp:include page="scripts/login.jsp"&gt; </p>
								<p>&lt;jsp:param name="username" value="jsmith" /&gt; </p>
								<p>&lt;/jsp:include&gt; </p>
								<p>描述<br />
		  &lt;jsp:include&gt;元素允许你包含动态文件和静态，这两种包含文件的结果是不同的。如果文件仅是静态文件，那么这种包含仅仅是把包含文件的内容加到jsp文件中去，而如果这个文件动态的，那么这个被包含文件也会被Jsp编译器执行(这一切与asp相似) <br />
		  你不能从文件名上判断一个文件是动态的还是静态的，比如aspcn.asp </p>
								<p>就有可能只是包含一些信息而已，而不需要执行。&lt;jsp:include&gt;能够同时处理这两种文件，因此你就不需要包含时还要判断此文件是动态的还是静态的. <br />
		  如果这个包含文件是动态的，那么你还可以用&lt;jsp:param&gt;还传递参数名和参数值。 <br />
		  属性<br />
		  page="{relativeURL | &lt;%= expression %&gt;}" <br />
		  参数为一相对路径，或者是代表相对路径的表达式. </p>
								<p>flush="true" <br />
		  这里你必须使用flush="true",你不能使用false值.缺省值为false </p>
								<p>&lt;jsp:param name="parameterName" value="{parameterValue | &lt;%= expression   %&gt; }" /&gt;+ <br />
		  &lt;jsp:param&gt;子句能让你传递一个或多个参数给动态文件 <br />
		  你能在一个页面中使用多个&lt;jsp:param&gt;来传递多个参数。</p>
						</div>
						<div>
								<p>
										<a name="t11" id="t11">
										</a>11.jspplugin</p>
								<p>执行一个applet或Bean,有可能的话还要下载一个Java插件用于执行它. </p>
								<p>JSP 语法<br />
		  &lt;jsp:plugin </p>
								<p>
										<br />
		  type="bean | applet" </p>
								<p>
										<br />
		  code="classFileName" </p>
								<p>
										<br />
		  codebase="classFileDirectoryName" </p>
								<p>
										<br />
		  [ name="instanceName" ] </p>
								<p>
										<br />
		  [ archive="URIToArchive, ..." ] </p>
								<p>
										<br />
		  [ align="bottom | top | middle | left | right" ] </p>
								<p>
										<br />
		  [ height="displayPixels" ] </p>
								<p>
										<br />
		  [ width="displayPixels" ] </p>
								<p>
										<br />
		  [ hspace="leftRightPixels" ] </p>
								<p>
										<br />
		  [ vspace="topBottomPixels" ] </p>
								<p>
										<br />
		  [ jreversion="JREVersionNumber | 1.1" ] </p>
								<p>
										<br />
		  [ nspluginurl="URLToPlugin" ] </p>
								<p>
										<br />
		  [ iepluginurl="URLToPlugin" ] &gt; </p>
								<p>
										<br />
		  [ &lt;jsp:params&gt; </p>
								<p>
										<br />
		  [ &lt;jsp:param name="parameterName" </p>
								<p>value="{parameterValue | &lt;%= expression %&gt;}" /&gt; ]+ </p>
								<p>
										<br />
		  &lt;/jsp:params&gt; ] </p>
								<p>
										<br />
		  [ &lt;jsp:fallback&gt; text message for user &lt;/jsp:fallback&gt; ] </p>
								<p>
										<br />
		  &lt;/jsp:plugin&gt; </p>
								<p>
										<br />
		  例子</p>
								<p>&lt;jsp:plugin type=applet code="Molecule.class" codebase="/html"&gt; </p>
								<p>&lt;jsp:params&gt; </p>
								<p>&lt;jsp:param name="molecule" value="molecules/benzene.mol" /&gt; </p>
								<p>&lt;/jsp:params&gt; </p>
								<p>&lt;jsp:fallback&gt; </p>
								<p>&lt;p&gt;Unable to load applet&lt;/p&gt; </p>
								<p>&lt;/jsp:fallback&gt; </p>
								<p>&lt;/jsp:plugin&gt; </p>
								<p>
										<br />
		  描述</p>
								<p>&lt;jsp:plugin&gt;元素用于在浏览器中播放或显示一个对象（典型的就是applet和Bean),而这种显示需要在浏览器的java插件。 </p>
								<p>当Jsp文件被编译，送往浏览器时，&lt;jsp:plugin&gt;元素将会根据浏览器的版本替换成&lt;object&gt;或者&lt;embed&gt;元素。注意，&lt;object&gt;用于HTML   4.0 ，&lt;embed&gt;用于HTML 3.2. </p>
								<p>一般来说，&lt;jsp:plugin&gt;元素会指定对象是Applet还是Bean,同样也会指定class的名字，还有位置，另外还会指定将从哪里下载这个Java插件。具体如下: </p>
								<p>
										<br />
		  属性</p>
								<p>
										<br />
		  type="bean | applet" <br />
		  .将被执行的插件对象的类型，你必须得指定这个是Bean还是applet,因为这个属性没有缺省值. </p>
								<p>code="classFileName" <br />
		  将会被Java插件执行的Java   Class的名字，必须以.class结尾。这个文件必须存在于codebase属性指定的目录中. </p>
								<p>codebase="classFileDirectoryName" <br />
		  将会被执行的Java   Class文件的目录（或者是路径)，如果你没有提供此属性，那么使用&lt;jsp:plugin&gt;的jsp文件的目录将会被使用. </p>
								<p>name="instanceName" <br />
		  这个Bean或applet实例的名字，它将会在Jsp其它的地方调用. </p>
								<p>archive="URIToArchive, ..." <br />
		  一些由逗号分开的路径名，这些路径名用于预装一些将要使用的class,这会提高applet的性能. </p>
								<p>align="bottom | top | middle | left | right" <br />
		  图形，对象，Applet的位置,有以下值: </p>
								<p> </p>
								<p>bottom <br />
		  topmiddleleftrightheight="displayPixels" width="displayPixels" <br />
		  Applet或Bean将要显示的长宽的值，此值为数字，单位为象素. </p>
								<p>hspace="leftRightPixels" vspace="topBottomPixels" <br />
		  Applet或Bean显示时在屏幕左右，上下所需留下的空间，单位为象素. </p>
								<p>jreversion="JREVersionNumber | 1.1" </p>
								<p>Applet或Bean运行所需的Java Runtime Environment (JRE) 的版本. </p>
								<p>缺省值是 1.1. </p>
								<p>nspluginurl="URLToPlugin" </p>
								<p>Netscape Navigator用户能够使用的JRE的下载地址，此值为一个标准的URL，如http://www.aspcn.com/jsp </p>
								<p>iepluginurl="URLToPlugin" <br />
		  IE用户能够使用的JRE的下载地址，此值为一个标准的URL，如http://www.aspcn.com/jsp </p>
								<p>
										<br />
		  &lt;jsp:params&gt;[ &lt;jsp:param name="parameterName" <br />
		  value="{parameterValue | &lt;%= expression %&gt;}" /&gt; ]+  &lt;/jsp:params&gt; </p>
								<p>你需要向applet或Bean传送的参数或参数值。 </p>
								<p>&lt;jsp:fallback&gt; text message for user &lt;/jsp:fallback&gt; <br />
		  一段文字用于Java </p>
								<p>插件不能启动时显示给用户的，如果插件能够启动而applet或Bean不能，那么浏览器会有一个出错信息弹出.</p>
						</div>
						<div>
								<p>
										<a name="t12" id="t12">
										</a>12.jspuseBean</p>
								<p>创建一个Bean实例并指定它的名字和作用范围. </p>
								<p>
										<br />
		  JSP 语法<br />
		  &lt;jsp:useBean </p>
								<p>id="beanInstanceName" </p>
								<p>scope="page | request | session | application" </p>
								<p>{ </p>
								<p>class="package.class" | </p>
								<p>type="package.class" | </p>
								<p>class="package.class" type="package.class" | </p>
								<p>beanName="{package.class | &lt;%= expression %&gt;}" type="package.class" </p>
								<p>} </p>
								<p>{ </p>
								<p>/&gt; | </p>
								<p>&gt; other elements &lt;/jsp:useBean&gt; </p>
								<p>} </p>
								<p>例子</p>
								<p>&lt;jsp:useBean id="cart" scope="session" class="session.Carts" /&gt; </p>
								<p>&lt;jsp:setProperty name="cart" property="*" /&gt; </p>
								<p>&lt;jsp:useBean id="checking" scope="session" class="bank.Checking" &gt; </p>
								<p>&lt;jsp:setProperty name="checking" property="balance" value="0.0" /&gt; </p>
								<p>&lt;/jsp:useBean&gt;</p>
						</div>
						<div>
								<p>
										<a name="t13" id="t13">
										</a>13.jspuseBean</p>
								<p>创建一个Bean实例并指定它的名字和作用范围. </p>
								<p>
										<br />
		  JSP 语法</p>
								<p>&lt;jsp:useBean </p>
								<p>id="beanInstanceName" </p>
								<p>scope="page | request | session | application" </p>
								<p>{ </p>
								<p>class="package.class" | </p>
								<p>type="package.class" | </p>
								<p>class="package.class" type="package.class" | </p>
								<p>beanName="{package.class | &lt;%= expression %&gt;}" type="package.class" </p>
								<p>} </p>
								<p>{ </p>
								<p>/&gt; | </p>
								<p>&gt; other elements &lt;/jsp:useBean&gt; </p>
								<p>} </p>
								<p> </p>
								<p>例子</p>
								<p>&lt;jsp:useBean id="cart" scope="session" class="session.Carts" /&gt; </p>
								<p>&lt;jsp:setProperty name="cart" property="*" /&gt; </p>
								<p>
										<br />
		  &lt;jsp:useBean id="checking" scope="session" class="bank.Checking" &gt; </p>
								<p>&lt;jsp:setProperty name="checking" property="balance" value="0.0" /&gt; </p>
								<p>&lt;/jsp:useBean&gt; </p>
								<p>
										<br />
		  描述</p>
								<p>&lt;jsp:useBean&gt;用于定位或示例一个JavaBeans组件。&lt;jsp:useBean&gt;首先会试图定位一个Bean实例，如果这个Bean不存在，那么&lt;jsp:useBean&gt;就会从一个class或模版中进行示例。 </p>
								<p>为了定位或示例一个Bean，&lt;jsp:useBean&gt;会进行以下步聚，顺序如下: </p>
								<p> </p>
								<p>通过给定名字和范围试图定位一个Bean. <br />
		  对这个Bean对象引用变量以你指定的名字命名. <br />
		  如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型，那么这个Bean也设置为相应的类型. <br />
		  如果没有发现这个Bean,将会从你指定的class中示例，并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版，那么这个Bean被java.beans.Beans.instantiate示例. <br />
		  如果&lt;jsp:useBean&gt;已经示例（不是定位）了Bean,同时&lt;jsp:useBean&gt;和&lt;/jsp:useBean&gt;中有元素，那么将会执行其中的代码. </p>
								<p>&lt;jsp:useBean&gt;元素的主体通常包含有&lt;jsp:setProperty&gt;元素，用于设置Bean的属性值。正如上面第五步所说的，&lt;jsp:useBean&gt;的主体仅仅只有在&lt;jsp:useBean&gt;示例Bean时才会被执行，如果这个Bean已经存在，&lt;jsp:useBean&gt;能够定位它，那么主体中的内容将不会起作用 </p>
								<p>
										<br />
		  属性以及用法</p>
								<p>
										<br />
		  id="beanInstanceName" <br />
		  在你所定义的范围中确认Bean的变量，你能在后面的程序中使用此变量名来分辨不同的Bean </p>
								<p>这个变量名对大小写敏感，必须符合你所使用的脚本语言的规定，在Java </p>
								<p>Programming Language中，这个规定在Java Language </p>
								<p>规范已经写明。如果这个Bean已经在别的&lt;jsp:useBean&gt;中创建，那么这个id的值必须与原来的那个id值一致. </p>
								<p>scope="page | request | session | application" <br />
		  Bean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明： </p>
								<p> </p>
								<p>page -   你能在包含&lt;jsp:useBean&gt;元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。 <br />
		  request -   你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问Bean,比如request.getAttribute(beanInstanceName) <br />
		  session -   从创建Bean开始，你就能在任何使用相同session的Jsp文件中使用Bean.这个Bean存在于整个Session生存周期内，任何在分享此Session的Jsp文件都能使用同一Bean.注意在你创建Bean的Jsp文件中&lt;% <br />
		  @ page %&gt;指令中必须指定session=true </p>
								<p> </p>
								<p>application -   从创建Bean开始，你就能在任何使用相同application的Jsp文件中使用Bean.这个Bean存在于整个application生存周期内，任何在分享此application的Jsp文件都能使用同一Bean. <br />
		  class="package.class" <br />
		  使用new关键字以及class构造器从一个class中示例一个bean.这个class不能是抽象的，必须有一个公用的，没有参数的构造器.这个package的名字区别大小写。 </p>
								<p>type="package.class" <br />
		  如果这个Bean已经在指定的范围中存在，那么写这个Bean一个新的数据库类型 </p>
								<p>。如果你没有使用class或beanName指定type，Bean将不会被示例.package和class的名字，区分大小写. </p>
								<p>beanName="{package.class | &lt;%= expression %&gt;}" type="package.class" <br />
		  使用java.beans.Beans.instantiate方法来从一个class或连续模版中示例一个Bean,同时指定Bean的类型。 </p>
								<p>beanName可以是package和class也可以是表达式,它的值会传给Beans.instantiate.tupe的值可以和Bean相同。 </p>
								<p>package 和 class 名字区分大小写.</p>
						</div>
						<div>
								<table align="left" border="0">
										<tbody>
												<tr>
														<td>
														</td>
												</tr>
										</tbody>
								</table>
								<p>
										<a name="t14" id="t14">
										</a>14.JSP内置对象</p>
								<p>内置对象是不需要声明，直接可以在JSP中使用的对象，JSP有以下几种内置对象： <br /><br />
		  request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息，并且提供了几个用于获取cookie,   header, 和session数据的有用的方法。 <br />
		  response   response表示HttpServletResponse对象，并提供了几个用于设置送回 浏览器的响应的方法（如cookies,头信息等） <br />
		  out   out 对象是javax.jsp.JspWriter的一个实例，并提供了几个方法使你能用于向浏览器回送输出结果。 <br />
		  pageContext   pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API，并且包装了通用的servlet相关功能的方法。 <br />
		  session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 <br />
		  application applicaton   表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 <br />
		  config   config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 <br />
		  page   page表示从该页面产生的一个servlet实例。 <br /></p>
								<p>
										<strong>Servlet API中的几个对象</strong>
										<br />
          JSP提供了八个内部对象，而其中的五个内部对象对应于Servlet   API中的七个对象，这也就使得我们正常理解并熟练使用Servlet中的这七个对象显得尤其重要。这五个JSP的内部对象和Servlet   API中的对象的对应关系是：<br />
          request对象对应于：javax.servlet.http.HttpServletRequest和javax.servlet.ServletRequest<br />
          response对象对应于：javax.servlet.http.HttpServletResponse和javax.servlet.ServletResponse<br />
          session对象对应于：javax.servlet.http.HttpSession<br />
          application对象对应于：javax.servlet.ServletContext<br />
          config对象对应于：javax.servlet.ServletConfig<br />
          javax.servlet.http.HttpServletRequest<br />
          这是一个接口，在我们提到接口之前，还是让我们来复习一下Java中接口的一个初步的解释：<br />
          接口在语法上与类相似，但是接口没有实例，使用接口，只是指定类必须做什么而不是如何做。<br />
          HttpServletRequest接口用来处理一个对Servlet的HTTP格式的请求信息。<br /><br />
          javax.servlet.ServletRequest<br />
          这也是一个接口，这个接口定义一个Servlet引擎产生的对象，通过这个对象，Servlet可以获得客户端请求的数据。这个对象通过读取请求体的数据提供包括参数的名称、值和属性以及输入流的所有数据。而javax.servlet.http.HttpServletRequest也只是该接口的一个扩展，也就是说，该接口的所有方法也可以被javax.servlet.http.HttpServletRequest所使用。<br /><br />
          javax.servlet.http.HttpServletResponse接口<br />
          该接口用来描述一个返回到客户端的HTTP回应。<br /><br />
          javax.servlet.ServletResponse接口<br />
          该接口用来定义一个Servlet引擎产生的对象，通过这个对象，Servlet对客户端的请求作出响应。这个响应应该是一个MIME实体，可能是一个HTML页、图象数据或其他MIME的格式。javax.servlet.http.HttpServletResponse接口是该接口的扩展。<br /><br />
          javax.servlet.http.HttpSession接口<br />
          该接口用来描述一个session，至于什么是session我想在这里就没必要说了吧。<br /><br />
          javax.servlet.ServletContext接口<br />
          该接口用来定义了一个Servlet的环境对象。也可是认为这是多个客户端共享的信息，它与session的区别在于应用范围的不同，session只对应于一个用户。<br /><br />
          javax.servlet.ServletConfig接口<br />
          该接口定义了一个对象，通过这个对象，Servlet引擎配置一个Servlet。每一个ServletConfig对象对应着一个唯一的Servlet。<br /><br />
          javax.servlet.http.Cookie类<br />
          这个类描述了一个cookie，cookie的作用其实与session很类似，只是cookie保存在客户端，session保存在服务器端。</p>
						</div>
				</div>
		</body>
<img src ="http://www.blogjava.net/dosy/aggbug/55755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-06-29 15:05 <a href="http://www.blogjava.net/dosy/archive/2006/06/29/55755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web遇到的乱码解决</title><link>http://www.blogjava.net/dosy/archive/2006/06/18/53556.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Sun, 18 Jun 2006 01:22:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/06/18/53556.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/53556.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/06/18/53556.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/53556.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/53556.html</trackback:ping><description><![CDATA[
		<p>经测试没问题</p>
		<p>1&gt;程序使用UTF-8<br />2&gt;编码过虑为UTF-8      //影响post提交<br />3&gt;server.xml加URIEncoding="UTF-8" //影响get提交<br />4&gt;jsp页面用&lt;%@ page pageEncoding="UTF-8"%&gt;<br />5&gt;htm页面用&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;</p>
		<p>注意：get提交不能直接在地址栏输入测试，要在页面里转向.</p>
		<p>用到的配置：<br /></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" />
				<span style="COLOR: #008000">&lt;!--</span>
				<span style="COLOR: #008000">web.xml</span>
				<span style="COLOR: #008000">--&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">filter</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">filter-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">encoding</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">filter-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">filter-class</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">com.util.EncodingFilter</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">filter-class</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">init-param</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">param-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">encoding</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">param-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">param-value</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">UTF-8</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">param-value</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">init-param</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">filter</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">filter-mapping</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">filter-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">encoding</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">filter-name</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">url-pattern</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">/*</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">url-pattern</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">filter-mapping</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">
				<span style="COLOR: #008080"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">EncodingFilter.java</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.IOException;<br /></span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.Filter;<br /></span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.FilterChain;<br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.FilterConfig;<br /></span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.ServletException;<br /></span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.ServletRequest;<br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.ServletResponse;<br /></span>
				<span style="COLOR: #008080">11</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.http.HttpServletRequest;<br /></span>
				<span style="COLOR: #008080">12</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">13</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> EncodingFilter </span>
				<span style="COLOR: #0000ff">implements</span>
				<span style="COLOR: #000000"> Filter<br /></span>
				<span style="COLOR: #008080">14</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_357_1131_Open_Image" onclick="this.style.display='none'; Codehighlighter1_357_1131_Open_Text.style.display='none'; Codehighlighter1_357_1131_Closed_Image.style.display='inline'; Codehighlighter1_357_1131_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_357_1131_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_357_1131_Closed_Text.style.display='none'; Codehighlighter1_357_1131_Open_Image.style.display='inline'; Codehighlighter1_357_1131_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_357_1131_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" />
				</span>
				<span id="Codehighlighter1_357_1131_Open_Text">
						<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" />    </span>
						<span style="COLOR: #0000ff">protected</span>
						<span style="COLOR: #000000"> FilterConfig filterConfig;<br /></span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String targetEncoding </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">UTF-8</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">;<br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">18</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_512_621_Open_Image" onclick="this.style.display='none'; Codehighlighter1_512_621_Open_Text.style.display='none'; Codehighlighter1_512_621_Closed_Image.style.display='inline'; Codehighlighter1_512_621_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_512_621_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_512_621_Closed_Text.style.display='none'; Codehighlighter1_512_621_Open_Image.style.display='inline'; Codehighlighter1_512_621_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> init(FilterConfig config) </span>
						<span style="COLOR: #0000ff">throws</span>
						<span style="COLOR: #000000"> ServletException </span>
						<span id="Codehighlighter1_512_621_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" />
						</span>
						<span id="Codehighlighter1_512_621_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">19</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.filterConfig </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> config;<br /></span>
								<span style="COLOR: #008080">20</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.targetEncoding </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> config.getInitParameter(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">encoding</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">21</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</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" />
								<br />
						</span>
						<span style="COLOR: #008080">23</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> doFilter(ServletRequest srequest, ServletResponse  sresponse, FilterChain chain)<br /></span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_767_971_Open_Image" onclick="this.style.display='none'; Codehighlighter1_767_971_Open_Text.style.display='none'; Codehighlighter1_767_971_Closed_Image.style.display='inline'; Codehighlighter1_767_971_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_767_971_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_767_971_Closed_Text.style.display='none'; Codehighlighter1_767_971_Open_Image.style.display='inline'; Codehighlighter1_767_971_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">throws</span>
						<span style="COLOR: #000000"> IOException, ServletException </span>
						<span id="Codehighlighter1_767_971_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" />
						</span>
						<span id="Codehighlighter1_767_971_Open_Text">
								<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" />        HttpServletRequest request </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> (HttpServletRequest)srequest;<br /></span>
								<span style="COLOR: #008080">26</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">27</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_853_918_Open_Image" onclick="this.style.display='none'; Codehighlighter1_853_918_Open_Text.style.display='none'; Codehighlighter1_853_918_Closed_Image.style.display='inline'; Codehighlighter1_853_918_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_853_918_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_853_918_Closed_Text.style.display='none'; Codehighlighter1_853_918_Open_Image.style.display='inline'; Codehighlighter1_853_918_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(</span>
								<span style="COLOR: #0000ff">true</span>
								<span style="COLOR: #000000">)</span>
								<span id="Codehighlighter1_853_918_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" />
								</span>
								<span id="Codehighlighter1_853_918_Open_Text">
										<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" />         request.setCharacterEncoding(targetEncoding);<br /></span>
										<span style="COLOR: #008080">29</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">31</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        chain.doFilter(srequest,sresponse);  <br /></span>
								<span style="COLOR: #008080">32</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">   <br /></span>
						<span style="COLOR: #008080">33</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">34</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_1038_1075_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1038_1075_Open_Text.style.display='none'; Codehighlighter1_1038_1075_Closed_Image.style.display='inline'; Codehighlighter1_1038_1075_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1038_1075_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1038_1075_Closed_Text.style.display='none'; Codehighlighter1_1038_1075_Open_Image.style.display='inline'; Codehighlighter1_1038_1075_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> setFilterConfig(</span>
						<span style="COLOR: #0000ff">final</span>
						<span style="COLOR: #000000"> FilterConfig filterConfig)</span>
						<span id="Codehighlighter1_1038_1075_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" />
						</span>
						<span id="Codehighlighter1_1038_1075_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">35</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.filterConfig</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">filterConfig;<br /></span>
								<span style="COLOR: #008080">36</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_1100_1129_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1100_1129_Open_Text.style.display='none'; Codehighlighter1_1100_1129_Closed_Image.style.display='inline'; Codehighlighter1_1100_1129_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1100_1129_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1100_1129_Closed_Text.style.display='none'; Codehighlighter1_1100_1129_Open_Image.style.display='inline'; Codehighlighter1_1100_1129_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> destroy()</span>
						<span id="Codehighlighter1_1100_1129_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" />
						</span>
						<span id="Codehighlighter1_1100_1129_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">39</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.filterConfig</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">40</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">41</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">42</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<p>
				<br />
		</p>
<img src ="http://www.blogjava.net/dosy/aggbug/53556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-06-18 09:22 <a href="http://www.blogjava.net/dosy/archive/2006/06/18/53556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从今天开始抄书</title><link>http://www.blogjava.net/dosy/archive/2006/06/17/53440.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Sat, 17 Jun 2006 00:48:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/06/17/53440.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/53440.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/06/17/53440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/53440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/53440.html</trackback:ping><description><![CDATA[
		<p>无所是事，抄书啊</p>
<img src ="http://www.blogjava.net/dosy/aggbug/53440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-06-17 08:48 <a href="http://www.blogjava.net/dosy/archive/2006/06/17/53440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>先随便说一下</title><link>http://www.blogjava.net/dosy/archive/2006/06/12/52251.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Mon, 12 Jun 2006 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/06/12/52251.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/52251.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/06/12/52251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/52251.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/52251.html</trackback:ping><description><![CDATA[很久有发言，随便说一下，以后我会积极很多的，就是这样子.<br />搞了那么久才知道随笔才是主角.<img src ="http://www.blogjava.net/dosy/aggbug/52251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-06-12 17:26 <a href="http://www.blogjava.net/dosy/archive/2006/06/12/52251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts的控制器</title><link>http://www.blogjava.net/dosy/archive/2006/01/20/28827.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Fri, 20 Jan 2006 12:37:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2006/01/20/28827.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/28827.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2006/01/20/28827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/28827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/28827.html</trackback:ping><description><![CDATA[按照理解web里的所有访问都通过控制器来输导，那也是没有问题的，因为最多是建个ForwardAction，没有产生真正的类那倒无所谓，但数据的操作通常都会有四，五个操作，如果也分成许多的类出来，对单个是很清晰，但多了难免搞不清。而且操作对象多的话，那就成倍增长。<BR>&nbsp;&nbsp;&nbsp;本来以前是想着将有相似的操作合并到一个控制器里，比如，增加，修改操作，显示，删除。那样起码减少到一半的类。这两天看到两个例子，都是将对一个对象的所有操作都封到一个类里边。感觉那样很简洁，数据库操作都是调用操作，那样就算所有操作集合到一个类也不会感觉到有多长。<BR>我对两种方法说明一下：<BR>第一种：是在每个action配置里增加parameter，在那里做判断是什么操作。在action里获得parameter时行判断，进行相应操作，这里用的是传execute里的所有参数进行处理。<BR>第二种：在每个表单里增加action属性，到时再判断，action里采用if-else判断。<BR>第一种方法配置的action还是跟以前一样多，第二种比较简洁。以后可以试着采用这种方式，以减少配置与类。其实隐隐约约还是感觉到有些不明了，还是测试过再下定论吧。<BR><BR>另补：<BR>hibernate的saveOrUpdate可以处理添加得更新两种操作，虽然很好用。<BR>今天使用出错了，用了BeanUtils，PropertyUtils复制属性，后来发现应该注意以下<BR>BeanUtils是复制属性返回为字符串的，PropertyUtils复制返回为对象。（也不知对不对）<BR>因为更新得添加都用了同一form，所以有id,这时如果id类型为int ,而又用了saveOrUpdate,结果就出错。<BR>用回Integer就不会有这回事，<BR>用了PropertyUtils，saveOrUpdate就要考虑form里不能出现原始类型数据，因为那些不能算对象。<BR>最好是用BeanUtils，别用saveOrUpdate,除非有特殊需要，就少了那些限制。<BR>－－说得没什么条理性，慢慢来^_^<BR><BR><BR><BR><img src ="http://www.blogjava.net/dosy/aggbug/28827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2006-01-20 20:37 <a href="http://www.blogjava.net/dosy/archive/2006/01/20/28827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>google的Gmail</title><link>http://www.blogjava.net/dosy/archive/2005/12/28/25784.html</link><dc:creator>你是目标</dc:creator><author>你是目标</author><pubDate>Wed, 28 Dec 2005 13:23:00 GMT</pubDate><guid>http://www.blogjava.net/dosy/archive/2005/12/28/25784.html</guid><wfw:comment>http://www.blogjava.net/dosy/comments/25784.html</wfw:comment><comments>http://www.blogjava.net/dosy/archive/2005/12/28/25784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dosy/comments/commentRss/25784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dosy/services/trackbacks/25784.html</trackback:ping><description><![CDATA[今天发第一个BLOGS，看到这大家写的东西都比较有深度，这里还是很好的。呵呵，不说这些先！<br>下午试用了google的gmail，用起来很方便，用起来舒服的方面有几个：<br><ul><li>&gt;写信与回复统一为一个标题，方便查看以前说的内容。</li><li>&gt;订阅感兴趣的信息，其中信息以分几类，如新闻、网页、论坛。</li><li>&gt;邮件查收功能，通过Gmail-helper，可不登陆邮箱的情况下查看是否有新邮件，及显示新邮件摘要。还可通过其登陆邮箱。感觉最实用就是这个了。</li></ul><br>这里给出一个快没邀请的<a aiotarget="false" aiotitle="申请地址" href="http://www.bytetest.com/index.php/language/chinese/">申请地址</a>　<a aiotarget="false" aiotitle="下载客户端" href="http://toolbar.google.com/gmail-helper/">下载客户端</a><br><img src ="http://www.blogjava.net/dosy/aggbug/25784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dosy/" target="_blank">你是目标</a> 2005-12-28 21:23 <a href="http://www.blogjava.net/dosy/archive/2005/12/28/25784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>