在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。

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

阅读ServletConfig API,并举例说明该对象的作用:
获得字符集编码
获得数据库连接信息
获得配置文件 ,查看struts案例的web.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  7. <display-name></display-name>
  8. <servlet>
  9. <servlet-name>DemoServlet</servlet-name>
  10. <servlet-class>cn.csdn.web.servlet.DemoServlet</servlet-class>
  11. <init-param>
  12. <param-name>version</param-name>
  13. <param-value>2.0</param-value>
  14. </init-param>
  15. <init-param>
  16. <param-name>characterEncoding</param-name>
  17. <param-value>UTF-8</param-value>
  18. </init-param>
  19. <init-param>
  20. <param-name>driver</param-name>
  21. <param-value>com.mysql.jdbc.driver</param-value>
  22. </init-param>
  23. <init-param>
  24. <param-name>url</param-name>
  25. <param-value>jdbc:mysql://localhost:3306/3g</param-value>
  26. </init-param>
  27. <init-param>
  28. <param-name>user</param-name>
  29. <param-value>root</param-value>
  30. </init-param>
  31. <init-param>
  32. <param-name>password</param-name>
  33. <param-value>0904</param-value>
  34. </init-param>
  35. <load-on-startup>1</load-on-startup>
  36. </servlet>
  37. <servlet-mapping>
  38. <servlet-name>DemoServlet</servlet-name>
  39. <url-pattern>/demo/*</url-pattern>
  40. </servlet-mapping>
  41. <servlet-mapping>
  42. <servlet-name>DemoServlet</servlet-name>
  43. <url-pattern>*.do</url-pattern>
  44. </servlet-mapping>
  45. <welcome-file-list>
  46. <welcome-file>index.html</welcome-file>
  47. </welcome-file-list>
  48. </web-app>
  1. package cn.csdn.web.servlet;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.util.Enumeration;
  5. import javax.servlet.ServletConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. public class DemoServlet extends HttpServlet {
  11. /**
  12. * @author 宋鹤贤
  13. */
  14. private static final long serialVersionUID = 1L;
  15. /* private ServletConfig config; */
  16. @Override
  17. public void destroy() {
  18. // TODO Auto-generated method stub
  19. super.destroy();
  20. System.out.println("销毁");
  21. }
  22. public DemoServlet() {
  23. super();
  24. // TODO Auto-generated constructor stub
  25. System.out.println("创建对象");
  26. }
  27. @Override
  28. public void init() throws ServletException {
  29. // TODO Auto-generated method stub
  30. super.init();
  31. System.out.println("初始化");
  32. }
  33. @Override /*HttpServlet父类有两个init方法,一个有参一个没参数*/
  34. public void init(ServletConfig config) throws ServletException {
  35. super.init(config);
  36. System.out.println("--------------" + config);
  37. /* this.config=config; */
  38. }
  39. public void doGet(HttpServletRequest request, HttpServletResponse response)
  40. throws ServletException, IOException {
  41. this.doPost(request, response);
  42. }
  43. public void doPost(HttpServletRequest request, HttpServletResponse response)
  44. throws ServletException, IOException {
  45. /* 设置编码 */
  46. request.setCharacterEncoding("UTF-8");
  47. String version = this.getServletConfig().getInitParameter("version");
  48. String characterEncoding = this.getServletConfig().getInitParameter(
  49. "characterEncoding");
  50. Enumeration<String> enumer = this.getServletConfig()
  51. .getInitParameterNames();
  52. // 遍历
  53. while (enumer.hasMoreElements()) {
  54. String name = enumer.nextElement();
  55. String value = this.getServletConfig().getInitParameter(name);
  56. System.out.println(name + "===" + value);
  57. }
  58. /* 获取一下PrintWriter对象 */
  59. PrintWriter out = response.getWriter();
  60. out.print("versin=" + version + "\tcharacterEncoding="
  61. + characterEncoding);
  62. }
  63. }

代码如上:我们发布到tomcat中,然后开启tomcat服务器,在浏览器中输入http://localhost:8080/20111018/xxx.do,界面返回结果如下:

最新文章

  1. jsp基础
  2. EEGLAB数据分析:预处理与后续处理
  3. 【GoLang】golang 交叉编译 实现&amp;工具
  4. Leetcode Combination Sum
  5. endnote参考文献格式设置
  6. optimize table table_name myisam mysql自动清除删除过留下的空记录
  7. Java基本概念(未完)
  8. 基于jQuery右侧带缩略图导航的焦点图
  9. cocos2d/-x 用CCRenderTexture为一个CCLabelTTF创建阴影。
  10. Python字符串全解
  11. B. Menci 的序列
  12. 分享一个学习的网站:每天会有大量AI相关的干货(论文分享,行业动态,相关竞赛经验分享等)http://www.deepsmart.ai/
  13. Tomcat7注册为Linux服务
  14. PL/SQL第三章 基础查询语句
  15. javascript 原生常用api 数组方法大全
  16. 详细解读Android中的搜索框(三)—— SearchView
  17. Unable to open socket file: target process not responding or HotSpot VM not loaded
  18. python 日期创建dir
  19. IE浏览器调试工具不能使用
  20. macOS &amp; SVN

热门文章

  1. (转)Inno Setup入门(十八)——Inno Setup类参考(4)
  2. 学生选课数据库SQL语句练习题
  3. 操作系统-百科: UNIX
  4. Resource interpreted as Document but transferred with MIME type application/json laravel异常请求返回警告
  5. 浅谈PHP面向对象编程(三、构造方法和析构方法)
  6. SpringBoot+rest接口+swagger2生成API文档+validator+mybatis+aop+国际化
  7. python开发_python中的函数定义
  8. linux中awk工具
  9. 说说JDK中的List-ArrayList、Vector、LinkedList
  10. Python实践练习:电话号码和 E-mail 地址提取程序