`
Tracylau
  • 浏览: 65099 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

web的初始化

阅读更多
这是我发的第一个问题

  我的软件环境: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)%>

嘿嘿,别忘了这个哦!
Servlet接口,以下它的方法
Servlet引擎会在Servlet实例化之后,置入服务之前精确地调用init()方法
getServletConfig()方法:ServletConfig对象

ServletConfig接口,以下它的方法
getInitParameter(String name)方法,返回一个包含Servlet指定的初始化参数的String
getServletContext(),返回这个Servlet的ServletContext对象

ServletContext接口,Servlet提供环境信息,以下它的方法
get/setAttribute(String name[Object obj])指定的属性对象
.................
这些都是以前初始化时应用到的,注意config/context之间的区别.[/b]

Tracylau_Katrina束于2004-12-29 23:09
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics