第一种方式:web.xml配置
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.servlet.HelloServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
其中,load-on-startup>=0时,Web容器(Tomcat)启动过程中会自动加载servlet类,并且其值越小,优先级越高,根据load-on-startup值由小到大依次加载。
而当load-on-startup<0或未定义时,Web容器(Tomcat)启动过程中不会自动加载servlet类,而是在第一次请求时加载。
public void init(ServletConfig config) throws ServletException {
System.out.println(config.getInitParameter("charset"));
}
第二种方式:注解配置(适用于Servlet 3.0之后的版本)
@WebServlet(name = "HelloServlet", value = { "/hello" }, loadOnStartup = 1, initParams = { @WebInitParam(name = "charset", value = "UTF-8") })