JavaWeb学习笔记(一)
- Java Web 开发入门
- 一、基本概念
- 1. WEB开发相关知识
- 2.WEB应用程序
- 3.WEB发展史
- 3.1 静态资源
- 3.2 动态资源
- 4.WEB服务器
- 4.1 简介
- 4.2 常见的WEB服务器
- 4.3 Tomcat服务器
- 5.Tomat服务器
- 5.1 目录结构介绍
- 5.2 Tomcat服务器虚拟目录的映射方式
- (1) 自动映射方式
- (2)手动映射方式
- (3)基于$CATALINA_BASE/conf/[enginename]/[hostname]的虚拟目录映射
- 5.3 修改默认端口号
- 5.4 Intellij的Web应用
- 5.5 建立映射关系
- 6.HTTP协议
- 6.1 什么是HTTP协议?
- 6.2 HTTP协议的版本
- 6.3 HTTP请求
- 6.4 HTTP响应
Java Web 开发入门
一、基本概念
1. WEB开发相关知识
WEB,就是表示网页的意思,他们用于表示Internet主机上提供给外界访问的资源,资源类型分为如下:
- 静态资源:HTML页面静态资源,指WEB页面中提供用户浏览的数据始终是不变。
- 动态资源:指WEB页面提供用户浏览的数据是有**程序产生(Java/PHP等,动态的HTML页面)**的,不同时间点访问WEB页面看到内容是不相同(淘宝每个人看到页面是不同),内心:浏览器只能识别HTML页面
静态WEB资源实现技术:HTML
常用动态WEB资源技术,动态生成HTML页面:Jsp/Servlet、PHP、ASP、Python
在Java中,动态WEB资源开发技术统称为Java Web。
2.WEB应用程序
WEB应用程序指供浏览器访问的程序,通常简称为 Web Application,例如 a.html
、b.html
… … 多个WEB资源,这些WEB资源用于提供对外服务,此时,应该把这些WEB资源放置到一个目录中,以组成一个WEB应用(WEB程序)
一个WEB应用是由多个静态WEB资源和动态WEB资源组成,例如,html、css、js文件,JSP文件、Java程序、支持jar包、配置文件(properties)等等
WEB Application开发完成以后,若你想供外界进行访问,需要将WEB应用所在目录交给WEB服务器管理,这个过程称为:
虚拟目录的映射
静态和动态web资源->WEB所在目录->web服务器中进行管理
3.WEB发展史
3.1 静态资源
静态WEB资源有以下缺点:
- 静态WEB页面中的内容无法动态更新,所有用户看到内容都是一样
- 当我们向让WEB页面好看只能使用CSS或者JavaScript做动态效果
- 静态WEB页面无法连接数据库,无法实现和用户的交互
- 当我们学习JavaScript之后,也能解决这个问题
3.2 动态资源
4.WEB服务器
4.1 简介
WEB服务器是指在网络上处于某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。
WEB服务器是一种被动程序,只有当网络上运行在其他计算机中的浏览器发送请求的时候,服务器才会进行响应。
4.2 常见的WEB服务器
Weblogic、WebSphere(IBM),Tomcat(开源组织Apache),IIS(微软)
疑问:学习WEB开发,为什么必须要先安装WEB服务器?
在本地计算机上随便创建WEB页面,其他用户是无法进行访问,但是启动Tomcat服务器,把页面放置到WEB复苏期中,用户就可以访问(前提:同一个局域网中或者IP外网)
- 不管任何的WEB资源,想被远程计算机进行访问,都必须有一个与之对应的网络通信程序,当用户来访问的时候,这个网络程序读取WEB资源,并且把数据发送给来访者
4.3 Tomcat服务器
我们开发时候都会使用Tomcat服务器,因为其是免费(开源)。www.apache.org
Tomcat : Java的Servlet和JSP的容器,动态生成HTML页面
(1) 下载Tomcat绿色版本
(2)启动Tomcat服务
解压Tomcat的包,bin目录中有可执行文件(exe、cmd、bat)
(3)访问成功
http://localhost:8080/ 或者 http://127.0.0.1:8080/ 或者使用本机分配 http://192.168.43.133:8080/
5.Tomat服务器
5.1 目录结构介绍
5.2 Tomcat服务器虚拟目录的映射方式
(1) 自动映射方式
Tomcat服务器会自动管理webapps目录下的所有的web应用,并且把它映射成虚拟目录。
Tomcat服务器webapps目录中的web引用是可以被外界直接访问
(2)手动映射方式
在磁盘的任意的位置建立一个文件夹,管理WEB资源,在config文件夹下server.xml中可以配置手动映射关键,在
<host>
标签中配置
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--
<Context path="/虚拟映射目录" docBase="WEB应用的绝对路径"/>
-->
<Context path="/xyj" docBase="D:/yu"/>
</Host>
(3)基于$CATALINA_BASE/conf/[enginename]/[hostname]的虚拟目录映射
5.3 修改默认端口号
当一个Tomcat启动的时候,会占用3个端口(8005、8080、8009),如果向启动多个Tomcat服务,那么每个服务的端口号都应该是不一样。
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
5.4 Intellij的Web应用
IDEA中配置跟Tomcat之间的关系,提高效率
5.5 建立映射关系
WEB-INF文件夹是特殊的文件夹,无法被直接访问
6.HTTP协议
6.1 什么是HTTP协议?
HTTP是hypertext transfer protocol
(超文本传输协议),它是TCP/IP协议的一种应用层协议(面试题:TCP协议几次握手,并且每次握手都做了什么事情?),用于定义WEB浏览器和WEB服务器之间交换数据的过程。
6.2 HTTP协议的版本
HTTP/1.0 HTTP/1.1
HTTP/1.0 :客户端和WEB服务器建立连接后,只能获得一个WEB资源
HTTP/1.1 :客户端和WEB服务器建立连接后,只能获得多个WEB资源
6.3 HTTP请求
(1) HTTP请求包括的内容
客户端连接上服务器之后,向服务器请求某个WEB资源,称为客户端向服务端发送一个HTTP REUEST。
一个完整HTTP请求包含:
- 一个请求行
- 若干个消息头
- 实体内容
(2)请求行说明
Request Method:
GET,请求方式一共有:GET、POST、DELETE、PUT、HEAD、OPTIONS、TRACE,但是HTML页面只能支持两种请求方式GET、POST
- GET请求:在URL地址后面附带参数信息,并且有限制量级1KB左右
- POST请求:在请求的实体内容中可以看到传递的数据,无限制量级
(2)请求头说明
Accept:浏览器通过这个头信息告诉服务器,支持哪些数据类型
Accept-encoding:浏览器通过这个头信息告诉服务器,支持哪些压缩格式
Accept-language:浏览器通过这个头信息告诉服务器,支持哪些语言环境
HOST:浏览器通过这个头信息告诉服务器,支持哪些主机
User-Agent:是使用浏览器的内核
6.4 HTTP响应