init-param 中的数据是要在制定的 servlet 下才能取的到数据的
其中获取 init-param 的可以用 这样的一个方式去获取
ServletConfig config = getServletConfig();String name = config.getServletName("name")
或者在init方法中获取
public void init(ServletConfig config) throws ServletException { config.getInitParameter("name"); super.init(config);}
这两种获取额方式都要在web.xml 中配置对应的一个访问路径
贴上web.xml中的配置
test com.chen.servlet.MainServlet username admin test /test
若要获取到 <init-param> 标签中的 init-param 值在访问的时候就必须要同/test 这样的对应路径去访问
程序员最不喜欢做的事情应该就是写同样的东西,还要写上好多份了吧,于是就有人用注解的方式去写发现取不到 <init-param> 标签内的值
<context-param> 中的数据
user user
贴上servlet 的代码
@WebServlet("/te")public class MainServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletConfig config = getServletConfig(); config.getInitParameterNames(); //获取 init-param 中的所有数据 String user = getInitParameter("user"); //获取指定的一个数据 getServletContext().getInitParameter("user") //获取中的数据 }}
这边会犯的一个错误就是用注解的方式访问的时候回去获取 <init-param> 标签中的数据 ,其中的 getServletConfig() 是可以获取到许多有项目的基本信息的。