[b]这是我发的第一个问题[/b]
我的软件环境:JBX+WebLogic8.0+Struts+MySql+Hibernate.
解决WEB的初始化问题:
当然是配置web.xml.它初始化了ActionServlet,指定了struts_config.xml,初始参数,filter过滤器,tld标签库等......(一般JSP的初始值不是在这配,可封装一下ActionServlet这个类,再这个类中去得到web.xml中的参数,再放到context中去,在JSP页面中用application去得到);
web.xml:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>initPath</param-name>
<param-value>d:/webdir/</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
而我们需要找到ActionServlet的源码,并继承它:
public class InitWeb extends ActionServlet
{
public void init() throws ServletException
{
super.init();
getServletContext().setAttribute("initPath",
getServletConfig().
getInitParameter("initPath"));
}
}
在JSP中用以下方法去得到:
<%=application.getAttribute(initPath)%>
[b]嘿嘿,别忘了这个哦![/b]
[u][b]Servlet接口,以下它的方法[/b][/u]
[u]Servlet引擎会在Servlet实例化之后,置入服务之前精确地调用init()方法[/u]
[u]getServletConfig()方法:ServletConfig对象[/u]
[u][b]ServletConfig接口,以下它的方法[/b][/u]
[u]getInitParameter(String name)方法,返回一个包含Servlet指定的初始化参数的String[/u]
[u]getServletContext(),返回这个Servlet的ServletContext对象[/u]
[u][b]ServletContext接口,Servlet提供环境信息,以下它的方法[/b][/u]
[u]get/setAttribute(String name[Object obj])指定的属性对象[/u]
.................
这些都是以前初始化时应用到的,注意config/context之间的区别.[/b]
[u][b][size=18][color=olive]Tracylau_Katrina束于2004-12-29 23:09[/color][/size][/b][/u]
我的软件环境:JBX+WebLogic8.0+Struts+MySql+Hibernate.
解决WEB的初始化问题:
当然是配置web.xml.它初始化了ActionServlet,指定了struts_config.xml,初始参数,filter过滤器,tld标签库等......(一般JSP的初始值不是在这配,可封装一下ActionServlet这个类,再这个类中去得到web.xml中的参数,再放到context中去,在JSP页面中用application去得到);
web.xml:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>initPath</param-name>
<param-value>d:/webdir/</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
而我们需要找到ActionServlet的源码,并继承它:
public class InitWeb extends ActionServlet
{
public void init() throws ServletException
{
super.init();
getServletContext().setAttribute("initPath",
getServletConfig().
getInitParameter("initPath"));
}
}
在JSP中用以下方法去得到:
<%=application.getAttribute(initPath)%>
[b]嘿嘿,别忘了这个哦![/b]
[u][b]Servlet接口,以下它的方法[/b][/u]
[u]Servlet引擎会在Servlet实例化之后,置入服务之前精确地调用init()方法[/u]
[u]getServletConfig()方法:ServletConfig对象[/u]
[u][b]ServletConfig接口,以下它的方法[/b][/u]
[u]getInitParameter(String name)方法,返回一个包含Servlet指定的初始化参数的String[/u]
[u]getServletContext(),返回这个Servlet的ServletContext对象[/u]
[u][b]ServletContext接口,Servlet提供环境信息,以下它的方法[/b][/u]
[u]get/setAttribute(String name[Object obj])指定的属性对象[/u]
.................
这些都是以前初始化时应用到的,注意config/context之间的区别.[/b]
[u][b][size=18][color=olive]Tracylau_Katrina束于2004-12-29 23:09[/color][/size][/b][/u]