- 因为servlet是一个接口,所以要想实现Servlet功能,需要实现Servlet接口,实现接口后还要重写该接口的所有抽象方法 ```java import javax.servlet.*; import java.io.IOException;
public class test implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("helloServlet");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
其中的service方法是最主要的,我令这个方法在控制台打印一句话。
2. 接下来,需要到web项目中的web.xml文件中配置Servlet程序
```java
<!-- servlet 标签给 Tomcat 配置 Servlet 程序 -->
<servlet>
<!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) -->
<servlet-name>HelloServlet</servlet-name>
<!--servlet-class 是 Servlet 程序的全类名-->
<servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>
</servlet>
<!--servlet-mapping 标签给 servlet 程序配置访问地址-->
<servlet-mapping>
<!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用--><servlet-name>HelloServlet</servlet-name>
<!--url-pattern 标签配置访问地址 <br/>
/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径<br/>/hello 表示地址为:http://ip:port/工程路径/hello <br/>
-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
- 启动Tomcat(服务器)
- 具体的访问原理如下:
- Servlet 的生命周期
1、执行 Servlet 构造器方法
2、执行 init 初始化方法
第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。
3、执行 service 方法
第三步,每次访问都会调用。
4、执行 destroy 销毁方法
第四步,在 web 工程停止的时候调用。
通过继承Servlet子类(HttpServlet)实现Servlet程序
在实际开发过程中,很少用实现Servlet接口的方法实现Servlet程序,一般是通过继承Servlet的子类—-HttpServlet,来实现Servlet程序
1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
、到 web.xml 中的配置 Servlet 程序的访问地址
public class HelloServlet2 extends HttpServlet {
/**
* doGet()在 get 请求的时候调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
System.out.println("HelloServlet2 的 doGet 方法");
}
/**
* doPost()在 post 请求的时候调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
System.out.println("HelloServlet2 的 doPost 方法");
}
}
使用 IDEA创建Servlet程序
需要注意的一点是,创建完以后还需要到web.xml中配置mapping