<servlet>:
<servlet-name>: 名称
<servlet-class>: 类名
<init-param>: 初始化参数(只有本servlet能够读取)
在servlet中使用Servlet.getServletContext().getInitParam(String parameName)获取初始化参数的值
通过Servlet.getInitParameterNames()获取所有初始化参数的名称
<load-on-startup>:servlet加载方式,可选值0或1
0: 有人第一次请求该servlet时加载
1: tomcat启动时加载
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.zml.servlet.LoginServlet</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>:servlet的访问方式
<sertlet-name>: 名称
<url-pattern>: servlet的访问方式
允许通配符“*”“?”
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<context-param>:上下文参数/文档参数(所有servlet都能够读取)
- Servlet中通过getServletConfig().getServletContext()获取ServletContext对象(上下文),然后通过ServletContext.getInitParameter(String paramName)获取初始化参数的值
- 通过ServletContext.getInitParameterNames()获取所有初始化参数的名称
<context-param>
<param-name>allowed file type</param-name>
<param-value>.gif, .jpg, .bmp</param-value>
</context-param>
补充:资源注射(@Resource)
Java5.0引入的新特性。
不需要Servlet主动去读取资源,Toncat启动的时候会把web.xml里配置的信息主动“注射”到Servlet里。
需要在XML中配置。
用法:
java代码用法:
//可以分两行写
@Resource(name="hello") private String hello; //也可以写成一行 private @Resource(name="hello") String hello;
Xml中配置:
<env-entry>
<env-entry-name>hello</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello, Welcome to the JavaEE Resource Injection.</env-entry-value>
</env-entry>