【JavaWeb】JavaWeb从入门到实战(2)
前言:
本文内容:Tomcat详解、Http详解
推荐免费JavaWeb入门到实战视频:【狂神说Java】JavaWeb入门到实战_哔哩哔哩_bilibili
Tomcat详解
安装Tomcat
Apache Tomcat® - Apache Tomcat 10 软件下载
如果你使用旧版IDEA,则推荐下载9以下的版本,不建议使用最新版
Tomcat启动和配置
解压后文件夹
启动和关闭
可能遇到的问题:
- 需要Java环境变量
- 闪退问题:需要配置兼容性
- 乱码问题:配置文件中设置
配置
核心配置文件
可以配置启动端口号
- Tomcat默认端口号:8080
- MySQL默认端口号:3306
- Oracle默认端口号:1521
- SQLServer默认端口号:1433
- http默认端口号:80
- https默认端口号:433
1 | <Connector port="8080" protocol="HTTP/1.1" |
可以配置host名称
- 默认的主机名为:localhost->127.0.0.1
- 默认网站存放位置:webapps
1 | <Host name="localhost" appBase="webapps" |
提问
网站如何进行访问?
-
在浏览器地址栏输入要访问的域名
-
先会去检查本机
hosts
配置文件下有无这个域名的映射-
如果有:直接返回本地对应的ip地址
1
127.0.0.1 localhost
-
若没有,则去DNS服务器找,并返回
-
发布一个Web网站
-
将自己写好的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)
-
网站应该有的结构
1
2
3
4
5
6
7
8
9-- webapps Tomcat服务器的web目录
-- ROOT
-- 你的项目
-- WEB-INF
-- classes:java程序
-- lib:web应用所需jar包
-- web.xml:网站配置文件
-- index.html 默认首页
-- ......
Http详解
什么是http
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本:字符串,数字…
- 超文本:html,图片,定位…
https更安全
两个时代
- http1.0
- HTTP/1.0:客户端与Web连接后,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端与web服务器连接后,可以获得多个web资源
Http请求
客户端–发请求(request)–服务器
-
请求行
- 请求行中的请求方式:Get
- 请求方式:Get,Post
- Get:请求能够携带参数较少,大小有限制,会在浏览器的URL地址栏显示数据,不安全,但高效
- Post:请求挈带参数没有大小限制,相对get比较安全,但不高效
-
消息头
HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。
Http响应
服务器–响应(respone)–客户端
-
响应体
响应体是服务器返回给客户端的文本信息。
-
响应状态码
- 200 请求响应成功
- 300 重定向
- 404 找不到资源
- 500 内部服务器错误
状态码 原因短语 HTTP 版本 消息响应 100 Continue (继续) HTTP/1.1 可用 101 Switching Protocol (切换协议) HTTP/1.1 可用 成功响应 200 OK (成功) HTTP/0.9 可用 201 Created (已创建) HTTP/0.9 可用 202 Accepted (已创建) HTTP/0.9 可用 203 Non-Authoritative Information (未授权信息) HTTP/0.9 and 1.1 204 No Content (无内容) HTTP/0.9 可用 205 Reset Content (重置内容) HTTP/1.1 可用 206 Partial Content (部分内容) HTTP/1.1 可用 重定向 300 Multiple Choice (多种选择) HTTP/1.0 and later 301 Moved Permanently (永久移动) HTTP/0.9 可用 302 Found (临时移动) HTTP/0.9 可用 303 See Other (查看其他位置) HTTP/0.9 and 1.1 304 Not Modified (未修改) HTTP/0.9 可用 305 Use Proxy (使用代理) HTTP/1.1 可用 306 unused (未使用) HTTP/1.1 可用 307 Temporary Redirect (临时重定向) HTTP/1.1 可用 308 Permanent Redirect (永久重定向) HTTPbis (试验草案) 客户端错误 400 Bad Request (错误请求) HTTP/0.9 可用 401 Unauthorized (未授权) HTTP/0.9 可用 402 Payment Required (需要付款) HTTP/0.9 and 1.1 403 Forbidden (禁止访问) HTTP/0.9 可用 404 Not Found (未找到) HTTP/0.9 可用 405 Method Not Allowed (不允许使用该方法) HTTP/1.1 可用 406 Not Acceptable (无法接受) HTTP/1.1 可用 407 Proxy Authentication Required (要求代理身份验证) HTTP/1.1 可用 408 Request Timeout (请求超时) HTTP/1.1 可用 409 Conflict (冲突) HTTP/1.1 可用 410 Gone (已失效) HTTP/1.1 可用 411 Length Required (需要内容长度头) HTTP/1.1 可用 412 Precondition Failed (预处理失败) HTTP/1.1 可用 413 Request Entity Too Large (请求实体过长) HTTP/1.1 可用 414 Request-URI Too Long (请求网址过长) HTTP/1.1 可用 415 Unsupported Media Type (媒体类型不支持) HTTP/1.1 可用 416 Requested Range Not Satisfiable (请求范围不合要求) HTTP/1.1 可用 417 Expectation Failed (预期结果失败) HTTP/1.1 可用 服务器端错误 500 Internal Server Error (内部服务器错误) HTTP/0.9 可用 501 Implemented (未实现) HTTP/0.9 可用 502 Bad Gateway (网关错误) HTTP/0.9 可用 503 Service Unavailable (服务不可用) HTTP/0.9 可用 504 Gateway Timeout (网关超时) HTTP/1.1 可用 505 HTTP Version Not Supported (HTTP版本不受支持) HTTP/1.1 可用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hey,Joker!
评论
ValineTwikoo