第1章 HTTP(协议)
1.1 HTTP概述
HTTP:Hyper Text Transfer Protocol(超文本传输协议),是一个有请求有响应的规则
协议:双方约定好的规则
1.2 HTTP工作原理
HTTP协议工作于客户端-服务端架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等
Web服务器根据接收到的请求后,向客户端发送响应信息
HTTP默认端口号为80,但也可以改为8080或者其他端口
1.3 http与https区别
1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用
2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
4.http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
1.4网页中的HTTP协议
第2章 Tomcat
Tomcat实际上是一个容器,里面放的是servlet,servlet就是连接前后端的唯一途径
2.1 下载
下载过压缩包,直接解压就行了;
解压后的目录:
2.2 配置环境变量
在PATH中 加%CATALINA_HOME%\bin;%CATALINA_HOME%\lib
2.3 测试
安装:首先命令进入tomcat的bin目录下; service.bat install
稍候提示 the service “tomcat8” has been installed ,则表示成功
然后进入安装的tomcat的bin目录下找到:
运行测试:(切记不可多次点击运行,一个服务器不能多次启动)
或者启动方式:
运行的状态:
最好打开浏览器:输入localhost:8080
删除tomcat:service.bat remove(删除服务之之前一定先关掉tomcat)
2.4 查看tomcat自带的服务
Docs:
Examples:
Manager:tomcat管理需要账号密码
设置账号密码:先进入tomcat的conf目录下找到tomcat-users.xml
设置完账号密码必须重启tomcat才能有效;
进入manager后:
2.5 eclipse配置tomcat
创建web项目
Web.xml:
Web项目添加到tomcat:
启动tomcat:
创建html测试:
启动tomcat访问:ip+端口号+项目名+路径
访问默认页面: http://localhost:8080/jh_servlet_hw/
第3章 Servlet
3.1 Servlet概述
Java Servlet是运行在web服务器或应用服务器上的程序
Servlet就是连接客户端与服务器的工具
3.2 生命周期
init()初始化:在tomcat启动时执行一次
servlet()服务:主要功能代码
destroy()销毁:在tomcat关闭时执行一次
3.3 Servlet执行流程
servlst的父类HttpServlet继承Gen ericServlet
HttpServletRequest继承ServletRequest:请求只有客户端向服务端发送
HttpServletResponse继承ServletResponse:响应服务端向客户端响应请求
发送请求:只有客户端才能发送,一般都是客户端主动
第4章 JSP
4.1 jsp概述
Jsp(Java Server Pages):jsp是一个特殊的servlet
4.2 生命周期
_jspInit()初始化:在tomcat启动时执行一次
_jspService()服务:主要功能代码
_jspDestroy()销毁:在tomcat关闭时执行一次
4.3 运行原理
Jsp被编译过的路径,一般在tomcat的work目录
jsp被翻译成:jsp名+jsp.java文件,继承HttpJspBase实现了HttpServlet,再给编译成字节码文件:jsp名+jsp.class
Jsp执行过程:用户客户端访问页面发送请求,被web服务器翻译成.java文件,然后被jdk编译成class文件,最后在被web服务器解析成html响应到客户端,浏览器只能解析html文件,Tomcat jdk jre 各有各自的功能,缺一不可;jsp一次加载全程运行,servlet是一个单例
4.4 九大内置对象
内置对象不用再像java一样new对象,可以直接拿着使用
name | 类型 | 描述(decription) |
---|---|---|
pageContext | PageContext | 上下文 |
session | HttpSession | 会话 |
application | ServletContext | 应用服务 |
config | ServletConfig | 配置 |
out | JspWriter | 输出 |
page | index_jsp | Jsp的java文件 |
request | HttpServletRequest | 请求 |
response | HttpServletResponse | 响应 |
e | Exception | 异常 |
4.5 四大作用域
作用域 | 描述 |
---|---|
Page(pageContext) | 当前页 |
request | 一次请求(多个页面) |
session | 一次会话 |
application | 应用 |
作用域大小:application > session > request > pageContext,使用规则能用小的作用域不要大的作用域,浪费内存
4.6 注解
注解简化了web.xml的配置,简化了代码量
注解@WebServlet(路径url)相当于web.xml中servlet标签和servlet-mapping标签
4.7 EL表达式
语法:${表达式} (El主要用于页面中的取值,简化页面代码)
El表达式对应作用域${pageScope / requestScope / sessionScope / applicationScope.key}
4.8 JSTL标签库
4.8.1 概述
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能
4.8.2 JSTL库安装
官方下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
本站下载地址:jakarta-taglibs-standard-1.1.2.zip
解压jakarta-taglibs-standard-1.1.2.zip,将jakarta-taglibs-standard-1.1.2/lib/下的两个 jar 文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下
4.8.3 在jsp中引入
核心标签:<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
国际化:<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
函数标签:<%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
第5章 AJAX
5.1 AJAX概述
5.1.1 Ajax(异步javascript xml请求)
在不刷新页面的情况向服务器发送请求,客户端与服务端交互数据,需要发送请求(http);也就是能够刷新局部网页数据而不是重新加载整个网页
5.1.2 响应
服务器响应的,其实后端就是一个servlet,ajax一般运用在注册或者登录的时候进行信息提示,也就是在网页不重新加载的情况进行了一次客户端与服务端的数据交互,一般情况服务端(servlet)返回的是一个json类型的数据
5.2 准备工作
一个页面向服务器发送请求
服务端还得再有个处理ajax请求的servlet
5.3 如何使用
5.3.1 第一步
// 创建xmlhttprequest对象
var xmlhttp = new XMLHttpRequest();
// XMLHttpRequest对象用来和服务器交换数据
var xhttp;
if (window.XMLHttpRequest) {
// 现代主流浏览器
xhttp = new XMLHttpRequest();
} else {
// 针对浏览器,比如IE5或IE6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
5.3.2 第二步
使用xmlhttprequest对象的open()和send()方法发送资源请求给服务器
5.3.3 第三步
使用xmlhttprequest对象的responseText或responseXML属性获得服务器的响应
5.3.4 第四步
onreadystatechange函数,当发送请求到服务器,我们想要服务器响应执行一些功能就需要使用onreadystatechange函数,每次xmlhttprequest对象的readyState发生改变都会触发onreadystatechange函数