请教个基础的问题

listedbandit 2008-03-16 10:37:38
关于ServletConfig和ServletContext 还有web.xml里的<init-param>和<context-param>

看书上的例子
"假设某个Servlet要被多个公司去使用……"这里用了<init-param>标签
<init-param>标签是嵌套在<servlet>里面的 那这个初始化参数应该是专属于这个servlet的 没错吧?

然后书上又举了一个例子
“例如,一个web应用程序中的多个Servlet程序都要输出当前站点的公司名称,而这个web应用程序可能会交给多个公司去使用,如果将公司名称作为web应用程序的初始化参数进行设置……"这里用了<context-param>标签
<context-param>标签是<web-app>的子元素 那这个初始化参数似乎是这个web应用程序下所有servlet共享的参数 是这样吗?

但是
<init-param>里的参数是通过调用getServletConfig().getInitParameterNames()得到
<context-param>里的参数是通过调用getServletContext().getInitParameterNames()得到

书上说"每个web应用程序(Servlet容器)都用一个各自的ServletContext对象来表示,ServletConfig对象中包含了ServletContext对象的引用……”“ServletContext对象被包含在ServletConfig对象中”

这个servletconfig指的是什么?ServletContext跟ServletConfig谁的概念比较大?
看文字描述似乎ServletConfig要大一点 那为什么getServletConfig().getInitParameterNames()方法得到的却是针对特定Servlet的参数
根据方法来判断ServletContex似乎要大一些 那为什么ServletContex要包含在ServletConfig里面而不是ServletConfig杯包含在ServletContex里面

请指点迷津
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
listedbandit 2008-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 DiligencyMan 的回复:]
ServletConfig对象中包含了ServletContext对象的引用

只是一个引用。2个侧重点不同
ServletContext 更大一些。

再补充点:
其中,ServletConfig对象侧重于web应用环境的配置,比如数据库配置,一些恒量的文件路径等等。
而ServletContext是web运行中当前状态或者行为的上下文环境。

一般ServletConfig会贯穿于整个应用,整个操作流程
ServletContext 只是局部的某一时刻的
[/Quote]
不明白 为什么ServletContext大一点 却是ServletConfig贯穿整个应用
DiligencyMan 2008-03-17
  • 打赏
  • 举报
回复
ServletConfig对象中包含了ServletContext对象的引用

只是一个引用。2个侧重点不同
ServletContext 更大一些。

再补充点:
其中,ServletConfig对象侧重于web应用环境的配置,比如数据库配置,一些恒量的文件路径等等。
而ServletContext是web运行中当前状态或者行为的上下文环境。

一般ServletConfig会贯穿于整个应用,整个操作流程
ServletContext 只是局部的某一时刻的
老紫竹 2008-03-17
  • 打赏
  • 举报
回复
ServletConfig对象中包含了ServletContext对象的引用

只是一个引用。2个侧重点不同
ServletContext 更大一些。
xinfei1980 2008-03-17
  • 打赏
  • 举报
回复
ServletConfig的使用是
JRun在初始化的时在servlet里传递设定信息。
ServletConfig包含ServletContext对象

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧