-
资源分类
- 静态资源:所有用户访问后得到的结果是一样的,成为静态资源,可直接被浏览器解析。
- 动态资源:每个用户访问相同资源后,得到的结果可能不一样,成为动态资源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器。如:servlet/jsp,php…
-
网络通信三要素
- IP: 电子设备(计算机)在网络中的唯一标识。
- 端口:应用程序在计算机中的唯一标识。 0~65536
- 传输协议:规定了数据传输的规则
- 基础协议:
- tcp:安全协议,三次握手,速度稍慢。
- udp:不安全协议,速度较快。
- 基础协议:
-
web服务器
- 服务器:安装了服务器软件的计算机。
- 服务器软件:接收用户的请求,处理请求,做出响应。
- web服务器软件:接收用户的请求,处理请求,做出响应。
- 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目,又称为web容器
-
Servlet
- 定义:运行在服务器端的java小程序
-
Servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则。
-
自定义servlet即实现servlet接口,复写方法即可。
-
servlet中的生命周期方法:
-
被创建: 执行init方法,只执行一次
默认情况下,第一次访问时servlet被创建。
可以手动配置执行servlet的创建时机:在标签下配置- 第一次访问时创建 的值为负数
- 在服务器启动时创建:的值为0或正整数servlet
-
提供服务:执行service方法,执行多次(每次访问servlet时,service方法都会被调用一次)
-
被销毁: 执行destroy方法,只执行一次(servlet被销毁时执行。服务器关闭时servlet被销毁。只有服务器正常关闭时才会执行destroy。destroy在servlet被销毁之前执行,一般用于释放资源)
servlet的init方法只执行一次,说明servlet在内存中只存在一个对象servlet是单例的。多个用户同时访问时,可能存在线程安全问题。解决:尽量不要再servlet中定义成员变量,即使定义了成员变量也不要对其修改值。
扫描二维码关注公众号,回复: 9110686 查看本文章 -
-
- 定义:运行在服务器端的java小程序
-
Servlet 3.0
优点:支持注解配置,可以不需要web.xml
使用步骤:- 选择servlet 3.0+版本,定义一个类,实现servlet接口并复写方法
- 在类上使用@WebServlet注解,进行配置
-
AJAX
- AJAX英文全称为Asynchronous(异步的) Javascript and XML
- 可以在不重新加载整个页面的情况下,与服务器交换数据并部分更新网页内容。
- AJAX请求是异步执行的,即要通过回调函数获得响应。
ajax工作流程图:
- XMLHttpRequest是AJAX的基础
XMLHttpRequest对象可以与服务器交互,从URL获取数据,而无需让整个页面刷新,使网页在不影响用户操作的情况下更新页面的局部内容。-
向服务器发送请求,使用XMLHttpRequest对象的open()和send()方法
xmlHttpRequest.open(method, url, async);- method:规定请求的类型;
- url:文件在服务器上的位置;
- async:是否是异步请求
xmlHttpRequest.send();
- 将请求发送至服务器。xmlHttpRequest.setRequestHeader(header,value);
- 提交html表单数据时,需要使用setRequestHeader方法设置请求头 ,然后在send方法中规定希望发送的数据,如下:
-
xmlhttp.open("POST","/try/ajax/demo_post2.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
- 服务器响应
xmlHttpRequest对象的responseText属性——获得字符串类型的响应数据
responseXML属性——获得XML形式的相应数据