您的位置:首页 > 其它

servletConfig获取初始化参数

2017-07-15 18:51 375 查看
servletConfig获取初始化参数
一、init方法初始化过程

二、init初始化获取参数

1、init初始化方法获取参数是由tomcat容器先创建ServletConfig对象,然后将这个对象作为参数传递给init方法,使得init初始化方法可以获取到参数。想了解init初始化方法可以获取哪些方法,首先了解ServletConfig对象可以给他传递哪些参数。

2、ServletConfig作用:

A、获取自己叫什么名字:servletConfig.getServletName();

B、获取在web.xml中配置的其他初始化信息。可以通过两个方法获取到参数:Servletconfig.getInitParameter() 和 Servletconfig.getinitParameterName()

三、init初始化获取参数展示

1、创建servlet类获取初始化参数

package test05;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class InitServlet implements Servlet{
private ServletConfig conf;
/*
* 1、在init方法中获取参数
*/
@Override
public void init(ServletConfig config) throws ServletException {
this.conf = config;
/*
* 2、获取自己的名字
*/
String name = config.getServletName();
System.out.println("############这个servlet类的名字:"+name);

/*
* 3、第一种方法获取自定义初始化参数
*/
System.out.println("###############第一种方法config.getInitParameter()获取自定义初始化参数################");
/*config.getInitParameter("java_name")参数名字来自于和web.xml配置文件中的
配置的名字<param-name>java_name</param-name>根据这个名字可以获取到web.xml文件中
对应这个名字配置的value值
*/
String java_name = config.getInitParameter("java_name");
String host = config.getInitParameter("host");
System.out.print("java_name的value值为:"+java_name+"\n"+"host的value值为:"+host);
/*
* 4、第二种方法获取自定义初始化参数
*/

System.out.println("##############第二种方法config.getInitParameterName()获取自定义初始化参数##############");
Enumeration<String> it = config.getInitParameterNames();
while(it.hasMoreElements()){
String key = it.nextElement();
System.out.println(key+"===="+config.getInitParameter(key));
}
}

@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}

/*
* 5、调用getServletInfo()获取servlet名字并输出到浏览器页面
*/
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
//对于servlet来说,默认是iso-8859-1编码。必须要通知浏览器,用什么编码来显示
res.setContentType("text/html;charset=UTF-8");
//使用PrintWriter类方法将信息输出到浏览器的页面中。
PrintWriter out = res.getWriter();
out.print("这个servlet叫:"+getServletInfo()+"<br/>");

}

@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return conf.getServletName();
}

@Override
public void destroy() {
// TODO Auto-generated method stub

}

}

2、配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<!-- 配置InitServlet -->
<servlet-name>InitServlet</servlet-name>
<servlet-class>test05.InitServlet</servlet-class>
<!-- 配置其他的初始化信息,可以配置任意个数量 -->
<init-param>
<!-- 参数的名字按照变量命名规范可以自定义名字-->
<param-name>java_name</param-name>
<param-value>java从入门到精通</param-value>
</init-param>
<init-param>
<param-name>host</param-name>
<param-value>java博客从坚持开始</param-value>
</init-param>
<!-- 配置初始化方式为tomcat容器启动后自动初始化该servlet类 -->
<load-on-startup>1</load-on-startup>

</servlet>

<!-- 配置访问这个servlet -->
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/init</url-pattern>
</servlet-mapping>
</web-app>

3、访问这个类
打开浏览器输入:http://127.0.0.1:8080/你的项目名称/init

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: