在创建BinCatServletContext时我们指定了一个ServletConfig实现:BinCatServletConfigServletConfig用于指定Servlet启动时的配置信息。
    BinCatServletConfig实现:

    1. package com.anbai.sec.server.servlet;
    2. import javax.servlet.ServletConfig;
    3. import javax.servlet.ServletContext;
    4. import javax.servlet.annotation.WebInitParam;
    5. import javax.servlet.annotation.WebServlet;
    6. import java.util.Collections;
    7. import java.util.Enumeration;
    8. import java.util.HashSet;
    9. import java.util.Set;
    10. public class BinCatServletConfig implements ServletConfig {
    11. private final BinCatServletContext servletContext;
    12. private final WebServlet webServlet;
    13. private final WebInitParam[] webInitParam;
    14. public BinCatServletConfig(BinCatServletContext servletContext, WebServlet webServlet) {
    15. this.servletContext = servletContext;
    16. this.webServlet = webServlet;
    17. this.webInitParam = webServlet.initParams();
    18. }
    19. @Override
    20. public String getServletName() {
    21. return webServlet.name();
    22. }
    23. @Override
    24. public ServletContext getServletContext() {
    25. return this.servletContext;
    26. }
    27. @Override
    28. public String getInitParameter(String name) {
    29. for (WebInitParam initParam : webInitParam) {
    30. String paramName = initParam.name();
    31. if (paramName.equals(name)) {
    32. return initParam.value();
    33. }
    34. }
    35. return null;
    36. }
    37. @Override
    38. public Enumeration<String> getInitParameterNames() {
    39. Set<String> initParamSet = new HashSet<String>();
    40. for (WebInitParam initParam : webInitParam) {
    41. initParamSet.add(initParam.name());
    42. }
    43. return Collections.enumeration(initParamSet);
    44. }
    45. }