servlet篇 - 初始化参数

情景:
如果我们想让自己的Email地址(也可以是其他的东西,这里由Email举例)展示在servlet生成的网页上,但是不希望是硬编码写到servlet中,那么这个时候该怎么办呢?

解决方法:
(servlet)初始化参数

在DD文件(web.xml)中进行配置

<servlet>
    <servlet-name>yourServletName</servlet-name>
    <servlet-class>ServletPath</servlet-class>
    <init-param>
      <param-name>myEmail</param-name>
      <param-value>xxxxxx@xx.com</param-value>
    </init-param>
  </servlet>

servlet调用代码:

// 假设我们是直接输出
out.println(getServletConfig().getInitParameter("myEmail"));

以上是 使用 servlet 初始化参数

补充:
创建 servlet 时,一般都是继承 HttpServlet(web开发), HttpServlet继承了 GenericServlet,GenericServlet 实现了 servlet 和 servletconfig 接口
也就是说 servlet 继承了 getServletConfig() 方法 , 所以可以从 servlet 中的任何方法调用 getServletConfig() 得到 ServletConfig 的引用,有了引用就可以调用 getInitparameter()


ServletConfig 用于servlet 配置(而不是 JSPConfig),如果想让web应用的其他部分使用 在DD中置于 servlet 初始化参数的信息,那就需要另外一个解决方案

解决方法:
上下文初始化参数


<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <context-param>
    <param-name>myEmail</param-name>
    <param-value>xxxxx@xx.com</param-value>
  </context-param>
</web-app>

调用方法:

out.println( getServletContext().getIninParameter("myEmail"); )

注意:上下文初始化的参数对 web 应用中所有的 servlet 和 jsp 都可用

// 每个  servlet   有一个 ServletConfig
// 每个  Web应用   有一个 ServletContext

// servlet 得到 ServletContext 有两种方式:
getServletConfig().getServletContext().getInitarameter();
this.getServletContext().getInitParameter();


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值