http协议
http协议,是一个客户端请求和响应的标准协议,这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。用户输入地址和端口号之后就可以从服务器上取得所需要的网页信息。
通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。客户端发送给服务器的格式叫"请求协议";服务器发送给客户端的格式叫"响应协议".
Tomcat
Servlet
servlet本质上也是java类,但要避循servlet规范进行编与,没有maino方法,它的创建,使用,销毁都由
servlet容器进行管理(如 tomcat). (言外之意:写自己的类,不用写main方法,别人自动调用)
servlet是和http协议是紧密联系的,其可以处理http协议相关的所有内容。这也是servlet应用广泛的原因之一。
提供了servlet功能的服务器,叫做servlet容器,其常见容器有很多,如tomcat,jetty,weblogicseryer,
websphere,jboss等等。
package servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.http.HttpClient;
/*
实现Servlet
1.创建普通java类
2.实现Servlet的规范,继承HttpServlet类
3.重写service方法,用来处理请求
4.设置注解,指定访问的路径
*/
//@WebServlet("/ser01")
//@WebServlet(urlPatterns = "/ser01")
@WebServlet(value = "/ser01") //value和urlPatterns都是路径
public class servlet_demo1 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Hello Servlet");
//通过流输出数据到浏览器
resp.getWriter().write("hello world");
}
}
package servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/demo2")
public class servlet_demo2 extends HttpServlet {
/**
* 就绪/服务方法(处理请求数据)
* 系统方法,服务器自动调用
* 当有请求到达servlet时,就会调用该方法
* 方法可以被多次调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("被调用了");
}
/**
* 销毁方法
* 系统方法,服务器自动调用
* 当服务器关闭或应用程序停止时,调用该方法
* 方法只会执行一次
*/
@Override
public void destroy() {
System.out.println("Servlet被销毁了");
}
/**
* 初始化方法,系统方法服务器自动调用
* 当请求到达Servlet容器时,Servlet容器会判断Servlet对象是否存在,如果不存在则创建实例并初始化
* 方法只会执行一次
* @throws ServletException
*/
@Override
public void init() throws ServletException {
System.out.println("被创建了");
}
}