JSP 从配置文件获取参数详解
javax.servlet.ServletContext接口(上下文参数)是针对整个项目的全局设置, 而javax.servlet.ServletConfig接口(初始化参数)是针对当前Servlet的设置。 两者的设置内容都写在web.xml中。在Eclipse中新建Servlet时, 可以看到设置初始化参数的位置,如下图
而上下文参数就没这么方便,只能通过手工编辑web.xml来添加了。 好在Eclipse提供了方便的XML编辑器, 打开web.xml之后即可看到各个Servlet的配置情况, 右键单击最顶层的“web-app”元素,选择Add Child->context-param, 然后分别修改 param-name 和 param-value 即可。
那么在程序中如何取得这两类参数?请看这几个方法
javax.servlet.GenericServlet.getServletConfig()
返回当前Servlet的ServletConfig对象。
javax.servlet.ServletConfig.getServletContext()
返回当前应用程序的ServletContext对象。
通过这两个方法,我们就可以获得当前Servlet的初始化参数对象和上下文参数对象。
ServletContext的主要方法
String getInitParameter(String name)
获取指定上下文参数的值。
ServletConfig的主要方法
String getInitParameter(String name)
获取指定初始化参数的值。
java.util.Enumeration getInitParameterNames()
获取所有的初始化参数的名称。
示例程序分别通过ServletContext和ServletContent读出值并显示出来。 因为参数值在Servlet的生命周期中是不变的,仅需读取一次即可, 所以将取得参数的代码写在了 init() 方法而不是 doGet()方法中。 其他没什么特别需要说明的地方,参数追加的方法参考前文即可。
示例下载+++++++++++++++++++++++++++++++++++++==
package .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>");
}
}
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程