1.需要定义ServletConfig对象来接收servlet配置的初始化参数。

2.当servlet配置了初始化参数后,web容器在创建servlet实例对象时, 会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

3.注意:获取servlet初始值(需要在init()方法中初始化)//注意,这里必须设置,自动加载,<load-on-startup>1</load-on-startup>//或者配置映射才能初始化servlet初始化参数,直接在类中不能初始化。

以下是代码:

*helloworld.java

  1. package myweb;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.util.Enumeration;
  6.  
  7. import javax.servlet.ServletConfig;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.annotation.WebServlet;
  10. import javax.servlet.http.HttpServlet;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13.  
  14. /**
  15. * Servlet implementation class helloworld
  16. */
  17. public class helloworld extends HttpServlet {
  18. private static final long serialVersionUID = 1L;
  19. /**
  20. * 定义ServletConfig对象来接收servlet配置的初始化参数
  21. */
  22. private ServletConfig config;
  23. /**
  24. * 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,
  25. * 会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,
  26. * 将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以
  27. * 得到当前servlet的初始化参数信息。
  28. */
  29. @Override
  30. public void init(ServletConfig config) throws ServletException {
  31. this.config = config;
  32. }
  33. /**
  34. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  35. */
  36. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  37.  
  38. //.获取servlet初始值(需要在init()方法中初始化)
  39. //注意,这里必须设置,自动加载,<load-on-startup>1</load-on-startup>
  40. //或者配置映射才能初始化servlet初始化参数,直接在类中不能初始化
  41. //获取在web.xml中配置的初始化参数
  42. String paramVal = this.config.getInitParameter("name");//获取指定的初始化参数
  43. response.getWriter().print(paramVal);
  44. response.getWriter().print("<hr/>");
  45. //获取所有的初始化参数
  46. Enumeration<String> e = config.getInitParameterNames();
  47. while(e.hasMoreElements()){
  48. String name = e.nextElement();
  49. String value = config.getInitParameter(name);
  50. response.getWriter().print(name + "=" + value + "<br/>");
  51. }
  52. }
  53.  
  54. /**
  55. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  56. */
  57. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  58. // TODO Auto-generated method stub
  59. }
  60.  
  61. }

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  3.  
  4. <servlet>
  5. <servlet-name>helloworld</servlet-name>
  6. <servlet-class>myweb.helloworld</servlet-class>
  7.  
  8. <!--配置helloworld(servlet)的初始化参数 -->
  9. <init-param>
  10. <param-name>name</param-name>
  11. <param-value>xianghu</param-value>
  12. </init-param>
  13. <init-param>
  14. <param-name>password</param-name>
  15. <param-value>123456</param-value>
  16. </init-param>
  17. <init-param>
  18. <param-name>charset</param-name>
  19. <param-value>UTF-8</param-value>
  20. </init-param>
  21. </servlet>
  22. <servlet-mapping>
  23. <servlet-name>helloworld</servlet-name>
  24. <url-pattern>/Default</url-pattern>
  25. </servlet-mapping>
  26. </web-app>

javaee学习-servlet初始化参数的更多相关文章

  1. servlet初始化参数

    使用<context-param>标签初始化的参数是被应用程序中所有的servlet所共享.但是有时候我们需要为某一个特定的servlet配置参数,这个时候我们就需要使用servlet初始 ...

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

    <context-param><param-name>param1</param-name><param-value>value1</param- ...

  3. Silverlight学习之初始化参数

    首先需要在Silverlight的宿主页面添加上initParams,如 <param name="initParams" value="key1=jerry,ke ...

  4. Servlet之初始化参数和传递数据(ServletConfig,ServletContext )

    ServletConfig 容器初始化一个Servlet的时候,会为这个Servlet建一个唯一的Servletconfig的对象(Servlet的配置对象) 容器会从部署的描述文件(web.xml) ...

  5. JavaEE:Servlet简介及ServletConfig、ServletContext

    Servlet简介 1.Servlet是sun公司提供的一门用于开发动态web资源的技术*静态web资源:固定数据文件*动态web资源:通过程序动态生成数据文件2.Servlet技术基于Request ...

  6. JavaEE学习总结(十六)— Servlet

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  7. 通过Servlet获取初始化参数

    获取初始化参数在web.xml中配置Servlet时,可以配置一些初始化参数.而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数.(其实还可以通过ServletCont ...

  8. Servlet中的初始化参数、上下文参数、以及@Resource资源注入

    配置初始化参数.上下文参数.以及使用@Resource注解进行资源注入,目的是为了降低代码的耦合度.当项目需求进行变更的时候,不需要反复更改源代码,只需更改web.xml文件即可. 一:Servlet ...

  9. JavaWeb---通过ServletConfig获取Servlet的初始化参数

    package com.zyz; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import j ...

随机推荐

  1. 【Java基础】继承的一些总结

    什么是继承 把一些类的具有共性的东西剥离出来形成一个新的类,然后各个其他类保留自己独有的特性,并用关键字extends继承这个剥离出来的新的类,可以最终达到各类原始相同效果,但是在每个类中,单用一个“ ...

  2. Only one database connection at a time is supported

      Only one database connection at a time is supported 在网上找到了2个方法: 1. VSS在使用过程中,尤其是数据迁移的过程中,可能会出现上述情况 ...

  3. 教程-脚本之Python

    1.百度python就可以下载到最新版本(Python3.3)     PS:我发现用2.7版本写的py文件用  Python3.3打开时,提示错误(print2.7不需要括号3.3必须加括号).2. ...

  4. GitHub初次使用记录(一)

    1.从GitHub上克隆或者复制别人的档案库:

  5. Unity定时器

    需求:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作. 1.使用变量在Update中计时 public class TestTimer : MonoBehaviour { private ...

  6. 一篇不错的关于分析MVC的文章

    1 简介 英文原文:MVC vs. MVP vs. MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试. 2 MVC/MVP 2.1 ...

  7. 利用...来字符检測(swift)

    利用...来字符检測(swift) by 伍雪颖 let test = "LesvIo" let interval = "a"..."z" ...

  8. 导入导出封装的工具类 (一) 利用POI封装

    对于导入导出各个项目中差点儿都会用到,记得在高校平台中封装过导入导出这部分今天看了看是利用JXL封装的而经理说让我用POI写写导出,这两个导入导出框架是眼下比較流程和经常使用的框架,有必要都了解一下. ...

  9. java程序查不出数据来

    同样的错误,不可再犯第三次!!! 数据库中是char,里面带空格,但在pl/sql中这样写可以查出来.如下: select ipostid from product t where ipostid= ...

  10. [Whole Web, Node.js, PM2] Restarting your node.js app on code change using pm2

    Aadd watch to the config.json file: { "apps": [{ "name": "App1", " ...