十三、如何在Web应用启动时装载静态文本
1、创建继承了HttpServlet类的子类,在web.xml中配置这Servlet时设置load-on-startup属性:
someclass
somepackage.SomeClass1
2、在这个Servlet的init()方法中创建java.util.Properties类
3、获取当前Web应用的ServletContext对象
4、将WEB-INF目录下的属性文件读入到输入流InputStream中:
InputStream in =
context.getResourceAsString("WEB-INF/someproperties.properties");
|
5、将输入流加载到属性对象中
ps.load(in);
6、将属性对象保存到上
context.setAttribute("attributeName",ps);
|
十四、如何创建标签处理类
1、引入必需的资源
import javax.servlet.jsp.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
|
2、继承TagSupport类并覆盖doStartTag()/doEndTag()方法
3、从ServletContext对象中获取java.util.Properties对象
4、从Properties对象中获取key对应的属性值
5、对获取的属性进行相应的处理并输出结果
十五、创建标签库描述文件(Tag Library Descriptor)
1、标签库描述文件,简称TLD,采用XML文件格式,定义了用户的标签库。TLD文件中的元素可以分成3类:
A.标签库元素
B.标签元素
C.标签属性元素
2、标签库元素用来设定标签库的相关信息,它的常用属性有:
A.shortname:指定Tag Library默认的前缀名(prefix);
B.uri:设定Tag Library的惟一访问表示符。
3、标签元素用来定义一个标签,它的常见属性有:
A.name:设定Tag的名字;
B.tagclass:设定Tag的处理类;
C.bodycontent:设定标签的主体(body)内容。
1)empty:表示标签中没有body;
2)JSP:表示标签的body中可以加入JSP程序代码;
3)tagdependent:表示标签中的内容由标签自己去处理。
4、标签属性元素用来定义标签的属性,它的常见属性有:
A.name:属性名称;
B.required:属性是否必需的,默认为false;
C.rtexprvalue:属性值是否可以为request-time表达式,也就是类似于< %=…% >的表达式。
十六、在Web应用中使用标签
1、如果Web应用中用到了自定义JSP标签,则必须在web.xml文件中加入元素,它用于声明所引用的标签所在的标签库
/sometaglib
/WEB-INF/someTLD.tld
2、设定Tag Library的惟一标示符,在Web应用中将根据它来引用Tag Libray;
3、指定和Tag Library对应的TLD文件的位置;
4、在JSP文件中需要加入<% @ taglib% >指令来声明对标签库的引用。例如:
<% @ taglib prefix = “somePrefix” uri =
"/someuri" %>
|
5、prefix表示在JSP网页中引用这个标签库的标签时的前缀,uri用来指定Tag Library的标识符,它必须和web.xml中的属性保持一致。