`

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中的常用功能

    本实例包含了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动态网页制作基础培训教程源代码.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”,就可以建立一个空的文本文件,保存时,这个文件自动带...

    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...

    java 面试题 总结

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

    EL表达式的详细使用

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

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

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

    超级有影响力霸气的Java面试题大全文档

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

    J2EE中文版指南 CHM格式 带全文检索

    初始化及结束一个JSP页面 180 生成静态内容 181 生成动态内容 181 在JSP中使用对象 181 隐式对象 181 特定应用程序对象 181 共享对象 182 JSP scripting 元素 182 声明 182 脚本(scriptlets) 183 表达式 184 在JSP...

    JSP分页代码-数据库连接池+JavaBean+JSP+SQL Server+JDBC3.0的数据库分页技术

    public Pagi()//定义构造器,初始化每页显示的主题数和数据库的连接。 { intPageSize=4; //每页显示的记录数目 db = new DB(); } //Countsql:总记录的Query字符串。[形式为select count(*) from tablename] //...

    财付通api接口

    初始化请求对象 PayRequest 设置请求系统级参数(应用 ID 等) ,例如 PayRequest.setAppid(应用 ID) 设置请求业务级参数,例如 PayRequest.setParameters(参数名称, 参数值) 生成跳转 URL,例如 PayRequest.getURL...

    JSP 日期处理

    第一个构造函数使用当前日期和时间来初始化对象。 Date( ) 第二个构造函数接受一个参数,这个参数表示从1970年1月1日凌晨至所要表示时间的毫秒数。 Date(long millisec) 获取Date对象后,您就能够使用下表列出...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.7.3 Web应用初始化参数的配置 3.7.4 application对象应用示例 3.8 其他内置对象的应用 3.8.1 应答与请求的page对象 3.8.2 页面上下文的page Context对象 3.8.3 获取web.xml配置信息的config对象 3.8.4 获取异常...

    史上最全Java面试大全

    14如何利用ServletContext和ServletConfig对象获得初始化参数 27 15说出Servlet的生命周期,并说出Servlet和CGI的区别 27 16.访问修饰符public,private,protected,以及不写(默认)时的区别? 27 17. Math.round...

Global site tag (gtag.js) - Google Analytics