千家信息网

如何进行ServletConfig和ServletContext参数访问浅析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何进行ServletConfig和ServletContext参数访问浅析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HttpSer
千家信息网最后更新 2026年11月02日如何进行ServletConfig和ServletContext参数访问浅析

如何进行ServletConfig和ServletContext参数访问浅析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

HttpServletRequest,HttpServletResponse:这两个属性的作用范围最小。

时间上:只是本身请求和应答完成就失效,当然转发是把当前的request对象取出来传给另一个资源,其实本身的request对象还是只生存到本次请求结束,response也同样。

空间上:只能发送请求的客户端有效。

HttpSession:一次连结到客户端关闭,时间作用范围比上面两个大,空间任用范围相同。

ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

ServletContext:对任何servlet,任何人在任何时间都有效,这才是真正全局的对象。那么,ServletConfig参数和ServletContext参数到底应该如何使用,如何取得?

一般来说,对整个应用的配置,为了不使用"硬编码",应该配置为ServletContext参数,比如字符集设定。

﹤web-app﹥        .................        ﹤init-param﹥            ﹤param-name﹥charset﹤/param-name﹥             ﹤param-value﹥GB2312﹤/param-value﹥         ﹤/init-param﹥        .................    ﹤/web-app﹥

注意以上格式只是2。0以后的标准格式,旧容器(引擎)采用服务商自己的格式配置。注意它的父元素应该是﹤web-app﹥也就是说它是对一个应用作用的。

而如果只有一个特定的servlet要设定的参数,其它servlet不能共享,应该配置为ServletConfig参数,如一个读取附件的servlet要用到绝对目录,而别的servlet不会用到:

﹤servlet﹥            ﹤servlet-name﹥GetAtt﹤/servlet-name﹥        ﹤servlet-class﹥mail.GetAttServlet﹤/servlet-class﹥        ﹤init-param﹥            ﹤param-name﹥absPath﹤/param-name﹥             ﹤param-value﹥/usr/mail/ax/axman/Maildir/﹤/param-value﹥         ﹤/init-param﹥    ﹤/servlet﹥

不用说,因为在﹤servlet﹥标签中已经指定了name和class,也就是说只有mail.GetAttServlet这个servlet中才能取到path,而别的Servlet是不能取到的。

那么如何访问这两个对象的参数呢?

访问ServletConfig参数:

首先要取得ServletConfig对象,然后调用它的getInitParameter();方法。要访问ServletConfig对象,jsp中直接使用config内置对象,但因为你的JSP编译后的servlet一般不会被加到web.xml中的,所以一般不会通过jsp来取对本JSP编译后的servlet的配置参数,那么在servlet中要得到ServletConfig对象有两种方法:

在inii()方法中取到:通过init的重载方法传递

.....  public class Test extends HttpServlet   {      ServletConfig config;      public void init(ServletConfig config) throws ServletException {          this.config = config;      }      ..................  }

然后在下面的方法中就可以访问config对象。但要注意,为了确保能从构造方法中到到当前servlet的config对象,应该调用父类的构造方法:

.....  public class Test extends HttpServlet   {      ServletConfig config;      public void init(ServletConfig config) throws ServletException {          super.init(config);          this.config = config;      }      ..................  }

通过getServletConfig()方法直接到时,这样做的好处是不必调手工传递属性,想在任何时候都可以得到。

还有第三种方法,要自己实现一些接口,这里作为一般讨论就不介绍了。

要访问ServletContext对象,只要从现有的ServletConfig对象getServletContext()就可以了,然后调用它的getInitParameter()方法就可以获取它的参数。

看完上述内容,你们掌握如何进行ServletConfig和ServletContext参数访问浅析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

对象 方法 参数 配置 有效 两个 作用 客户 客户端 时间 格式 范围 也就是 也就是说 内容 只是 只有 属性 时候 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 科技和互联网公司 工业互联网科技新基建 科技企业和互联网企业 互联网 科技公司 深圳互联网科技公司 万易互联网科技有限公司 世界互联网领先科技成果 亿策互联网科技 互联网科技股午盘股票涨跌 滨湖区互联网智能科技产品供应 科技与互联网的利与弊 互联网和黑科技的看法 晓花互联网科技有限公司网址 互联网新科技动漫ppt素材 长沙互联网科技 华中科技大学互联网的牛人 南京一网一红互联网科技有限公司 张家口科技产业互联网平台 互联网时代高科技布局 互联网加科技 齐家互联网科技 互联网科技的英文 剑昆互联网络科技有限公司临桂 花神(南京)互联网科技有限公司 成都互联网科技公司工作好不好 互联网界的黑科技 互联网科技手抄报图片 北京军民互联网科技公司 互联网企业和网络科技有限公司
0