`

JSP中初始化参数的设置和获取方法

阅读更多

JSP中初始化参数的设置和获取方法

Get Init Parameter in JSP Page


By Reawer 2008-8-13
InitParamter访问方法一(内置对象):

一、By ServletConfig :
Parameter1: {config.getInitParameter("p1") }
Parameter2: {config.getInitParameter("p2") }
Parameter3: {config.getInitParameter("p3") }

config遍历所有Parameter:
二、By ServletContext :
Parameter1: {application.getInitParameter("p1") }
Parameter2: {application.getInitParameter("p2") }
Parameter3: {application.getInitParameter("p3") }

application遍历所有Parameter:

InitParamter访问方法二(JSF):

InitParamter访问方法三(EL)--相当于application对象访问:

= ${initParam.p1}
= ${initParam.p2}
= ${initParam.p3}

JSP中的initParameter使用方法及体会
1. 使用JSP对应的Servlet初始化参数
给JSP页面提供初始化参数在三个方面不同于给servlet提供初始化参数。
1)需要使用使用jsp-file元素代替servlet-class。因此,WEB-INF/web.xml文件的servlet元素如下所示:

<servlet>
<description>initParameter</description>
<display-name>initParameterJsp</display-name>
<servlet-name>initParameterJsp</servlet-name>
<jsp-file>/jsp/initParameter.jsp</jsp-file>
<init-param>
<description>parameter Test</description>
<param-name>paraName</param-name>
<param-value>paraValue</param-value>
</init-param>
</servlet>

2) 几乎总是分配一个明确的URL模式。对servlet,一般相应地使用以
http://localhost:8080/webApp/servlet/ 开始的缺省URL。
只需记住,使用注册名而不是原名称即可。这对于JSP页面在技术上也是合法的。例如,可用URL
http://localhost:8080/webApp/servlet/PageName
访问*.jsp的对初始化参数具有访问权的版本。但在用于JSP页面时,我们经常似乎不喜欢应用常规的servlet的URL。
因此,好的办法是使用url-pattern将JSP页面的原URL与注册的 servlet名相关联。
这样,客户机可使用JSP页面的指定名称,进行访问。例如,给本JSP的servlet定义,可使用下面的 servlet-mapping定义:

<servlet-mapping>
<servlet-name>initParameterJsp</servlet-name>
<!-- 关联URL模式.此处若不写成:/jsp/initParameter.jsp则在使用URL(/jsp/initParameter.jsp)访问时无法取到Servlet中的initParamter值 -->
<url-pattern>/jsp/initParameter</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>initParameterJsp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

3)JSP页使用jspInit而不是init。自动从JSP页面建立的servlet或许已经使用了inti方法。
一般如上在url-pattern中未写成/jsp/initParameter.jsp形式,则
http://localhost:8080/webApp/ *.jsp
形式的URL将激活此页面的不具有初始化参数访问权的版本,从而将对参数paraName失去访问权,如本页中使用config内置对象访问:
config.getInitParameter("paraName") ---- 得到结果: null。
但是, web.xml文件中已为本JSP页分配了一个注册名,该注册名已与URL模式/jsp/initParameter相关联。这时使用如下形式访问:
http://localhost:8080/webApp/jsp/initParameter
即则可得到参数:
config.getInitParameter("paraName"); //---- 得到结果: paraValue。

2. 使用应用范围内(项目)的初始化参数
一般,对单个地servlet或JSP页面分配初始化参数。指定的servlet或JSP页面利用ServletConfig的getInitParameter方法读取这些参数。
但是,在某些情形下,希望设置可由任意servlet或JSP页面借助ServletContext的getInitParameter方法读取的系统范围内的初始化参数。
可利用context-param元素声明这些系统范围内的初始化值。
1)context-param元素应该包含param-name、param-value以及可选的description子元素,如下所示:

<context-param>
<description>这是一个示例参数的描述信息</description>
<!-- 参数名 -->
<param-name>appParaName</param-name>
<!-- 参数值 -->
<param-value>appParaValue</param-value>
</context-param>

2)访问方法,使用内置的application对象:
String value = application.getInitParameter("参数名");//---- 得到结果: appParaValue。

分享到:
评论

相关推荐

    JSP与Servlet 技术总结

    JSP & Servlet 技术总结 ...6. 在web.xml里配置的初始化参数怎么才能读回来? 12 7. 如何获得网页中form表单中的参数 12 8. session跨请求(页面)传数据怎么实现? 12 9. 过滤器如何使用? 13 10. 监听器如何使用? 13

    jsp有哪些内置对象?作用分别是什么?分别有什么方法?

    JSP共有以下9个内置的对象:  request 用户端请求,此请求会包含来自GET/POST请求的参数  response 网页传回用户端的回应 ...该对象用于存取servlet实例的初始化参数。  page表示从该页面产生的一个servlet实例

    JSP的九个内置对象及四个作用域

    “Application”对象负责提供应用程序在服务器运行中的一些全局信息,常用的方法有getMimeType和getRealPath等,servlet的循环通过调用getServletConfig().getContext()方法获得,它提供了关于服务器版本,应用级...

    Jsp中的常用功能

    本实例包含了jsp开发中常用的功能:初始化参数的获取、过滤器、监听器、jspd的组成等等,Demo做的相当全面。

    JSP 从配置文件获取参数详解

    这一节将介绍 ServletContext 和 ServletConfig 这两个接口。 通过这两个接口,我们可以在web.xml中设置一些参数,如数据库地址...在Eclipse中新建Servlet时, 可以看到设置初始化参数的位置,如下图: 而上下文参数就

    JspSmartUpload上传文件到文件夹重名问题解决方法

    //将获取的图片另存为文件名为new,后缀名从原是文件中获得 file.saveAs(dir+"/new."+file.getFileExt(),su.SAVE_VIRTUAL); //获取图片的客户端路径名 String name1=file.getFilePathName(); out.print("客户机...

    jsp servlet面试题总结

    1. 初始化阶段:调用 init() 方法 2. 响应客户请求阶段:调用 service() 方法,根据请求参数的不同调用 doGet() 或 doPost() 方法 3. 终止阶段:调用 destroy() 方法 在 JSP 页面里实现分页需要保存以下参数: 1. ...

    JSP动态网页制作基础培训教程源代码.rar

    此部分是指第10章(表10)和第11章(表11)的内容,包含实例的后台数据库建立和初始化脚本,以及实例的页面代码等,下面分别介绍。 第10章源代码使用说明 操作步骤如下: 1.建立后台SQL Server数据库。读者应该...

    jspsmart.jar包及帮助文档

    作用:执行上传下载的初始化工作,必须第一个执行。 原型:有多个,主要使用下面这个: public final void initialize(javax.servlet.jsp.PageContext pageContext) 其中,pageContext为JSP页面内置对象(页面上...

    editplus 代码编辑器html c++ jsp css

    ② “工具-参数设置-模板”里面,单击“添加”按钮添加模板,“菜单文本”这里输入“Text”,浏览“template.txt”,之后确定即可 ③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带...

    ServletContext与ServletConfig关系

    ServletConfig 对象是 Servlet 的配置对象,用于存储 Servlet 的初始化参数。它的作用域仅限于当前 Servlet 实例,对其他 Servlet 无效。ServletConfig 对象可以通过 init 方法的参数传递获取,也可以在 JSP 中使用...

    java面试题web部分

    通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do*()方法。结束服务,web容器调用servlet的destroy()方法。 八、JSP和Servlet的关系 JSP是Servlet技术的...

    java源码包---java 源码 大量 实例

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java面试宝典

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    千方百计笔试题大全

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    web.xml标签说明.docx

    ` 来获取初始化参数。 6. `&lt;filter&gt;` 元素:用于在 Web 应用程序中声明一个过滤器。包括 `&lt;description&gt;`, `&lt;display-name&gt;`, `&lt;icon&gt;`, `&lt;filter-name&gt;`, `&lt;filter-class&gt;`, `&lt;init-param&gt;`, `&lt;param-name&gt;`, `...

    java 面试题 总结

    如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的...

    EL表达式的详细使用

    initParam 将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。 除了上述两种类型的隐式对象之外,还有些对象允许访问多种范围的变量,如 Web 上下文、会话、...

    servlet配置与使用

    每当一个客户请求一个 HttpServlet 对象,该对象的 service() 方法就要被调用,而且传递给这个方法一个 "请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 destroy() 方法 destroy() 方法是...

    毕业设计论坛源码jsp-baimeng_bg:初始化签入

    毕业设计论坛源码jsp 引言 JeeSite 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring ...依架构简单精良、易于扩展、大众思维的设计模式,深入开发者的内心,并得到一致好评,于和连续两年获得开源中国

Global site tag (gtag.js) - Google Analytics