第二阶段:编写的Servlet实现GenericServlet接口,该接口会在init(ServletConfig config)方法中自动装配ServletConfig对象。
1. ServletConfig对象属性
- servletConfig定义:
Servletconfig当中包装了web.xml当中的servlet标签的内容,自动包装在servletConfig当中,具体的数据可以配置在信息当中 - 具体使用的方式:
继承servlet接口,然后实现里面的方式init(),该方法会知道装配ServletConfig;
然后可以得到ServletConfig当中的各种属性
2. ServletContext对象属性
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
//通过servletConfig对象可以得到ServletContext类。
config.getServletContext();
- 定义:为Servlet的容器,由Tomocat实现,是由web服务器启动时创建,对于一个webapp中Servlet Context只有一个,且在关闭时销毁;
该方法为容器的上下文
容器 > 上下文 > servletConfig
- 使用方式:
setAttribute(name,value)放到域当中
getAttribute(name)得到域当中的值
removeAttribute(name)取消值
要是存到该域当中的值
1、全体用户共用的属性
2、占用空间不大:因为每次启动的时候都要加载改域,所以不能占用空间大。
3、且不经常改变的值:考虑多线程,如果经常改变容易引起多线程问题。
3. Http协议
-
协议的定义:提前规范好的一套规范,双方的使用者都知道的一套规范
-
Http协议:是由W3C(万维网联盟)制定的一套规范,
Http的请求协议---------Http的响应协议
请求行 ---------------- 状态行
请求头 ---------------- 响应头
空白行 ---------------- 空白行
请求体 ---------------- 响应体
状态行:协议版本号、状态码:200、404、500等等,状态描述信息:OK、Not Forbiden等等
响应头:响应的内容类型、长度、响应时间
空白行:分割响应头和响应体
响应体:响应的正文
请求行:请求方式、请求URI统一资源标识符、协议的版本号
请求头:
空白行
请求体
tips1: URL与URI的区别:
URL:网络统一定位符号(Location),能够通过URL准确定位到一个资源。
URI:只有资源的部分路径,比如/servlet03/index.html. <—只能通过以上得到相对路径
tips2: get请求和post请求的区别:
1、get请求能够回显数据到浏览器当中,即把地址放到浏览器路径、但是post在请求体当中
2、get和post请求其实都是tcp/ip协议,所以本质一样,只不过get只用发送一次数据包,post需要先发送一个数据包确保服务器能够接收到数据、然后再次发送数据
3、get相对更加安全,因为只从服务器得到数据,不从服务器传输数据。
4. get请求会自动缓存,但是post请求不会自动缓存。
以上都只是规定,get也可以发送数据,post也可以只接受数据,以上只是规定而已。
tips3:父类的加了final的方法不能被重写可以被继承,但是不能被重写,即使子类有同签名的方法,该方法也只是被隐藏,不会被覆盖。