Servlet的简单使用

文章目录

什么是Servlet

  1. Servlet 是 JavaEE 规范之一。规范就是接口。
  2. Servlet 是 JavaWeb的三大组件之一。三大组件分别是:Servelt程序、Filter 过滤器、Listener 监听器。
  3. Servlet 是运行在服务器上的一个java小程序,它可以就收客户端发送过来的请求,并响应数据给服务器。

Servlet 的生命周期

  1. 执行Servlet构造器方法
  2. 执行init初始化方法
  3. 执行 service方法
  4. 执行 destory销毁方法

一二步,是第一次访问的时候创建servlet程序会调用
第三步,每次访问都会调用
第四步,在web工程停止的时候调用

Servlet类的继承体系

自定义的servlet程序—继承—>Class HttpServlet—继承—>Class GenericServlet—实现—>Interface Servlet

  • Servlet 接口,只负责定义Servlet程序的使用规范
  • GenericServlet 类实现了Servlet 接口。做了很多空实现。并持有一个ServletConfig类的作用。并对ServletConfig的使用做了一些方法
  • HttpService抽象类实现了service()方法,并实现了请求分发处理

我们只需要根据业务的需要重写doGet和doPost方法即可。

通过继承HttpServlet实现Servlet程序

一般在实际项目开发中,都是使用继承HttpServlet类的方式去实现Servlet程序

  1. 编写一个类去继承HttpServlet类
  2. 根据业务需要重写deGet或者doPost方法
  3. 到web.xml中配置Servlet程序的访问地址。

继承HttpServlet来实现Servlet
代码:

package com.dyit.servlet_test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletTest extends HttpServlet{
	
	
	//响应输出一个hello servlet
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter pw = resp.getWriter();
		pw.print("hello servlet");
		pw.flush();
		pw.close();
		
	}
	
	
}

xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>helloweb</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<!-- servlet 标签给 Tomcat 配置 Servlet 程序 -->
	<servlet>
        <!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) -->
		<servlet-name>ServletTest</servlet-name>
        <!--servlet-class 是 Servlet 程序的全类名-->
		<servlet-class>com.dyit.servlet_test.ServletTest</servlet-class>
		<init-param>
			<param-name>charset</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</servlet>
<!--servlet-mapping 标签给 servlet 程序配置访问地址-->
	<servlet-mapping>
        <!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用-->
		<servlet-name>ServletTest</servlet-name>
        <!--url-pattern 标签配置访问地址 <br/>
/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径 <br/>
/hello 表示地址为:http://ip:port/工程路径/hello <br/>
-->
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>

</web-app>

会看到以下效果
helloweb 位项目名
Servlet的简单使用

上一篇:idea中import javax.servlet.http.HttpServlet出错


下一篇:SECS连接模式中active与passive