星期五, 二月 06, 2004

关于有关J2EE平台预定定义环境参数的方法一览

1.EJB 得到在ejb-jar.xml中定义的变量
1.1定义
<env-entry>
<env-entry-name>Discount Level</env-entry-name>
<env-entry-type>java.lang.Double</env-entry-type>
<env-entry-value>1000.00</env-entry-value>
</env-entry>
1.2 在Sessinbean中 得到改变量代码
Context initial = new InitialContext();
Context environment = (Context)initial.lookup("java:comp/env");
Double discountLevel = (Double)environment.lookup("Discount Level");

2.Servlet 的到在web.xml中定义的变量
2.1 定义
<env-entry>
<env-entry-name>myossystem</env-entry-name>
<env-entry-value>涓????windowsnt</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

2.2 在Servlet 中得到
InitialContext context = new InitialContext();
context.lookup("java:comp/env/myossystem");

3.Servlet 得到在web.xml定义的同特定servlet class 关联的参数
3.1 定义
<filter>
<filter-name>action.JSPEncoding</filter-name>
<filter-class>action.JSPEncoding</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
3.2 在Servlet 得到
public void init(FilterConfig config) {

this.filterConfig = config;
this.targetEncoding = config.getInitParameter("encoding");
if (config != null) {
if (debug) {
log("JSPEncoding:Initializing filter");
}
}