• JavaWeb核心编程之(三.3)Servlet Init 配置


    Servlet初始化 可以传入一些参数 通过 <init-param>来配置

    新建 servletinit项目

    新建包 com.xiaoan.test->new Class(TestInit.java)

     1 package com.xiaoan.test;
     2 
     3 import java.io.IOException;
     4 import java.util.Enumeration;
     5 
     6 import javax.servlet.Servlet;
     7 import javax.servlet.ServletConfig;
     8 import javax.servlet.ServletException;
     9 import javax.servlet.ServletRequest;
    10 import javax.servlet.ServletResponse;
    11 
    12 public class TestInit implements Servlet{
    13 
    14     @Override
    15     public void destroy() {
    16         // TODO Auto-generated method stub
    17         
    18     }
    19 
    20     @Override
    21     public ServletConfig getServletConfig() {
    22         // TODO Auto-generated method stub
    23         return null;
    24     }
    25 
    26     @Override
    27     public String getServletInfo() {
    28         // TODO Auto-generated method stub
    29         return null;
    30     }
    31 
    32     @Override
    33     public void init(ServletConfig arg0) throws ServletException {
    34         //通过参数名获取参数值
    35         String username = arg0.getInitParameter("username");
    36         System.out.println("username: " + username);
    37         
    38         //获得所有的参数名       String 对象的 Enumeration
    39         Enumeration<String> paramName = arg0.getInitParameterNames();
    40         while(paramName.hasMoreElements()){
    41             String param = paramName.nextElement();
    42             String paramvalue = arg0.getInitParameter(param);
    43             System.out.println(param + ": " + paramvalue);
    44         }
    45         
    46         //获得servletname   了解
    47         String servletname = arg0.getServletName();
    48         System.out.println("servletName: " + servletname);
    49     }
    50 
    51     @Override
    52     public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
    53         // TODO Auto-generated method stub
    54         
    55     }
    56 
    57 }

    配置web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
     3   <display-name>servletinit</display-name>
     4   
     5   
     6   <servlet>
     7       <servlet-name>si</servlet-name>
     8       <servlet-class>com.xiaoan.test.TestInit</servlet-class>
     9       
    10       <init-param>
    11           <param-name>username</param-name>
    12           <param-value>xiaoan</param-value>
    13       </init-param>
    14       <init-param>
    15           <param-name>password</param-name>
    16           <param-value>123456</param-value>
    17       </init-param>
    18       
    19       <load-on-startup>1</load-on-startup>
    20   </servlet>
    21   <servlet-mapping>
    22       <servlet-name>si</servlet-name>
    23       <url-pattern>/si</url-pattern>
    24   </servlet-mapping>
    25 </web-app>

    @Override
    public void init(ServletConfig arg0) throws ServletException {

    }
    参数中ServletConfig: 封装了Servlet的配置信息, 并可以获取到ServletContext对象

    1>配置Servlet的初始化参数
    在<servlet>里面配置Servlet的初始化参数,并且必须放到load-on-startup的前面
    <init-param>
    <param-name>key</param-name>
    <param-value>val</param-value>
    </init-param>
    按照以上格式可以配置多个初始化参数

    2>获取初始化参数
    获取初始化参数值
    getInitParameter(String name)
    以 String 对象的 Enumeration 的形式返回 servlet 的初始化参数的名称
    getInitParameterNames()
    返回此 servlet 实例的名称
    getServletName()

  • 相关阅读:
    【python练习】选课系统(基于面向对象的)
    【面向对象】类的特殊成员方法
    【面向对象】属性方法
    【面向对象】类方法
    【面向对象】静态方法
    【python练习】计算器(使用正则表达式实现)
    【面向对象】多态
    【面向对象】新式类和旧式类的区别
    re.findall()正则表达式中括号的坑
    您真的了解javaScript?(2)
  • 原文地址:https://www.cnblogs.com/azhw/p/5677093.html
Copyright © 2020-2023  润新知