﻿<?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-Restarting in Java</title><link>http://www.blogjava.net/yangfan/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:01:01 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:01:01 GMT</pubDate><ttl>60</ttl><item><title>编写 "纯HTML" jsp应用--学会使用 JSTL</title><link>http://www.blogjava.net/yangfan/archive/2005/02/25/1511.html</link><dc:creator>Yang Fan</dc:creator><author>Yang Fan</author><pubDate>Fri, 25 Feb 2005 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/yangfan/archive/2005/02/25/1511.html</guid><wfw:comment>http://www.blogjava.net/yangfan/comments/1511.html</wfw:comment><comments>http://www.blogjava.net/yangfan/archive/2005/02/25/1511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yangfan/comments/commentRss/1511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yangfan/services/trackbacks/1511.html</trackback:ping><description><![CDATA[<table style="width: 573px; height: 2493px;" border="0">
<tbody><tr><td colspan="3" align="center"><h2>[学习笔记]**编写 "纯HTML" jsp应用--学会使用 JSTL**</h2></td></tr>
		<tr>
			<td width="30%"><br>
</td>
			<td align="center" width="30%">作者：Juniper_c</td>
			<td align="right"><br>
</td>
		</tr>
		<tr><td colspan="3" height="15">&nbsp;</td></tr>
		<tr><td colspan="3" align="left">刚开始用JSP做web应用的时候，象使用PHP，ASP一样用JSP，在HTML代码中夹杂着一大堆的&nbsp;scriptlet---即java&nbsp;代码段。由于本人的“排版”技术还算可以，开始的时候觉得挺好，编写“效率”高，调试又方便！<br><br>到
了后来才知道---这是一种极其愚蠢的做法儿----JSP诞生的时候就已经明确与ASP，PHP划清了界限，使用javaBean、Servlet可以
有效的将HTML中夹杂的java&nbsp;代码段剥离，然后包装成一个可在多个页面复用的“逻辑处理组件”---这是JSP相对于PHP，ASP的优越之处之
一。<br><br>但
有时即使使用javabean&nbsp;+&nbsp;servlet，我们也不得不将“极少量”的&nbsp;java代码&nbsp;嵌入到
HTML中----的确，有时你必须这样：因为在&nbsp;javabean中，你无法使用JSP中的隐含对象，比如&nbsp;request,
session,response等.<br><br>使用Servlet虽然可以使用JSP的对象，但却不能象javaBean灵活地插入到&nbsp;html&nbsp;中--<br>所以，Tag(标签)&nbsp;就出现了（可以使用所有的JSP隐含对象），它的出现彻底解决了这个问题，可以让你编写出“纯HTML”的JSP页码---由此带来的好处自然不言而喻：更高的可维护性、更高的组件复用效率、更易维护的HTML页面````<br><br>小弟不才，刚刚开始学JSTL，觉得这个东东真的很不错！很想让更多的&nbsp;初学者&nbsp;知道这个，并能应用到实际的web开发中。<br>下面，就开始编写我们的第一个&nbsp;Tag！<br><br>**下面是使用了简单Tag的JSP文件，运行结果是显示当前时间：<br><br>&lt;%@&nbsp;page&nbsp;contentType="text/html;charset=gb2312"&nbsp;%&gt;<br>&lt;html&gt;&lt;body&gt;<br>&lt;%@taglib&nbsp;uri="/tags"&nbsp;prefix="visa"%&gt;<br>现在时间是：&lt;visa:date/&gt;<br>&lt;/body&gt;&lt;/html&gt;<br><br>很明显，使用了tag的JSP页清爽了许多---如果将数据库操作等一些复杂功能也封装进去的话，tag的优势就更明显了！<br><br>**环境：win2000&nbsp;server&nbsp;+&nbsp;Tomcat5.019&nbsp;+&nbsp;j2sdk1.42&nbsp;+&nbsp;SQLServer&nbsp;2k<br>**开发一个Tag，需要编写2个主要文件：<br>1-标签处理器（一个类servlet的java类）<br>2-标签描述符（一个XML风格的tld文件）<br>完成这两个文件，就可以在WEB应用中部署、应用了。<br><br>好了，下面我们就开始做吧！<br><br>1-编写tag处理器：datetag.java<br><br>它的作用就象一个Servlet，接受来自客户端的请求，但它却可以象javaBean一样在JSP中方便调用。<br>package&nbsp;tag;<br><br>import&nbsp;java.util.Date;<br>import&nbsp;javax.servlet.jsp.*;<br>import&nbsp;javax.servlet.jsp.tagext.*;<br><br>public&nbsp;class&nbsp;datetag&nbsp;extends&nbsp;TagSupport{<br><br>&nbsp;public&nbsp;int&nbsp;doStartTag()&nbsp;throws&nbsp;JspException{<br>&nbsp;&nbsp;Date&nbsp;dte=new&nbsp;Date();<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;JspWriter&nbsp;out=pageContext.getOut();<br>&nbsp;&nbsp;out.print(dte);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;catch(java.io.IOException&nbsp;e)<br>&nbsp;&nbsp;&nbsp;{throw&nbsp;new&nbsp;JspTagException(e.getMessage());}<br>&nbsp;return&nbsp;SKIP_BODY;<br>}<br>}<br>用&nbsp;javac编译之后，就得到了&nbsp;datetag.class文件了，将其放在&nbsp;xxx\WEB-INF\classes\tag&nbsp;目录下。<br><br>2-编写tag库描述符：tags.tld<br>比较容易看出，&lt;tag&gt;&lt;/tag&gt;部分有点象servlet&nbsp;mapping的配置--这里配置的是tag的名字与tag类之间的映射。<br><br>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="ISO-8859-1"?&gt;<br>&lt;taglib&gt;<br>&lt;tlib-version&gt;1.0&lt;/tlib-version&gt;<br>&lt;jsp-version&gt;1.2&lt;/jsp-version&gt;<br><br>&lt;tag&gt;<br>&nbsp;&lt;name&gt;date&lt;/name&gt;<br>&nbsp;&lt;tag-class&gt;tag.datetag&lt;/tag-class&gt;<br>&nbsp;&lt;body-content&gt;empty&lt;/body-content&gt;<br>&lt;/tag&gt;<br>&lt;/taglib&gt;<br>将tags.tld保存在xxx\WEB-INF\&nbsp;目录下。<br><br>3-配置你的web.xml：<br>配置web.xml，注册你的标签库：在web.xml的&nbsp;&lt;web-app&gt;与&lt;/web-app&gt;之间添加：<br>在这里注册你的自定义标签符，在JSP中的引用名为：/tags<br>&lt;taglib&gt;<br><br>&lt;taglib-uri&gt;/tags&lt;/taglib-uri&gt;<br>&lt;taglib-location&gt;/WEB-INF/tags.tld&lt;/taglib-location&gt;<br><br>&lt;/taglib&gt;<br><br>4-开始在JSP中使用！<br>因为已经在web.xml中注册过，通过&nbsp;/tags&nbsp;引用你的标签库；<br>prefix的作用就象&lt;jsp:useBean/&gt;中的&nbsp;id，只是作为一个标志（可任意定义）<br>&lt;visa:date/&gt;&nbsp;很明显，通过调用date，就等于调用了&nbsp;datetag.class&nbsp;：<br><br>&lt;%@&nbsp;page&nbsp;contentType="text/html;charset=gb2312"&nbsp;%&gt;<br>&lt;html&gt;&lt;body&gt;<br>&lt;%@taglib&nbsp;uri="/tags"&nbsp;prefix="visa"%&gt;<br>现在时间是：&lt;visa:date/&gt;<br>&lt;/body&gt;&lt;/html&gt;<br><br><br>**相信到了这里，有人就有了疑问了：为了使用一个Tag，我就做了这么多的“多余”工作（编写tld，修改web.xml，还要重启tomcat），值得吗？！<br><br>---答案是：这是很值得的！<br>1、如果将比较复杂的逻辑功能封装进Tag，它就具有比Servlet,javaBean更高的灵活性，更多的优点，更易扩展，更易维护---彻底分离表示层与逻辑层！<br><br>2、因为Tag的功能并非只是这一些，还有更多高级功能---值得去学习！<br><br>****<br>这只是一个很简单的应用，当然，你会有很多的“迷惑点”，这是正常的---在TAG中有一些独有的特性，想完全学会TAG并不是件简单的事情。<br>--所以，在这里，我向大家推荐一本好书：电子工业出版社的《jsp标志库编程指南》（英文名：《Professional&nbsp;JSP&nbsp;Tag&nbsp;Libraries》）<br><br><br>PS：
使用JSTL配合javabean,servlet还可以有效保护你的源码哦&nbsp;----&nbsp;因为，你可以向你的客户交付不含有java
源代码的web应用，因为，所有的&nbsp;java代码&nbsp;都已经被编译成&nbsp;*.class了&nbsp;&nbsp;
&nbsp;*^_^*<br><br>[注
意]：针对&nbsp;Tomcat&nbsp;5.0x以下的版本----如：Tomcat&nbsp;4.0x：要编译标签处理器，必须将你的&nbsp;servlet.jar(在%
TOMCAT_HOME%\common\lib下面)&nbsp;放进环境变量&nbsp;CLASSPATH&nbsp;中---(如果是&nbsp;tomcat5.0x&nbsp;以上的版本，好象
没这个要求)---否则，会提示编译错误。<br></td></tr>
		<tr><td colspan="3" height="15">&nbsp;</td></tr>
		<tr><td colspan="3" align="right">整理发布：Umbrella</td></tr>
		<tr><td colspan="3" align="right">摘自：CnJSP论坛</td></tr>
		<tr><td colspan="3" align="right">相关链接：<a href="http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=3&amp;rootID=37656&amp;announceID=37656" target="_blank">http://www.cnjsp.org/cnjbb/showthread.jsp?forumID</a><br>
      <a href="http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=3&amp;rootID=37656&amp;announceID=37656" target="_blank">=3&amp;rootID=37656&amp;announceID=37656</a></td></tr></tbody>
</table>
<img src ="http://www.blogjava.net/yangfan/aggbug/1511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yangfan/" target="_blank">Yang Fan</a> 2005-02-25 18:28 <a href="http://www.blogjava.net/yangfan/archive/2005/02/25/1511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何成为一个成功的Jsp程序员</title><link>http://www.blogjava.net/yangfan/archive/2005/02/25/1507.html</link><dc:creator>Yang Fan</dc:creator><author>Yang Fan</author><pubDate>Fri, 25 Feb 2005 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/yangfan/archive/2005/02/25/1507.html</guid><wfw:comment>http://www.blogjava.net/yangfan/comments/1507.html</wfw:comment><comments>http://www.blogjava.net/yangfan/archive/2005/02/25/1507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yangfan/comments/commentRss/1507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yangfan/services/trackbacks/1507.html</trackback:ping><description><![CDATA[<table style="width: 571px; height: 1667px;" border="0">
<tbody><tr><td colspan="2" align="center">
      <h2>如何成为一个成功的Jsp程序员？</h2>
</td></tr>
		<tr>
			<td width="30%">作者：转贴
</td>
			<td align="center" width="30%"><br>
</td>
			
		</tr>
		<tr><td colspan="2" height="15">&nbsp;</td></tr>
		<tr><td colspan="2" align="left">一
个普通的错误是把JSP当作简化的&nbsp;Java。它不是，（事实上,&nbsp;JSP&nbsp;是简化的&nbsp;servlets&nbsp;。）程序员通常试着没有学习要求的支持技巧而&nbsp;
直接学习&nbsp;JSP&nbsp;。<br>
JSP&nbsp;是一个衔接技术，并且成功地连接你需要理解的另外的技术。如果你已经<br>
知道&nbsp;Java，HTML&nbsp;和&nbsp;Javascript，
这意味着&nbsp;JSP&nbsp;将确实是简单的。&nbsp;<br><br>需要成为一个成功的&nbsp;JSP&nbsp;程序员可以参考这个时间表。请注意下列：&nbsp;<br><br>*忽略你已经熟悉的步骤。&nbsp;<br>*训练的时间只是代表学习好足够的基础时间，这样才能转移到下一步。&nbsp;<br><br>１、建立并且理解你的Web&nbsp;Server。&nbsp;<br>因为Apache&nbsp;是免费的并且在大多数平台上工作，为训练目的推荐&nbsp;Apache。&nbsp;<br>安装时间：2&nbsp;天。&nbsp;<br><br><br>２、保证你理解&nbsp;HTML&nbsp;/&nbsp;XHTML&nbsp;。&nbsp;<br>你
将需要了解html基础,&nbsp;特别是&nbsp;HTML&nbsp;布局中的table的使用。XHTML&nbsp;不久将<br>
代替&nbsp;HTML&nbsp;，学习&nbsp;XHTML&nbsp;的基础是一个好主意。
许多程序员通过&nbsp;HTML&nbsp;IDE <br>
学习&nbsp;HTML&nbsp;(&nbsp;集成开发环境&nbsp;)&nbsp;。因为大多数&nbsp;HTML&nbsp;IDE产生混乱的HTMl语法，<br>
所以花时间学习手工
写作html是很有必要的。因&nbsp;为你将会使用&nbsp;JSP&nbsp;和&nbsp;HTML<br>
&nbsp;混合编程，精通HTML语法是重要的。所以，你必须能流利地写&nbsp;HTML&nbsp;。&nbsp;<br>训练时间：2&nbsp;～&nbsp;4&nbsp;个星期。&nbsp;<br><br><br>３、开始学习&nbsp;Java&nbsp;。&nbsp;<br>开
始学习&nbsp;Java&nbsp;1.4&nbsp;理解&nbsp;Java&nbsp;基础是很重要的。不用担心学习Swing或&nbsp;Java<br>
&nbsp;的图形方面，因为在JSP&nbsp;中你不会使用这些特征。集
中精力&nbsp;在&nbsp;Java&nbsp;工作的<br>
细节，学习&nbsp;Java&nbsp;的逻辑，也在&nbsp;Java&nbsp;Bean上花时间。学习Applet是好的,&nbsp;但<br>
是就象Swing，
&nbsp;JSP&nbsp;的大多数应用将不使用小程&nbsp;序。&nbsp;<br>训练时间：3&nbsp;～&nbsp;6&nbsp;个星期。&nbsp;<br><br><br>３、学习&nbsp;JavaScript&nbsp;<br>学习怎么将&nbsp;JavaScript在HTML中验证输入的Form元素。也学习&nbsp;JavaScript怎<br>
么能在一&nbsp;HTML&nbsp;页以内修改Form的元素。最后要求你能从一&nbsp;<br>HTML&nbsp;页内的事件中触发&nbsp;JavaScript&nbsp;Function。&nbsp;<br>训练时间：一～&nbsp;2&nbsp;个星期。&nbsp;<br><br><br>４、学习并且理解你的Web&nbsp;Server的更好的细节。&nbsp;<br>熟悉Web&nbsp;Server的特征，这是很重要的。&nbsp;<br>训练时间：2&nbsp;天。&nbsp;<br><br><br>５、建立你的&nbsp;JSP&nbsp;Server&nbsp;<br>我
推荐以Tomcat开始。它可以很好地运行JSP程序。当你不能在生产使用Tomcat<br>
时，学习尽可能多的知识以便于更好的运行程序。另外,&nbsp;
许多&nbsp;JSP&nbsp;程序员使用<br>
Tomcat。因此当你遇到一个问题时，你将容易发现帮助。&nbsp;<br>安装时间：一～&nbsp;2&nbsp;天。&nbsp;<br><br><br>６、开始学习&nbsp;JSP&nbsp;。&nbsp;<br>基
本的&nbsp;JSP&nbsp;学习通过的步骤&nbsp;1到步骤6可以完成,&nbsp;然后使用&nbsp;JSP&nbsp;对象和脚本写&nbsp;
      <br>
JSP&nbsp;程序来联系。学习&nbsp;JSP&nbsp;的另外一个方面可以学习怎么创建一个分布式的应用<br>
程序。&nbsp;<br>训练时间：4&nbsp;～&nbsp;6&nbsp;个星期。&nbsp;<br><br><br>７、学习更多的&nbsp;JSP&nbsp;server。&nbsp;<br>没有关于更多的&nbsp;JSP&nbsp;Server当然也可以运行jsp程序。然而,&nbsp;许多&nbsp;JSP&nbsp;server都<br>
由自己特殊的特征，可以让你更好的理解你的JSP&nbsp;工程。&nbsp;<br>学习更多的Jsp&nbsp;server如何处理jsp程序是有必要的。同样也可以优化你的&nbsp;JSP <br>
应用程序，并且使之运行得更快而不出任何问题。&nbsp;<br>训练时间：2&nbsp;～&nbsp;7&nbsp;天。&nbsp;<br><br><br>８、&nbsp;学习&nbsp;JDBC&nbsp;。&nbsp;<br>JSP&nbsp;
大多数应用将使用数据库，JDBC&nbsp;被用于数据库连接。经常忽略的一个事实就<br>
是，每个&nbsp;JDBC&nbsp;Driver&nbsp;所支持的东西是相当不同的。了&nbsp;解并熟悉
在jsp工程上被使<br>
用的&nbsp;JDBC&nbsp;driver的细节是很重要的。（有时这部分的学习被包含在前面&nbsp;Java&nbsp;或<br>
JSP的学习中了&nbsp;。）&nbsp;<br>训练时间：1～&nbsp;2&nbsp;个星期。&nbsp;<br><br>到
现在，你已经成为了熟练的&nbsp;JSP&nbsp;程序员。仍然有很多需要学习，你可以考虑扩展<br>
你的知识比如&nbsp;DHTML&nbsp;，
&nbsp;XML&nbsp;，java证书，&nbsp;JSP&nbsp;Tag&nbsp;Libraries&nbsp;或&nbsp;
Servlets&nbsp;, <br>
看你想要造什么类型的网站而决定了。&nbsp;<br><br>这
些训练是JSP&nbsp;的核心。你不必都学习上面所有的,&nbsp;取决于你在工程中分配到什么任<br>
务和你已经有什么知识。但是这是我成功地训练程序员&nbsp;的时间表。关键的
单元是时间。<br>
平均的说,&nbsp;5&nbsp;个月时间确实能够训练一个人&nbsp;(&nbsp;从开始到完成&nbsp;)&nbsp;成为一个对jsp熟悉程序员。5&nbsp;个月时间似乎很长，但要成为一个资深
的WEB程序员所学的东西远远不止这一些。&nbsp;<br><br>也许你认为这样学习一种语言花费的时间太长了，因为学&nbsp;ASP&nbsp;会更快、时间会更短。<br>
&nbsp;但是学习&nbsp;ASP&nbsp;不需要学习java的。<br>
      <br>
相关链接：<a href="http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=3&amp;rootID=5749&amp;announceID=5749" target="_blank">http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=</a><br>
      <a href="http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=3&amp;rootID=5749&amp;announceID=5749" target="_blank">3&amp;rootID=5749&amp;announceID=5749</a><br>
</td></tr></tbody>
</table><img src ="http://www.blogjava.net/yangfan/aggbug/1507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yangfan/" target="_blank">Yang Fan</a> 2005-02-25 17:36 <a href="http://www.blogjava.net/yangfan/archive/2005/02/25/1507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>