web.xml中servlet初始化参数的设置

<context-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</context-param>
<context-param>
<param-name>param2</param-name>
<param-value>value2</param-value>
</context-param>

这些初始化参数便是整个servletContext的初始化参数,可以有多个,在整个web项目中都可以进行使用,现在一个servlet如果想用到这些初始化参数,只要用servletContext对象的getInitParameter()方法便可以得到这个servletContext的初始化参数

在MYservlet.java文件中可以通过这样的方式获得值:

public class MyServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{

ServletContext context=this.getServletContext();     //因为它继承自GenericServlet这个类,依据Tomcat版本不同,可能获取的方法会有些差异

String value1=context.getInitParameter("param1");    //通过.getInitParameter(String param)获取初始化参数值

System.out.println("context value1"+value1);

}

}

-------------------------------------------------------------------------------

<servlet>

<!--name可以是任意的,但一般是类名-->

<servlet-name>MyServlet</servlet>

<!--class用于指定你的servlet存放的路径-->

<servlet-class>com.web.MyServlet</servlet-class>

<!--设置各自servlet的初始化参数-->

<!--参数1-->

<init-param>

<param-name>driver</param-name>

<param-value>com.mysql.jdbc.Driver</param-value>

</init-param>

<!--参数2-->

<init-param>

<param-name>url</param-name>

<param-value>jdbc:mysql://localhost:3306/mysql</param-value>

</init-param>

</servlet>

<servlet-mapping>

<!--同上-->

<servlet-name>MyServlet</servlet-name>

<!--url指定访问时的路径,这里的/指的是相对于本项目,在浏览器进行访问时,URI 是:http://localhost:8080/servlet/myServlet-->

//端口号8080/servlet是我的项目名
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>

在servlet.java中访问方式跟获取context-param中的参数可以比较:

//this指代当前对象

String uri=this.getInitParameter("uri");    //获取init-param中的value值

String driver=this.getInitParameter("driver");    //获取init-param中的value值

System.out.println("uri="+uri+" "+"driver="+driver);    //打印输出

综上所述:

注意:     context-param跟init-param里面的参数值只能有一个,多个会报错。

当我们想要整个web项目中的servlet都要用某一个value值时,可以将它设置成Context-param,这样可以简化代码;如果是单个servlet用的参数,设置成init-param,按需求来定。

时间: 2024-08-02 02:48:46

web.xml中servlet初始化参数的设置的相关文章

web.xml中servlet的配置

<servlet>元素是配置Servlet所用的元素. <servlet-mapping>元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet. 下面给出一段配置代码: <servlet> <servlet-name>ServletName</servlet-name> <servlet-class>xxxpackage.xxxServlet<

web.xml中servlet, bean, filter, listenr 加载顺序汇总

最终得出结果:先 listener >> filter >> servlet >> spring 所以,如果过滤器中要使用到 bean,可以将spring 的加载 改成 Listener的方式 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> 参考文档:htt

web.xml中servlet配置及其含义

1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/

SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签

游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个URL应当map到哪个Controller, 哪个方法上.而剩一下的这些复杂工作都是由DispatcherServet来完成的,即应用服务器加载DispatcherServlet调用init()方法时才能触发这项工作.所以,如果在web.xml中配置DispatcherServlet时不设置 <lo

SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签

游历SpringMVC源代码后发现,在web.xml中注冊的ContextLoaderListener监听器不过初始化了一个根上下文,只完毕了组件扫描和与容器初始化相关的一些工作,并没有探測到详细每一个URL应当map到哪个Controller, 哪个方法上.而剩一下的这些复杂工作都是由DispatcherServet来完毕的,即应用server载入DispatcherServlet调用init()方法时才干触发这项工作.所以,假设在web.xml中配置DispatcherServlet时不设置

【转】web.xml中的contextConfigLocation在spring中的作用

一.spring中如何使用多个xml配置文件 1.在web.xml中定义contextConfigLocation参数,Spring会使用这个参数去加载所有逗号分隔的xml文件,如果没有这个参数,spring会默认加载WEB-INF/applicationContext.xml文件(若没有,要新建一个). 例如: <context-param> <param-name>contextConfigLocation</param-name> <param-value&

web.xml 中以编码方式添加filter并设置初始化参数AbstractAnnotationConfigDispatchServletInitializer

web.xml中配置filter <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

servlet获取并存储web.xml中context-param参数

在web.xml中定义了context-param,一般不会随意改动,所以在监听器中做一次处理,容器启动时读取并存储在Properties中,方便以后取值. SysProperties 类用于存储 context 键值: SystemListener 监听器类,处理 context-param 参数. /** * 用于存储参数键值 */ public final class SysProperties { private static SysProperties instance; privat

web.xml中在Servlet中获取context-param和init-param内的参数

引自:http://blog.csdn.net/yakson/article/details/9203231 web.xml里面可以定义两种参数:1.application范围内的参数,存放在servletContext中,在web.xml中配置如下: <context-param> <param-name>context/param</param-name> <param-value>avalible during application</para