JavaWeb入门
什么是JavaWeb
在java中,动态web资源开发技术统称为JavaWeb,web是指网页
动态web
动态主要是指提供给网站上,我们所能查看的数据始终会发生改变,每个人在不同时间、地点看到的信息各不相同
- 主要运用在淘宝,几乎是所有网站
- 主要运用技术栈(Servlet/JSP、ASP、PHP)
- 优点:
- ①web页面可以动态更新,所有用户看到的都不是同一个页面
- ②它可以与数据库交互(数据持久化、注册、商品信息、用户信息…)
- 缺点:
- 加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布(停机维护)
静态web
主要用html、css所做的页面即为静态,提供给所有人看的数据始终不会发生改变
- 缺点:
- ①web页面无法动态更新,所有用户看到的都是同一个页面(轮播图具有点击特效,是伪动态效果)
- ②无法和数据库交互(数据无法持久化,用户无法交互)
web服务器
什么是服务器?
服务器是一种被动的请求,用来处理用户的一些请求和给用户一些响应信息
- web应用程序:可以提供浏览器访问的程序
- 在服务器中,我们使用的页面语言一般是:
- ASP(动态服务器页面):国内最早流行的就是ASP,在HTML中嵌入VB脚本(ASP+CDM)。在ASP开发中,基本的一个页面都有几千行的业务代码,页面极其混乱
- PHP(超文本预处理器):PHP开发速度快,功能很强大,跨平台,而且代码很简单,但它也有局限性,它无法承载网页有大访问量的情况
- JSP(Java服务器页面):语法和ASP很像,ASP☛JSP加强市场强度
- ☞拓展(sun公司主推B/S架构,所有的大公司,或者是一些开源的组件一般都是用java语言写的,可以承载三高带来的影响——三高指的是高并发、高可用、高性能)
B/S:浏览器和服务器
C/S:客户端和服务器
Tomcat
Tomcat是一个开源的服务器,学习JavaWeb,服务器是必不可少的。
Tomcat下载
官网:(下载压缩包)
-
Tomcat中文件夹的作用
- bin:启动,关闭脚本文件
- startup.bat→启动tomcat
开启后,可以进行访问测试,进入http://localhost:8080/网页
成功后会进入此网页: - shutdown.bat→关闭tomcat
- startup.bat→启动tomcat
- conf:配置文件
- server.xml→服务器的核心配置文件
- lib:存放依赖的jar包
- logs:存放日志
- wabapps:用来存放网站的
Tomcat配置
解压安装即可用,不过可用的前提是java所需的配置都弄好了
高级系统设置:
这个是path下的
可配置启动端口号:
- tomcat的默认端口号为8080
如果要改tomcat的默认端口号请参考日常报错:关于tomcat默认端口被占用的问题 - mysql的默认端口号为3306
- http的默认端口号为80
- https的默认端口号为443
可配置的主机名称:
默认的主机名为:localhost→127.0.0.1
默认网站应用存放位置为:webapps - bin:启动,关闭脚本文件
发布一个Web网站(模仿)
了解完上面的内容,我们可以试着模仿发布一个web网站,即将自己写的网站放到服务器(tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了
具体步骤:
进入该文件
进入后,将这个文件复制出来新建一个
将不需要的东西删掉,留下这几个,自己重新写一下html文件即可
网站应有的结构:
- webapps:Tomcat
- ROOT
- cxy:网络的目录名
- web-INF
- classes:java程序
- lib:web应用所依赖的jar包
- web.xml:网站配置文件
- index.html/jsp:默认首页
- static
- css
- style.css
- js
- img
- css
- …
别忘了发布网站前先要打开Tomcat
- web-INF
HTTP和HTTPS
http:超文本传输协议,是一个简单的请求——响应协议,它通常在TCP(传输控制协议)之上。
文本:html、字符串…
超文本:图片、音乐、视频、定位、地图…
hppts:安全的超文本传输协议
HTTP两个时代
http1.0:客户端与web服务器连接后,只获得一个web资源,然后断开连接
http1.1:客户端与web服务器连接后,可以获得多个web资源
HTTP请求
http请求:客户端——发送请求(Request)——服务器
例如:百度
请求地址Request URL:https://www.baidu.com/
请求方法(get/post方法)Request Method:GET
状态码Status Code:200 DK
远程地址Remote Address:14.215.177.39.443
消息头(了解)
Accept:text/html(告诉浏览器它所支持的数据类型)
Accept-Encoding:gzip,deflate,br(支持哪种编码格式,GBK,UTF-8,GB2312,ISO8859-1)
Accept-Language:zh-CN(语言),zh:q=0.9(告诉浏览器,它的语言环境)
Cache-Control:max-age=0(缓存控制)
Connection:keep-alive(告诉浏览器,请求完成是断开还是保持连接)
Host:主机…
请求行(了解)
- 请求行中的请求方式:GET、POST、HEAD、DELETE、PUT、TRACT…
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全但高效。
- post:请求能够携带的参数无限制,大小无限制,不会在浏览器的URL地址栏显示数据内容,安全但不高效。
HTTP响应
http响应:服务器——响应(Responses)——客户端
例如:百度
Cache-Contorl:private(缓存控制)
Connection:keep-Alive(连接方式)
Content-Encoding:gzip(编码格式)
Content-Type:text/html(数据类型)
响应体
与前面的消息头一致,不过多了两个:
- Refresh:告诉客户端,多久刷新一次
- Location:让网页重新定位
响应状态码
- 200:请求响应成功
- 3xx:请求重定向(303)
- 重定向:你重新到我给你的新位置去
- 4xx:找不到资源(404)
- 资源不存在
- 5xx:服务器代码错误(500)
- 502:网关错误
有什么问题欢迎大家指出