是 Servlet 的扩展,本质上还是 Servlet每个 Jsp 页面就是一个 Servlet 实例Jsp 页面会被 Web 容器编译成 Servlet,Servlet 再负责响应用户请求

1.http协议

1.http是网络的一个应用层协议

2.http是超文本传输协议,一定是基于请求响应过程,发起请求,产生响应。

3.基于TCP协议

4.一次请求一次响应,有求必应

2.http的客户端

浏览器

IE/Edge、chrome、safiy、opel、firefox......

Java

URLConnection

HTTPClient

OKHTTP

wget/curl

3.http的服务端

网络应用的服务端

1.启动监听服务,等待连接

2.进行网络通信,接受请求,发送响应(使用对象流)

3.应用服务器(JavaEE)

3.1Tomcat(开源,市场占有高)

3.2Jetty(内嵌应用服务器,主要用来内部测试)

3.3Negix(反向代理,主要用来负载均衡)

3.4Apache(处理静态应用,php最好搭配)LAMP(Linux、Apache、MySQL、Php)

3.5JBoss(功能强大,开源)EJB容器

3.6GlassFish(sum公司开发)

3.7WebLogic/WebShare(EJB支持,服务器集群支持)商用

4.http的请求方法

HTTP1.0 定义了三种请求方法:GET, POST 和 HEAD 方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

序号 方法 描述

1 GET 请求指定的页面信息,并返回实体主体。

2 HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头

3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。

4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。

5 DELETE 请求服务器删除指定的页面。

6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。

7 OPTIONS 允许客户端查看服务器的性能。

8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

9 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。

HTTP定义了与服务器进行交互的不同方法,的四种:GET、POST、PUT、DELETE。其中,GET和POST最常用。

GET用来获取资源,它只是获取、查询数据,不会修改服务器的数据,从这点来讲,它是安全的(后面还会从另一方面分析它的不安全性)。由于它是读取的,因此可以对GET请求的数据进行缓存。

POST则是可以向服务器发送修改请求,进行数据的修改的。举个例子:比如说我们要在知乎、或者论坛下面评论,这个时候就需要用到POST请求。但是它不能缓存,为什么呢?设想如果我们将“评论成功”的页面缓存在本地,那么当我发送一个请求的时候,直接返回本地的“评论成功”页面,而服务器端则什么也没有做,根本没有进行评论的更新,岂不是难以想象

get与post区别

GET没有POST安全、GET请求时URL的长度是有限制的、GET没有body而POST有body等等。这些都是针对浏览器中的要求, 在使用HTTP作为接口进行传输时,就没有这么多条条框框了,此时GET和POST只是HTTP协议中的两种请求方式,而HTTP协议是基于TCP/IP的应用层协议, 无论GET还是POST,用的都是同一个传输层协议,所以在传输上没有区别。

因此,在用作为接口进行传输时,最大的不同就在于报文格式上的不同了

POST /url HTTP/1.1 GET /url HTTP/1.1

上面所示的分别为POST方法请求的报文第一行和GET请求的报文第一行, 显而易见的区别就是方法名不同。除此以外,就没有那么多要求了,GET也可以有body,POST也不一定非要使用body,只要客户端和服务器端确定好规范即可,至于形式则你们随意。只不过现在已经习惯了现有的规则,再去改变有些麻烦,毕竟客户端和服务器端要花时间去探讨具体的对接形式。

5.http的响应

MIME (多用途互联网邮件扩展类型)

常见的媒体格式类型如下:

text/html :HTML格式

text/plain :纯文本格式

text/xml :XML格式

image/gif :gif格式

image/jpeg :jpg格式   验证码

image/png:png格式

以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式

application/xml:XML数据格式

application/atom+xml :Atom XML聚合格式

application/json:JSON数据格式

application/pdf:pdf格式

application/msword :Word文档格式

application/vnd.ms-excel     excel文档格式

application/octet-stream :二进制流数据(如常见的文件下载)

application/x-www-form-urlencoded :<form encType="">中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data :需要在表单中进行文件上传时,就需要使用该格式

6.Tomcat服务器的安装与部署

1.Tomcat是一个java程序必须使用JDK(Tomcat需要编译jsp程序)

2.需要配置JAVA_HOME环境变量(jdk的安装路径)

3.解压即可使用

4.启动:

4.1安装目录下/bin目录打开cmd窗口,输入startup

4.2启动的标志:启动时间,启动端口号

Tomcat的目录结构

/bin这个目录下存放着Tomcat的一些可执行文件,包括启动、停止等

/conf这个目录下存放着Tomcat的配置文件,常用的有

server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码

web.xml可以设置tomcat支持的文件类型

context.xml可以用来配置数据源之类的

tomcat-users.xml用来配置管理tomcat的用户与权限

/webapps这个目录下存放网站的文件夹

一个主机可以装多个Tomcat(区分端口,部署不同的网站)

协议(http/https)、IP、端口只要有一个不一样就是不同的网站(域)

部署网站

1.自动部署(将网站文件夹放在Tomcat的webapp文件夹下)

2.server.xml配置

<Context docBase="你的项目路径" path="浏览器要输入的路径">

3.web.xml

在\conf\Catalina\localhost:添加testA.xml

添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="D:\test\dubbo-admin-2.5.10" reloadable="false" />

  docBase还是指向WEB工程的绝对路径。

此时启动tomcat,浏览器输入:localhost:8080/testA,说明部署成功!(访问路径为此XML的名称)

7.JSP与HTML的区别

1.html可以直接被浏览器打开,而JSP不行

2.Jsp可以把java代码嵌入到heml中(脚本代码)

3.Jsp为什么要嵌入到java代码

利用Java代码动态生成HTML

4.动态网页技术(动态生成网页的技术)代码根据实际情况临时线现场产生的网页

常用的动态网页技术

C++,ASP(vb,ASP.NET C#)

ASP、PHP、JSP、Python、Go

里面都可以嵌入html、css、js(模板)

8.Jsp的内部元素

1.编译元素

影响jsp编译为java的class文件

1.page

<%@ page contentType="text/html;charset=UTF-8"/*响应类型*/ language="java" %>

<%@ page import="java.util.LinkedList" %>/*导入包*/

2.include

3.taglib

3.模板元素

HTML

CSS

JS

3.脚本元素

1.普通脚本元素

 <% /*普通java代码*/ %>

2.声明式脚本

<%! /*全局变量的定义,函数的定义等*/%>

3.表达式脚本

<%= serviceType.getTitle()/*相当于out.println(serviceType.getTitle()),直接输出一个元素*/%>

4.注释元素

<%--<td><%= serviceType.getTitle()%></td>jsp的注释--%>

<!--  html注释 -->

(1)html注释:html注释又称为显示注释,是指包含在“<!--”和“-->”之间的内容,在客户端源代码中显示注释内容,但不被浏览器直接显示。“<!--”和“-->”之间可以包含jsp表达式,并被jsp容器解释。

 (2)jsp隐藏注释:隐藏注释写在jsp程序中,用<%--隐藏注释--%>标记的字符在jsp编译时被忽略。它不会显示在客户端浏览器中,也不会出现在客户端源代码中。

html注释与jsp隐藏注释的区别在于:html是显示注释,注释内容可以在客户端源代码中看到,而jsp隐藏注释的注释内容不能传输到客户端,即在客户端源代码中不能产看到jsp隐藏注释内容;html注释还可以在注释中使用表达式,而在jsp隐藏注释中不能使用表达式。html注释和jsp隐藏注释都不能显示在客户端浏览器中,所以这里的“显示”和“隐藏”是指注释内容是否显示在客户端源代码中。

5.动作指令

使用jsp标签代替java代码

作用:

1.jsp作为一种模板技术,用来显示数据

2.数据与显示分离开

3.被JSTL、EL表达式所替代

4.jsp的include是在运行时包含,而include编译元素是在编译时包含

6.其他模板技术(freeMark、themeleaf、relocity)

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:05月04日

热门专题

国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
卓越综合高中|卓越综合高中
卓越综合高中
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
天麻的功效与作用吃法|天麻的功效与作用,天麻的功效与作用吃法,天麻炖什么治头痛最好,天麻的功效与作用禁忌,天麻多少钱一斤,天麻的功效与作用吃法及禁忌,天麻怎么吃效果最好,天麻粉的功效与作用,天麻怎么吃
天麻的功效与作用吃法
大理科技管理学校|大理科技管理中等职业技术学校,大理市科技管理中等职业技术学校
大理科技管理学校
开放大学|开放大学报名,开放大学报考,开放大学,什么是开放大学,开放大学学历,开放大学学费,开放大学报名条件,开放大学报名时间,开放大学学历,开放大学专业
开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部