`

day04 tomcat及http协议

 
阅读更多

动态网页技术: 98前后 ASP PHP JSP
.net(微软技术集合 VB ASP C#) 、python、ruby(快速开发网页 语言 10分组开发一套博客系统【脚手架】)

当今网站开发 主流技术: ,net 和 php

学习javaweb ----- CRM 、ERP、OA 定制web界面

JVM支持多种脚本 语言: Jruby Groovy

Web系统 采用 B/S结构 :Browser -- Server
1、浏览器向服务器发送访问目标资源请求 (请求)
2、服务器根据请求的目标资源路径,在服务器端进行查找 (请求处理)
3、服务器会将查找结果 返回给客户端浏览器 (响应)
* 在B/S系统中必须先产生请求,才会生成响应 ---- 请求和响应时成对出现的

什么是web服务器?
硬件环境、软件环境
在网络中安装web服务软件的计算机

web服务器软件环境搭建
1、weblogic BEA公司产品 ,随着BEA已经被oracle收购 ---- 全面支持JavaEE 所有规范 ,收费的
2、websphere IBM 公司产品,功能比weblogic更加强大和复杂 ----- 全面支持JavaEE 规范,收费
3、Apache Tomcat 免费、开源 Google 很多java开发web应用都是搭建tomcat环境上 ---- 在企业中小型java项目都是搭建tomcat上
* tomcat 不支持所有javaee规范,只支持 Servlet/JSP/JNDI/JavaMail 等JavaEE规范

JBOSS --- EJB服务器 JBOSS公司产品

掌握Tomcat服务器安装和配置
1、去Apache官方网站下载tomcat服务器
tomcat 主流下载版本 5.5 6.0 7.0 ---- 最新版本7.0
* 课程以tomcat6.0 为主 下载6.0 zip格式

2、 解压缩tomcat
* 不要使用含有空格和中文目录

3、启动tomcat之前 配置 JAVA_HOME 环境变量 ------ 配置JDK安装路径
* 注意 JAVA_HOME 使用 下划线 , 配置JDK安装路径时,一定不要以; 结尾

4、启动tomcat服务器
双击bin/startup.bat (如果使用linux 双击bin/startup.sh)
输入 http://localhost:8080/ 访问tomcat网站主页

5、因为网站通过HTTP协议访问,HTTP协议默认端口80 ------ 修改tomcat服务器启动端口 80
修改 conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> 将8080 修改为 80
访问localhost:80 端口 ----- 省略端口写法 http://localhost 访问站点


tomcat启动问题
1、窗口一闪然后消失 ----- 编辑startup.bat 在文件末尾加入 pause指令,再次运行,读取错误原因,根据原因解决
* JAVA_HOME路径必须是JDK不可以是JRE
2、端口占用问题
发现端口被占用后,通过cmd命令行,查看占用端口进程 --- netstat -ano (xp win7 通用)
在任务管理器关闭 该进程
* windows系统 WWW服务 --- IIS服务 --- 发现占用端口进程system (证明一个服务占用端口 --- 通过services.msc 关闭www服务)
3、CATALINA_HOME环境变量
指定tomcat安装位置 (该环境变量可以不配置) ---- 如果配置出错,tomcat将无法启动


Tomcat版本Servlet/JSP版本JavaEE版本运行环境
4.12.3/1.21.3JDK1.3
5.52.4/2.01.4JDK1.4
6.02.5/2.15.0JDK5.0
7.03.0/2.26.0JDK6.0

Tomcat 支持Servlet和JSP规范,Servlet技术属于JavaEE规范
* 随着javaEE 版本提升 -- Servlet版本提升 --- 运行Servlet环境Tomcat版本提升
* tomcat运行需要JDK 环境版本

如果编写 JavaEE5.0工程 需要哪个版本tomcat可以运行? 6.0 7.0

Tomcat目录结构
bin ---- 存放tomcat启动关闭程序
conf --- 存放tomcat 配置文件
lib --- tomcat运行需要jar包
logs ---- tomcat日志文件
webapps ---- 网站发布目录 (所有网站可以发布到该目录)
work ----- 存放工程运行时,产生数据文件 (JSP翻译Servlet、Session持久化数据 )

html css javascript 图片 音频 视频 文本 --- 静态web资源
程序Servlet、JSP ---- 动态web资源

网站开发好后,入股想让网站被外界访问,需要将网站发布到 web服务器tomcat上 (虚拟目录映射)

网站的标准目录结构
站点根目录
------- 静态web资源、jsp
------- WEB-INF目录
------- classes目录 (保存,class文件)
-------- lib 目录 (当前网站需要jar包)
-------- web.xml (网站配置文件)
* WEB-INF目录不是必须的,没有java动态程序代码, 可以没有WEB-INF 目录
* WEB-INF目录下资源不能被浏览器直接访问

tomcat发布网站三种方式
原理:配置<Context>元素
1、配置tomcat/conf/server.xml
<Host name="localhost" > 内部 添加 <Context> 元素
<Context path="/aa" docBase="C:\AA" /> ----- > 为网站配置虚拟目录 /aa ---- 映射到 c:\AA 目录
* 修改server.xml 重启tomcat

2、$CATALINA_HOME/conf/[enginename]/[hostname]/xxx.xml
tomcat/conf/Catalina/localhost/xxx.xml
在conf下新建 Catalina
在Catalina下新建 localhost
在localhost下 新建 bb.xml
<Context docBase="C:\BB" /> ------ 为什么不需要写path ---- 虚拟目录就是文件名bb path值 默认 /bb
* 添加 bb.xml 不用重启tomcat

* 推荐第二种写法(不需要重启服务器,而且出错不会影响其它工程运行),尽量不要使用第一种

3、将网站复制到tomcat/webapps
* 不用重启tomcat
* tomcat 会根据文件夹名称,自动生成虚拟路径 CC文件夹 ---- 虚拟路径 /CC

虚拟目录? 浏览器访问网站采用访问路径 /aa /bb /abc ---- 这些路径不一定是服务器真实存在目录,只是浏览器在访问这些路径时,映射到指定网站根目录

WAR包制作 ? 当网站非常大,数据非常多,将开发平台网站发布到服务器运行环境 (在java发布便利性 war包 )
什么是war包? zip格式应用数据压缩包 (不能是rar格式)

先用压缩软件 将网站制作xx.zip --- 重命名 xx.war --- 复制war到tomcat/webapps

Tomcat Manager 使用 (程序员管理已经发布到tomcat网站)
*conf/tomcat-users.xml 加入
<role rolename="manager"/>
<user username="tomcat" password="s3cret" roles="manager"/>
* 重启服务器
* 这个功能默认不要开启 (安全问题)

在tomcat内部同时 架设多个网站 --- 百度网站、谷歌网站、传智播客
* 虚拟主机技术 ---- 在tomcat中配置 <Host> 元素
1、下载搭建tomcat中网站 --- baidu
2、在c盘 新建虚拟主机目录 baidu , 在虚拟主机目录中新建网站根目录 main , 将百度网站复制main 目录中
3、在tomcat中server.xml新建<Host>
Host name="www.baidu.com" appBase="C:\baidu"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
* 重启tomcat

4、修改本机hosts文件
* win7 系统 ,将hosts文件复制到桌面修改,改后复制回去
192.168.1.145 www.baidu.com

5、将c:\baidu\main 网站根目录 配置为缺省虚拟目录 server.xml <host>内添加部
<Context path="" docBase="main" /> ----- 配置缺省虚拟目录 /main 省略
http://www.baidu.com/baidu.htm ---- 访问本机百度

6、将main目录 baidu.htm 配置 网站欢迎页面
新建WEB-INF目录 下新建web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>baidu.htm</welcome-file>
</welcome-file-list>
</web-app>

hosts应用
1、限制用户上网 ,网站禁止访问
2、软件破解

缺省虚似主机 DefaultHost server.xml
<Engine name="Catalina" defaultHost="localhost"> ----- 一个tomcat中可以配置多台虚拟主机,但是只有一台虚拟主机。客户端可以直接通过ip访问
http://www.baidu.com ---- 客户端通过域名访问
http://192.168.1.145 ---- 通过ip访问

只有缺省虚拟主机可以通过ip访问

MyEclipse 整合 tomcat 进行 web 程序开发
1、配置myeclipse 内部tomcat 插件
配置tomcat6 在 window - preferences -- tomcat6
检查JDK 版本是否符合
Launch 默认采用 debug model
2、将tomcat插件设置为enable 浏览tomcat目录后 配置ok
3、在MyEclipse中通过插件 tomcat6 --- start 实际上 运行tomcat/bin/startup.bat
4、在console窗口 查看tomcat日志
* tomcat6 --- stop server 正常关闭tomcat 调用 tomcat/bin/shutdown.bat
* 如果直接点击 myeclipse console 窗口 红色按钮 --- 强行停止tomcat

在myeclipse中编写一个web工程
1、创建web project
context root url 默认工程名
Javaee 规范版本
* 在使用javaee5 规范版本时,默认支持jstl技术
2、新建html 将html编辑器 设置 html editor
window -- preference ---- general ---- editor --- File Associations

3、发布工程到tomcat
原理:将当前web工程复制tomcat/webapps
* 修改 发布虚拟目录名称 --- 右键工程属性 --- myeclipse ---web ----修改Web Context-root

----------------------------------------------------------------------------------------------------------------
网络开发 必须 先熟悉协议
TCP/IP 协议 ----- 大学通信工程专业 必修专业课

web开发 必须先 熟悉 http协议
客户端和服务器建立通信连接后,进行数据交互,使用协议进行交流

HTTP协议特征
1、基于TCP传输协议
OSI七层网络体系结构 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层
TCP 是 传输层 协议
HTTP 是 应用层协议 基于TCP 协议

TCP特征 : 三层握手
1)、A给B 说话: 能听到我说话吗?
2)、B回应:我能听到,能听到我说话吗?
3)、A回应:我也能听到
确保通信畅通的 ---- 数据传输不允许丢包
A 给 B 发数据,如果B 没有回应,A 选择重新发送 ----- 超时

2、默认端口80 省略端口 http://www.itcast.cn 省略 :80

3、基于请求-响应模式的协议
先请求,再出现响应 ---- 请求和响应 一一对应

实验一 : 通过telnet 连接服务器,进行协议操作
XP 自动安装telnet
win7 系统 安装telnet插件
* telnet 采用 传输层连接原理方式 通信内容必须严格按照应用层协议
语法:telnet ip port
1、 cmd> telnet localhost 80
2、手动输入HTTP协议请求
telnet乱码解决:ctrl+] 回车
3、输入协议内容
GET / HTTP/1.0
HOST: localhost
回车

实验二 : 安装Httpwatch
完成访问web页面时 http协议数据包 抓取

查看网络连接过程中 http协议内容

请求内容

GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
Accept-Language: zh
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: localhost
Connection: Keep-Alive

响应内容

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
ETag: W/"7347-1184876416000"
Last-Modified: Thu, 19 Jul 2007 20:20:16 GMT
Content-Type: text/html
Content-Length: 7347
Date: Sat, 09 Jun 2012 07:02:35 GMT

<?xml version="1.0" encoding="ISO-8859-1"?>

...


HTTP 和 HTML 关系 ?
HTTP 通信协议 规定数据传输格式
HTML 网页设计语言,静态网页数据

HTTP 传输格式 、HTML 传输内容

HTTP/1.0、HTTP/1.1 区别?
1.0 一次 与服务器连接 只能获得一个资源
1.1 一次与服务器连接 ,连续获得多个资源

思考题:
一个web页面中,使用img标签引用了三幅图片,当客户端访问服务器中的这个web页面时,客户端总共会访问几次服务器,即向服务器发送了几次HTTP请求。
* 三幅图片地址是否相同
如果三幅图片地址都不相同 --- 4次请求

第一部分 HTTP 请求
请求完整格式 包括三个部分 : 请求行、头信息、请求体

1、请求行:请求中第一行信息 ---- 包括三个部分 请求方式、资源路径、HTTP协议版本
例如: GET / HTTP/1.1
HTTP请求方式有几种 : POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
常用两种: GET 、 POST

客户端网页哪些是GET方式请求? 哪些是 POST 请求
GET方式 :1、用户直接在浏览器上手动输入url地址 2、<a href="url"></a> 3、<form method="get" > *form表单默认提交方式就是get
POST方式: 1、<form method="post" >

GET提交方式和POST提交方式区别 ?
Get url地址后携带数据有大小限制 1K ,提交数据在url上显示
* http://localhost/day04/url?username=zhangsan 格式 url?name=value&name=value&name=value...
以?分隔url和参数,参数采用键值对格式,多个参数使用& 符合分隔

POST 数据在请求体中,不在url上显示 ,没有数据大小限制
* username=zhangsan 请求体和头信息直接存在一个空行

2、头信息: 很多key -value
Accept: text/html,image/* ----- 客户端可以接收文件类型 text/html HTML文件 image/* 任意格式图片
Accept-Charset: ISO-8859-1 ----- 客户端可以识别编码字符集
Accept-Encoding: gzip ----- 客户端可以识别压缩数据格式 gzip是一种压缩格式
Accept-Language:zh-cn ----- 客户端浏览器语言
Host: www.itcast.com:80 ----- 访问服务器地址
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT ----- 该请求的资源在客户端保存最后访问时间 (缓存有关)
Referer: http://www.itcast.com/index.jsp ---- 上一次请求访问页面地址
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) ---- 客户端浏览器类型版本
Connection: close/Keep-Alive ---- 该次请求连接后,连接是保持还是关闭 1.0 关闭 1.1 保持
Date: Tue, 11 Jul 2000 18:23:51 GMT ---- 请求时间

******* Accept-Encoding 、If-Modified-Since 、Referer

Referer 防止客户盗链数据 :通过google搜索页面直接下载 其它网站数据 (盗链)
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String referer = request.getHeader("referer");// 获得头信息
response.setContentType("text/html;charset=gbk");
if (referer == null || !referer.startsWith("http://localhost")) {
// 盗链
response.getWriter().println("盗链可耻!");
return;
} else {
response.getWriter().println("XX网站促销信息 ...");
}

}

模拟浏览器访问服务器 获得 refererServlet当中信息
1) URL 连接 ---- HTTP协议
2) Socket 连接 ----- TCP协议
public class URLTest {
// 模拟客户端,绕过防盗链逻辑,获得需要信息
public static void main(String[] args) throws Exception {
// 1、创建URL对象
URL url = new URL("http://localhost/day04/referer");

// 2、链接目标资源
URLConnection connection = url.openConnection();

connection.addRequestProperty("referer", "http://localhost/index.jsp");

// 获得网站输入流
InputStream in = connection.getInputStream();
byte[] buf = new byte[1024];

in.read(buf);// 将流数据读取 buf中

for (byte b : buf) {
System.out.write(b);
}
System.out.flush();
}
}


3、请求体: 存放客户端提交post 请求 数据
key=value&key=value&key=value ....
例如 : username=sss


第二部分 HTTP响应
响应数据 分为三个部分 :状态行、头信息、响应体
1、状态行 分为三个部分: HTTP协议版本、状态码、描述信息
例如: HTTP/1.1 200 OK
100~199 Informational 请求信息不足 ,还需要其他信息才能处理
200~299 Success 请求处理成功
300~399 Redirection 服务器已经处理完毕,客户端还需要进一步动作
400~499 Client Error 客户端错误
500~599 Server Error 服务器端错误

200 请求处理成功 302 客户端进行重定向 304 客户端访问资源没有被修改后,客户端访问本地缓存 404 访问资源不存在 500 服务器内部出错
借钱
200 A 找 B 借钱 B 将钱 借个A
302 A 找 B 借钱 B 通知 A 找C 借钱 --- A 找C 借钱
304 A 找 B 借钱 , B对A 说 借过了 --- A 使用 之前从B 借的钱
404 没钱
505 B 不存在了

2、响应头
Location: http://www.it315.org/index.jsp ---- 重定向地址 结合 302 一起使用
* 重定向 两次请求 两次响应
Server:apache tomcat ----- 服务器类型
Content-Encoding: gzip ---- 设置响应数据压缩格式 ---- 请求 Accept-Encoding
* 如果响应数据经过压缩 传输体积更小,性能更好

没有压缩情况下 13605字节 http://localhost/docs/
如何设置tomcat压缩
* 通过设置 tomcat/conf/server.xml 设置响应数据压缩
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" compressableMimeType="text/html,text/xml,text/plain" compression="on"/>
* 清除浏览器缓存,重启tomcat
4244字节 http://localhost/docs/

Content-Length: 80 ----- 响应数据长度
Content-Language: zh-cn ----- 响应数据语言
Content-Type: text/html; charset=GB2312 ----- 响应数据类型
* 数据类型采用Mime协议规定类型 html文件 ---- text/html、 jpg文件---- image/jpeg
* 在 tomcat/conf/web.xml 中查看文件mime类型

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT ----- 和请求头信息 If-Modified-Since一起使用,控制服务器缓存
* ETag: W/"13397-1184876416000" tomcat生成Etag 13397文件大小 1184876416000文件最后修改时间(精确毫秒)
* 客户端下次请求时通过If-None-Match 携带刚刚 Etag信息

Refresh: 1;url=http://www.it315.org ----- 网页自动跳转
Content-Disposition: attachment; filename=aaa.zip ----- 文件下载时指定文件附件名称

控制该程序在客户端不缓存
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
* 对于动态程序,经常修改, 禁止浏览器缓存内容
response.setDateHeader("expires", -1);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");

Connection: close/Keep-Alive ---- 响应后连接是否关闭
Date: Tue, 11 Jul 2000 18:23:51 GMT --- 响应时间

重点:302结合Location进行重定向 、在tomcat配置gzip压缩 、tomcat缓存策略 、禁止浏览器缓存
response.setStatus(302);// 设置状态码302
response.setHeader("Location", "hello.html");// 重定向 hello.html

3、响应体
通常HTML 文件内容 ---- 如果设置响应体进行gzip压缩,看到gzip压缩内容

-------------------------------------------------------------------------------------------------
通过HTTP协议Range头信息 实现断点下载功能
在连接服务器目标资源进行下载过程中,传递Range头信息, 指定下载目标资源部分内容 ---- 实现断点下载功能

 

public static void main(String[] args) throws IOException {
URL url = new URL("http://localhost/day04/info.txt");

URLConnection connection = url.openConnection();
// 通过 addRequestProperty 添加头信息 Range实现断点下载
connection.addRequestProperty("Range", "bytes=100-");// 下载最后100字节

InputStream in = connection.getInputStream();

OutputStream out = new FileOutputStream("download.txt");

byte[] buf = new byte[1024];
int len;

while ((len = in.read(buf)) != -1) {
out.write(buf, 0, len);
}

in.close();
out.close();

}


使用URL类 模拟客户端访问 WebRoot/info.txt 下载文件中内容


小结:
1、Tomcat安装配置 ---- 修改端口 、掌握tomcat启动问题解决(一闪就没 pause,端口占用 netstat -ano)
2、tomcat 理论细节 Tomcat和JAVAEE、Servlet、JDK版本对应关系 、Tomcat目录结构、标准网站目录结构
3、虚拟目录映射三种方式
4、虚拟主机配置(虚拟主机DNS解析过程) ----配置缺省虚拟目录,配置欢迎页面、 配置虚拟主机
5、在MyEclipse中 使用Tomcat
6、HTTP 请求方式几种? GET和POST区别?
7、HTTP 协议头信息 Referer防盗链案例、Location重定向、tomcat的gzip配置、tomcat缓存策略、禁止浏览器缓存
8、Range断点下载 了解即可

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    day04_http,tomcat...

    HTTP协议特征 1、基于TCP传输协议 OSI七层网络体系结构 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层 TCP 是 传输层 协议 HTTP 是 应用层协议 基于TCP 协议

    day08-HTTP&Tomcat&Servlet.zip

    总之,"day08-HTTP&Tomcat&Servlet"的学习内容涵盖了Web开发的基础,包括HTTP通信机制、Tomcat服务器的使用和Servlet编程。这些知识是成为一名合格的Web开发者所必须掌握的,对于理解和构建复杂的Web应用具有重要...

    Day09_http协议 & servlet

    HTTP协议与Servlet都是互联网技术中非常重要的组成部分,尤其在Java Web开发领域中。HTTP协议是互联网应用层的一个重要协议,负责规定客户端与服务器之间传输的格式和规则,而Servlet则是一个Java编程模型,专门用来...

    day08-HTTP&Tomcat&Servlet

    Tomcat 是一个常用的 Web 服务器软件。 六、Servlet 概念:Servlet 是一个运行在服务器端的小程序,可以处理客户端的请求,并将响应发送回客户端。 七、其他技术 * 会话技术(Cookie、Session):解决 HTTP 协议...

    968389475012218day08-HTTP&Tomcat&Servlet.zip

    在IT行业中,HTTP、Tomcat和Servlet是三个非常重要的概念,尤其在Web开发领域。这里我们将深入探讨这些主题,帮助你理解它们的核心概念以及如何在实际应用中使用它们。 首先,HTTP(超文本传输协议)是互联网上应用...

    Apache-Tomcat-8.5.5(Linux )

    Tomcat 8.5.x版本升级变化 By jmatrix_ds | Published 2017 年 1 月 9 日 1. 其中一些重要变化(对HTTP2,SSL支持的改动较多) &lt;1&gt; 不再提供对HTTP BIO,AJP BIO的支持;...转载于http://www.jmatrix.org/day/1186.html

    传智播客黑马35期

    day08_http协议 day09_servlet编程 day10_会话管理 day11_jsp基础 day12_jsp加强 day13_自定义标签&编码实战 day14_mysql基础 day15_mysql加强 day16_jdbc基础 day17_jdbc加强 day18_dbutils day19_分页...

    高级软件人才培训专家-day04-SpringBootWeb入门

    - 无状态协议: 即 HTTP 协议本身不具备保存会话信息的能力。这意味着服务器无法直接存储关于客户端的信息,除非使用 Cookie 或 Session。 #### 3.2 HTTP 请求协议 - **格式**: 包括请求行、请求头、请求体三部分...

    day01基础WEB

    **HTTP(超文本传输协议)**和HTTPS(安全版HTTP)是Web通信的基础。HTTP定义了客户端和服务器之间数据交换的格式和规则,HTTPS在HTTP的基础上增加了SSL/TLS加密,确保数据传输的安全性。 **MVC模式**是Web开发中...

    https协议拒绝服务测试攻击测试工具

    软件挂上“0day”纯属吸引人,不过此方法确实可以达到拒绝服务的效果——消耗大量cpu资源。与两年前芬兰牛人发现的TCP协议拒绝服务相似。 目前一般的防火墙对大流量的拒绝服务可以起到一定的防御效果,但小流量的...

    day14_servlet&http&request_java_httprequestservlet_milejfl_

    - **容器接收请求**:Web服务器或应用服务器接收到HTTP请求后,会通过Servlet容器(如Tomcat)进行处理。 - **映射到Servlet**:基于URL路径、Servlet映射配置(web.xml或注解),容器找到对应的Servlet实例。 - ...

    学习JavaEE的day24

    10. **RESTful Web服务**:基于HTTP协议的RESTful服务已成为现代Web开发的重要部分。你可能接触了如何使用JAX-RS(Java API for RESTful Web Services)创建RESTful接口。 在“学习JavaEE的day24”中,通过理论学习...

    day32_linux&nginx教案1

    - **sftp**:SSH 文件传输协议,提供安全的文件传输,可以通过终端内的 sftp 窗口进行操作。 3. Linux 上安装 JDK: - **卸载 OpenJDK**:首先确认已安装的 JDK 版本,使用 `java -version` 和 `rpm -qa | grep ...

    学习JavaEE的day19

    它包含了多种服务、APIs和协议,使得开发者能够更高效地开发分布式、多层架构的应用程序。在这个阶段的学习中,你可能已经掌握了基础的JavaSE(标准版)知识,并逐步过渡到更复杂的服务器端编程。 1. **Servlet与...

    mayday博客系统

    5. **API接口**:为了支持移动应用或者其他客户端,开发者可能会提供RESTful API接口,使得其他应用可以通过HTTP协议与博客系统进行数据交换。 6. **配置文件**:SpringBoot项目通常包含application.properties或...

    学习JavaEE的day23

    它包含了多种服务、APIs和协议,使得开发者能够更高效地开发服务器端应用程序,尤其是Web应用。 首先,让我们了解一下JavaEE的核心组件和概念: 1. **Servlet**:Servlet是JavaEE中的基础组件,用于处理HTTP请求。...

    学习JavaEE的day26

    6. **WebSocket**:在现代Web应用中,WebSocket协议允许服务器和客户端进行双向通信,JavaEE 7及以后版本提供了WebSocket API支持。 7. **RESTful API**:基于HTTP协议的RESTful风格的API设计,使得JavaEE应用能更...

    学习JavaEE的day14

    - **JAX-RS(Java API for RESTful Web Services)**:学习如何使用JAX-RS创建RESTful服务,实现基于HTTP协议的轻量级通信。 - **JSON(JavaScript Object Notation)**:了解如何在JavaEE应用中处理JSON格式的数据...

    [HeyJava][传智播客]BBS-day002-006.rar

    4. **HTTP协议**:理解Web应用的工作原理,包括HTTP请求和响应的基本结构,以及GET和POST请求的区别。 5. **Web容器**:如Tomcat的使用,如何部署和运行Servlet和JSP应用程序,以及配置文件web.xml的作用。 6. **...

Global site tag (gtag.js) - Google Analytics