`
yangshen998
  • 浏览: 1257349 次
文章分类
社区版块
存档分类
最新评论

ServletConfig的使用

 
阅读更多

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


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


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



  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
  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,界面返回结果如下:


分享到:
评论

相关推荐

    ServletContext与ServletConfig关系

    ServletConfig 对象可以通过 init 方法的参数传递获取,也可以在 JSP 中使用内置的 config 对象访问。在 Servlet 中,可以在 init 方法中获取 ServletConfig 对象,然后在后续方法中访问其参数。 然后,让我们来看...

    javaWEB总结(3):ServletConfig对象

    ServletConfig对象的试验代码

    ServletConfig与ServletContext.docx

    注意:每个servlet有一个ServletConfig,每个Web应用有一个ServletContext.要把初始化参数认为是部署时常量,可用在运行时得到这些初始化参数,但不能设置初始化参数,根本没有setInitParameter().如果修改XML来改变...

    ServletConfig的描述

    NULL 博文链接:https://shoushounihao.iteye.com/blog/1919541

    ServletContext与ServletConfig的深度分析

    很清楚的讲解了ServletContext和ServletConfig,不光有理论上的讲解,还有例子。

    ServletConfig

    博文链接:https://hotfisher.iteye.com/blog/92177

    超全面javaweb教程28天第9天 6 ServletConfig介绍

    超全面javaweb教程28天第9天_6_ServletConfig介绍

    JavaWeb新版教程Servlet-1vlet-ServletConfig类使用介绍.avi

    JavaWeb新版教程Servlet-1vlet-ServletConfig类使用介绍.avi

    servletAPI中文版(TXT格式,自己翻译)

    ServletConfig getServletConfig() 返回传递到servlet的init()方法的ServletConfig对象 void service(ServletRequest request, ServletResponse response)throws ServletException,IOException 处理request对象中...

    JavaEE中关于ServletConfig的小结

    ServletConfig是针对特定的Servlet的参数或属性。ServletConfig是表示单独的Servlet的配置和参数,只是适用于特定的Servlet。从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个...

    有关ServletConfig与ServletContext的访问

    下面小编就为大家带来一篇有关ServletConfig与ServletContext的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Servlet的运行机制

    1. 手动编写java代码,实现Servlet的访问 2. 使用Eclipse创建Web Project,并创建一个Servlet继承HttpServlet...6. 使用ServletConfig对象,访问web.xml中的数据库连接信息。 7. 使用ServletContext对象,实现转发操作

    JavaWeb新版教程Servlet-1vlet-ServletConfig类的补充说明.avi

    JavaWeb新版教程Servlet-1vlet-ServletConfig类的补充说明.avi

    java-web课本课后简答题.pdf

    * 通过使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法可以获得ServletConfig对象。 六、HTTP请求结构 * HTTP请求结构由请求行、请求头、空行和请求数据组成。 * 请求行由...

    JavaWeb核心之Servlet-源代码

    ServletConfig : 代表的是该servlet对象的配置信息 2)service(ServletRequest request,ServletResponse response) 何时执行:每次请求都会执行 ServletRequest :代表请求 认为ServletRequest 内部封装的是 ...

    wex框架初始化完全解析.doc

    然后,将 servletConfig 对象放到 ServletContext 中,以供其他组件使用。 WebxControllerServlet 中的 `controller` 属性是一个非常重要的对象,它是 Webx 框架的核心组件,负责处理所有的业务逻辑。`controller` ...

    学习servlet的实例和参考api

    类 ServletConfig ServletOutputStream ServletContext ServletInputStream ServletResponse GenericServlet ServletRequest Servlet &lt;br&gt;javax.servlet.http&lt;br&gt;接口 类 HttpSession Cookie...

    Servlet知识点和示例

    this.ServletConfig.getServletContext方法获得对ServletContext对象的引用.还可以直接通过 this.getServletContext方法获得对ServletContext对象的引用. (3)由于一个WEB应用中的所有Servlet共享同一个...

Global site tag (gtag.js) - Google Analytics