您的位置:首页 > 编程语言 > PHP开发

ServletConfig getInitParameterNames 获得自己的初始化参数

2017-10-21 21:30 489 查看
礼悟:
   公恒学思合行悟,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
虚怀若谷良心主,愿行无悔给最苦。读书锻炼养身心,诚劝且行且珍惜。

javaEE:7
javaSE:1.8
JSTL:1.2.2
server:tomcat 8.5
explorer:Firefox
os:windows7 x64
ide:MyEclipse 2017


工程目录结构



web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID"
version="3.1">

<servlet>
<servlet-name>myFirstServlet</servlet-name>
<servlet-class>jizuiku.web.servlet.MyServlet</servlet-class><!-- 执行的是这个类 -->

<!-- init-param只能myFirstServlet使用,其它的servlet用不了 -->
<init-param>
<param-name>minNum</param-name>
<param-value>10</param-value>
</init-param>

<init-param>
<param-name>maxNum</param-name>
<param-value>100</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>myFirstServlet</servlet-name> <!-- 两个name 相应就好 -->
<url-pattern>/MyServletDemo</url-pattern><!-- 访问的是这个路径 -->
</servlet-mapping>

</web-app>


代码

package jizuiku.web.servlet;

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

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

/**
* MyServlet的具体对象只有一个,属于单例模式。
* 然后 可以新建一个MyServletTwo类,即可以存在多个Servlet类
* 线程不安全的,效率高
*
* @author 给最苦
* @version V17.10.20
*/
public class MyServlet implements Servlet {

/**
* 生命周期方法
* 它会在Servlet对象被销毁之前,执行一次.
* 展示Servlet对象留下的遗言
* 一般会在服务器关闭的时候,才会执行
*
* */
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("执行destroy()...");
}

/**
* 获取Servlet的配置文件
*
* */
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
System.out.println("执行getServletConfig()...");
return null;
}

/**
* 获取Servlet的信息
*
* @return 返回对Servlet的描述信息
* */
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
System.out.println("执行getServletInfo()...");

return null;
}

/**
* 生命周期方法,由tomcat来调用
* 它会在Servlet对象出生后,执行一次.
*
* @param config tomcat负责传入这个参数
* */
@Override
public void init(ServletConfig servletConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("执行init()...");

// 获取初始化参数的值
System.out.println(servletConfig.getInitParameter("minNum"));
System.out.println(servletConfig.getInitParameter("maxNum"));

// 获取初始化参数的名称
Enumeration<String> e = servletConfig.getInitParameterNames();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
}

// 把两者总和起来
Enumeration<String> en = servletConfig.getInitParameterNames();
while (en.hasMoreElements()) {
String name = en.nextElement();
System.out.println(name +" : "+ servletConfig.getInitParameter(name));
}
}

/**
* 生命周期方法
* 会被调用多次,每次处理请求都是在调用service方法
* 浏览器 进入一次指定的地址就会 调用service方法
*
* */
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("执行service()...");
}

}


效果



学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐