JAVA网站制作之JAVA/JSP进修系列之七(Orion下自界说Ta...
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的js1、媒介(本文译自Orion官方站点)本文将一步一步先容在OrionApplicationServer下界说本人的标签,然后,完成该标签的功效,最初用一个jsp例子测试。
2、创建标签,完成该标签的功效。
1.定名package为:com.acme.mytags(为了和原文不异,我不做修改)
packagecom.acme.mytags;
2.import相干class
importjavax.servlet.jsp.*;
importjavax.servlet.jsp.tagext.*;
3.完成javax.servlet.jsp.tagext.Tag接口:
publicclassHelloWorldimplementsTag
{
4.界说部分变量
privatePageContextpageContext;
privateTagparent;
5.挪用标签入手下手的完成办法
publicintdoStartTag()throwsjavax.servlet.jsp.JspException
{
returnSKIP_BODY;
}
注重:这个办法前往SKIP_BODY,就是标签的body为空的时分,将前往这个值,不然将前往:EVAL_BODY_INCLUDE
6.挪用标签停止的完成办法
publicintdoEndTag()throwsjavax.servlet.jsp.JspException
{
try
{
pageContext.getOut().write("HelloWorld!");
}
catch(java.io.IOExceptione)
{
thrownewJspException("IOError:"+e.getMessage());
}
returnEVAL_PAGE;
}
如许将在jsp文件的自界说标签停止中央输入“HelloWorld!”
7.还不敷,我们还要写上面的办法:
publicvoidrelease(){}
关于本复杂的例子,下面的办法不必要任何完成。
8.JSP的容器要挪用上面的办法:
publicvoidsetPageContext(finaljavax.servlet.jsp.PageContextpageContext){
this.pageContext=pageContext;
}
JSP容器经由过程下面的办法挪用标签,并且下面的办法用来设置标签的PageContext.
9.JSP的容器还要挪用上面的办法:
publicvoidsetParent(finaljavax.servlet.jsp.tagext.Tagparent)
{
this.parent=parent;
}
JSP容器经由过程下面的办法设置标签的parent-Tag,由于每一个标签的PageContext都要保存它的parent标签。
10.最初,完成办法:
publicjavax.servlet.jsp.tagext.TaggetParent()
{
returnparent;
}
}
11.编译标签。
3、描叙标签
如今将要写一个描序文件,描叙该标签。
1.创建一个taglib.tld文件,
2.taglib.tld是一个XML格局的文本文件,XML的头以下:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
3.描叙标签库
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>mt</shortname><uri>http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar</uri>
<info>MyfirstTaglibrary</info>
4.描叙标签
<tag>
<name>helloWorld</name>
<tagclass>com.acme.mytags.HelloWorld</tagclass>
<bodycontent>empty</bodycontent>
<info>AHelloworldTag</info>
</tag>
5.停止
</taglib>
4、打包
称号为:mytags.jar
其目次布局为:
com/acme/mytags/HelloWorld.class
META-INF/taglib.tld
5、在jsp文件中利用自界说标签
创建hello.jsp以下:
<%@tagliburi="mytags.jar"prefix="mt"%>
<HTML>
<HEAD>
<TITLE>HelloWorld!</TITLE>
</HEAD><BODYBGCOLOR="#FFFFFF">
<HR>
<mt:helloWorld/>
<HR>
</BODY>
</HTML>
6、测试运转
在orion目次下,创建以下布局,个中,tag是本人创建的,后面的目次是原本就有的。
E:oriondefault-web-app ag
将jar文件和jsp文件全体放到这个目次下。
然后,会见:
http://localhost:/tag/hello.jsp
将呈现:
------------------------------------------------------------------
HelloWorld!
------------------------------------------------------------------
7、祝贺,你已乐成了!
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
页:
[1]