对Servlet的初始化的理解

1,Servlet在初始化的时候,是通过init(ServletConfig config)或init()来执行的。ServletConfig是一个接口,它怎样传递给他一个对象来进行初始化呢?其实,是这个对象是由Servlet容器来实例化的。由容器产生一个ServletConfig的实现类的对象,然后传递给Servlet. *:ServletConfig由容器实例化。

 

2,我们有些时候可能在Servlet初始化时给它一些固定的配置,那么这些参数是怎样传递到Servlet呢?其实,我们在web.xml中给Servlet配置启动参数,在容器对Servlet进行初始化的时候,会收集你所配置的参数,记录在ServletConfig的实现类中,所以你才可能通过ServletConfig对象的public String getInitParameter(String name);或public Enumeration getInitParameternames(); 方法来取得你已经配置好的参数,也就是说,你对Servlet的配置都已经记录在ServletConfig对象中了。*:你对Servlet的配置,在Servlet的初始化时都由容器来收集并且记录到ServletConfig的实现类中。

 

3,我们来看一下Servlet的配置: index org.zy.pro.sw.servlet.IndexServlet dbconfig /WEB-INF/dbconfig.xml 在此,我们实现对数据的配置文件的加载。当Servlet初始化完成后,我们可以通过 String dbconfig = this.getServletConfig().getInitParameter("dbconfig"); 来取得我们的配置的参数的值。但是,我们仅能得到一个配置的字符串。之后我们可以通过配置文件取得我们的数据库的配置参数,然后对数据库进行初始化。其实约们也可以通过传递一个类的名字串,然后再实例化。 dbconfig org.zy.util.db.DBUtil 我们先取得配置参数:String dbconfig = this.getServletConfig().getInitParameter("dbconfig"); 然后通过:Class.forName(dbconf).getInstance(); 来实例化对象,就可以实现对数据库的调用了。*在 web.xml 中对 Servlet 的初始化,只能传递字符串类型的数据。

 

4,ServletContext ServletContext是负责和Servlet的上文和下文交互,上面和Servlet容器交互,下面和Servlet中的请求和相应进行交互。在ServletConfig中,public ServletContext getServletContext(); 方法实现取得当前ServletContext的对象。你可能要问,ServletContext是一个接口,那么你如何取得他的对象呢?其实,这个问题和ServletConfig相同,都是在Servlet进行初始化的时候产生的对象,是由容器来初始化的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值