5.getResourceAsStream(String path):以输入流的形式返回path对应的资源,在输入留中对象可以为任意形式的数据,path参数必须以"/"开始且相对于Context Root
3 W3 N& E3 B' A S5 Q: D
( z: l+ y @* | 十二、如何使用ServletContxt读取并保存属性文件:! j6 H- ]1 `" b: f' q0 P
* h. {- @; ^6 H, `
1.创建java.util.Properties类对象- v, ^6 G0 L/ @& ~# ?! k
' H5 u5 M1 I5 Z; H* x8 I8 Z 2.获取ServletContext对象# c2 G0 t: y7 ~3 n) b% P9 V. i/ p
! h5 N0 Z0 ^+ Y0 C; ^4 R- t 3.将属性文件以输入流的形式读入到某个输入流对象中- r+ I% K3 K- g, e" h% l
/ W: I4 A7 v6 |( _) X* _0 [9 o
4.将输入流对象加载到Properties对象中3 i8 P+ a- e6 I
" \7 |9 \2 c/ Z 5.将Properties对象保存到ServletContext对象中
' r2 g. K2 s j
, b0 X8 m0 E0 L- ^. U! K9 g 十三、如何在Web应用启动时装载静态文本:& X2 F# C1 e1 A- X4 a
. i; \# B9 V+ u0 p+ V
1.创建继承了HttpServlet类的子类,在web.xml中配置这Servlet时设置load-on-startup属性:5 n5 }* h6 ?% i
# B4 r. j$ n( l" Q8 o ◆someclass! k+ y* q5 R7 e# J% z
4 `3 H5 `; }' W/ z! e/ u
◆somepackage.SomeClass1
1 ]) e( O$ O1 \0 e. @" Y 4 ^- d2 q3 L% B+ o* a& ^& |5 |& m
2.在这个Servlet的init()方法中创建java.util.Properties类
- k2 O$ _1 A; z# g
& }" A) B m0 s& L 3.获取当前Web应用的ServletContext对象
( J& l; J3 W; K; \4 a$ U( Y2 z
8 K k' [6 ?3 O: e( M 4.将WEB-INF目录下的属性文件读入到输入流InputStream中:
% ^# M/ d. v3 j0 e, z6 @
4 N: M: {( y/ M! J5 K. x InputStream in = context.getResourceAsString("WEB-INF/someproperties.properties");3 @' h/ H3 v0 Z. X3 V* G4 `
. ^2 s4 E& a4 G8 V6 s 5.将输入流加载到属性对象中 c1 p+ e1 ]3 _3 f: K( ?3 b# t
8 q: \7 u, P9 s# v$ f3 K ps.load(in);% y) N; y7 @% S( N
2 A$ P6 W' f) m) v 6.将属性对象保存到上
" d, N6 p4 ^* A3 J* y
$ V8 @& e9 a3 ?/ r I' Y8 G% r, y context.setAttribute("attributeName",ps);( v- L! w# @" B- {2 e2 p" J% \
3 F7 h, p1 T) f1 b
十四、如何创建标签处理类:
. U, h& j8 V+ r- i
# I% o; Z0 \! I) i3 Q$ r9 q0 G 1.引入必需的资源:
7 _+ |: K" Q3 |7 t' d# m% Z( n/ A
! a, z/ G: s9 V- E import javax.servlet.jsp.* import javax.servlet.http.* import java.util.* import java.io.*
: @) @0 U k' t+ j$ _
# ]0 ~( t% w. T- ?% p( H6 z 2, f6 F5 j' e- a+ j
& [+ a- c7 q! o .继承TagSupport类并覆盖doStartTag()/doEndTag()方法5 |6 x4 ?8 J+ B' ?7 C: D
3 N3 Z+ e. J# z% S- Q2 {
3.从ServletContext对象中获取java.util.Properties对象' k* S1 j1 Y% F& B0 ~ T0 p, v6 h V
1 J/ A0 ?, k! f6 }8 ?% r* M
4.从Properties对象中获取key对应的属性值
% s p% F( Z$ C7 @, p
$ y% @1 z" s( C2 E' d 5.对获取的属性进行相应的处理并输出结果% t4 ], L& F# ]3 ?" O
/ {, q; Z9 M( z: M% ?+ z" H I
十五、创建标签库描述文件(Tag Library Descriptor):
, e: k7 F6 m* O. A, e
' P5 |3 f5 ]$ [5 y) R 1.标签库描述文件,简称TLD,采用XML文件格式,定义了用户的标签库。TLD文件中的元素可以分成3类:
3 Y" U5 r% L4 `+ y; A% z3 w# Y3 N
! k- X2 \( `& {1 z+ | b ◆标签库元素8 Z$ k7 U, ?* E1 a3 A" k8 V
( A g3 T/ E5 v: }2 l R
◆标签元素
4 F- P; I6 D; w& u 7 N4 T' d$ e- @
◆标签属性元素8 _ t9 R7 y- s
9 t W9 r3 `2 r4 L 2.标签库元素用来设定标签库的相关信息,它的常用属性有:
' [4 F4 Q2 R1 D+ q' g) m1 c - y: e* c7 }8 s% n3 O; w9 l3 E
◆shortname: 指定Tag Library默认的前缀名(prefix)
/ a) p. z- u( M, K3 E) d' G
; {' S7 _# q0 l7 M" B4 B ◆uri: 设定Tag Library的惟一访问表示符 |