1、配置文件代码:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_1602952905005">
<servlet>
<servlet-name>some</servlet-name>
<servlet-class>web.SomeServlet</servlet-class>
<!-- servlet初始化参数配置 -->
<init-param>
<param-name>company</param-name>
<param-value>北京某某科技有限公司</param-value>
</init-param>
<!-- 让容器启动时即创建该servlet对象 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>some</servlet-name>
<url-pattern>/some</url-pattern>
</servlet-mapping>
</web-app>
2、Servlet具体代码
/**
* http://localhost:8080/web13/some
*/
public class SomeServlet extends HttpServlet{
public SomeServlet(){
System.out.println("SomeServlet's constructor...");
}
@Override
public void init() throws ServletException {
System.out.println("SomeServlet's init...");
}
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
System.out.println("someServlet's service...");
//ServletConfig对象可以用来访问,servlet的初始化参数。
ServletConfig config = getServletConfig();
//对应web.xml里面的init-param标签
String company = config.getInitParameter("company");
System.out.println("company:" + company);
}
}
3、启动tomact、部署项目,效果演示
部署项目:会执行构造方法、init方法
在浏览器上输入地址:http://localhost:8080/web13/some,执行service方法,
我们并在里面执行逻辑,得到 servlet 的初始化参数
a,什么是初始化
容器创建好servlet对象之后,会立即调用init方法。
b,怎样实现初始化处理逻辑?
b1,一般情况下,不需要写init方法,
因为GenericServlet已经实现了init方法:
将容器创建的ServletConfig对象保存下来,
并且提供了getServletConfig方法来获得该对象。
调用了一个空的init方法 (该init方法用于子类去override)。
b2,如果要实现自己的初始化处理逻辑,只要 override init() 方法。
b3,初始化方法只会执行一次。
b4,ServletConfig对象可以用来访问,servlet的初始化参数。
具体可参考我的这篇博文: java服务器端开发-servlet:5、Servlet生命周期介绍