Java网络编程Servlet学习

定义

servlet是一个接口,定义了java类被Tomcat访问到的规则。

实现步骤

定义一个类实现这个接口,复写方法。注解配置路径或者使用web.xm配置路径。

执行原理

1:服务器端接到客户端访问的路径后,解析URL路径,获取访问的Servlet资源路径。
2:查找web.xml,根据url-pattern找到该路径。
Servlet3.0以上的版本,可以不创建web.xml,可使用注解配置。(java6以上支持servlet3.0)
3:根据servlet-name找到servlet-class类名。
4:Tomcat将字节码文件加载进内存,并创建其对象。
5:调用方法

Servlet生命周期

1:被创建,执行init方法,只执行一次。
Servlet被创建
* 默认:第一次访问时,servlet被创建。
* 修改为服务器启动时就创建。
给0/正整数指定0或正整数。
Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。
尽量不要在Servlet中定义成员变量。

2:提供服务:执行Service方法,执行多次。
3:被销毁:执行destory方法,执行一次。用于释放资源。

Servlet体系结构

Servlet接口 - GenericServlet抽象类 - HttpServlet抽象类

  • 如果我们只用到了service方法,只需要extends HttpServlet,然后实现service方法即可。
  • HttpServlet:对http协议的一种封装,简化操作
    1:定义类继承HttpServlet
    2:复写doGet(),doPost()方法

客户端发送请求:
1:请求方式get,post
2:请求头,浏览器告诉服务器一些信息。
User-Agent:告诉服务器使用的浏览器版本信息。(兼容性)
Reference:告诉服务器我从哪里来。(防盗链,统计)
3:请求空行,分割post请求头和请求体的。
4:请求体

Request和Response

1:request和response对象是由服务器创建的。我们来使用它们。
2:request是来获取请求消息的,response是设置响应消息的。

request

继承体系:
ServletRequest – 接口
HttpServletRequest --接口
org.apache.catalina.connector.RequestFacade@1689f20类

功能
1:获取请求消息数据
- 获取请求行数据
GET /day/demo1?name=zhangsan HTTP:1.1
方法:
1:获取请求方式,GET:String getMethod()
2:获取虚拟目录,/day:String getContextPath()
3:获取Servlet路径,/demo1:String getServletPath()
4:获取get方式请求参数:String
- 获取请求头数据
- 获取请求体数据
2:其他功能

你可能感兴趣的:(java)