源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JSP 从配置文件获取参数详解

  • 时间:2020-08-10 19:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JSP 从配置文件获取参数详解
这一节将介绍 ServletContext 和 ServletConfig 这两个接口。 通过这两个接口,我们可以在web.xml中设置一些参数,如数据库地址、用户名密码等,供 Servlet 使用, 这样每次参数值变动时,不用重新编译Servlet了。 javax.servlet.ServletContext接口(上下文参数)是针对整个项目的全局设置, 而javax.servlet.ServletConfig接口(初始化参数)是针对当前Servlet的设置。 两者的设置内容都写在web.xml中。在Eclipse中新建Servlet时, 可以看到设置初始化参数的位置,如下图: [img]http://files.jb51.net/file_images/article/201304/201304220004.png[/img] 而上下文参数就没这么方便,只能通过手工编辑web.xml来添加了。 好在Eclipse提供了方便的XML编辑器, 打开web.xml之后即可看到各个Servlet的配置情况, 右键单击最顶层的“web-app”元素,选择[b]Add Child->context-param[/b], 然后分别修改 param-nameparam-value 即可。 [img]http://files.jb51.net/file_images/article/201304/201304220005.png[/img] 那么在程序中如何取得这两类参数?请看这几个方法: [quote] [code]javax.servlet.GenericServlet.getServletConfig()[/code] [/quote] 返回当前Servlet的ServletConfig对象。 [quote] [code]javax.servlet.ServletConfig.getServletContext()[/code] [/quote] 返回当前应用程序的ServletContext对象。 通过这两个方法,我们就可以获得当前Servlet的初始化参数对象和上下文参数对象。 ServletContext的主要方法: [quote] [code]String getInitParameter(String name)[/code] [/quote] 获取指定上下文参数的值。 ServletConfig的主要方法: [quote] [code]String getInitParameter(String name)[/code] [/quote] 获取指定初始化参数的值。 [quote] [code]java.util.Enumeration getInitParameterNames()[/code] [/quote] 获取所有的初始化参数的名称。 示例程序分别通过ServletContextServletContent读出值并显示出来。 因为参数值在Servlet的生命周期中是不变的,仅需读取一次即可, 所以将取得参数的代码写在了 init() 方法而不是 doGet()方法中。 其他没什么特别需要说明的地方,参数追加的方法参考前文即可。 示例下载:[url=http://xiazai.jb51.net/201304/yuanma/initparam_jb51net.zip]initparam_jb51net.zip [/url]+++++++++++++++++++++++++++++++++++++==
[u]复制代码[/u] 代码如下:
package com.idv2.learnjsp;   import java.io.IOException;   import java.io.PrintWriter;   import javax.servlet.ServletConfig;   import javax.servlet.ServletContext;   import javax.servlet.ServletException;   import javax.servlet.http.HttpServletRequest;   import javax.servlet.http.HttpServletResponse;   /**    * Servlet implementation class for Servlet: InitParam    *    */   public class InitParam extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {       /**        * 自动生成的序列号        */      private static final long serialVersionUID = 7732869603825506920L;       /**        * 程序名称        */      private String appName;       /**        * 页面标题        */      private String title;       public void init() {           // 获取参数           ServletConfig config = getServletConfig();           ServletContext context = config.getServletContext();           title = config.getInitParameter("title");           appName = context.getInitParameter("appname");       }       /* (non-Java-doc)        * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)        */      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {           response.setContentType("text/html; charset=UTF-8");           PrintWriter out = response.getWriter();           out.println("<html>");           out.println("<head>");           out.println("<title>" + title + "</title>");           out.println("</head>");           out.println("<body>");           out.println("Application name: " + appName);           out.println("</body>");           out.println("</html>");       }   }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部