一 、Web相关概念
1.1 软件架构
WEB:在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
JavaWeb:使用Java语言开发基于互联网的项目
1.1.1 软件架构:
1.2 Web资源分类
静态资源:
使用静态网页开发技术发布的资源
特点:
所有用户访问,得到的结果是一样的
如:文本,图片,音频、视频, HTML,CSS,JavaScript
如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
动态资源:
使用动态网页技术发布的资源
特点:
所有用户访问,得到的结果可能不一样
如:jsp/servlet,php,asp...
如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器
1.3 网络通信三要素
IP:电子设备(计算机)在网络中的唯一标识
端口:应用程序在计算机中的唯一标识。 0~65536
传输协议:规定了数据传输的规则
基础协议:
tcp:安全协议,三次握手。 速度稍慢
udp:不安全协议。 速度快
高级协议
http协议
基于TCP/IP的高级协议
基于请求/响应模型的:一次请求对应一次响应
1.4 Web资源请求响应过程
二、Web服务器软件
2.1 web服务器软件概念
服务器:安装了服务器软件的计算机。
服务器软件:接收用户的请求,处理请求,做出响应。
web服务器软件:接收用户的请求,处理请求,做出响应。
在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。
疑问:学习web开发,为什么必须要先装一个WEB服务器 ?
2.2 常见的web服务器软件:
webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
webSphere:IBM公司, 大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
2.3 Tomcat:web服务器软件
Tomcat免费的Web服务器,该服务器支持全部JSP以及Servlet规范,也是我们学习javaweb所使用的服务器,所以我们有必要深入了解;
2.3.1 下载
可以直接在官网下载:http://tomcat.apache.org/
2.3.2 安装
解压压缩包即可。
注意:安装目录建议不要有中文和空格,解压的目录结构如下图
2.3.3 卸载
删除目录就行了
2.3.4 启动
bin/startup.bat ,双击运行该文件即可
访问:浏览器输入:http://localhost:8080 回车访问自己
http://别人的ip:8080 访问别人
显示如下界面表示成功
启动时可能遇到的问题:
黑窗口一闪而过:
原因: 没有正确配置JAVA_HOME环境变量
解决方案:正确配置JAVA_HOME环境变量
端口号被占用:
暴力解决:找到占用的端口号,并且找到对应的进程,杀死该进程
使用命令netstat –ano|findstr [指定端口号]找到占用端口的进程
打开任务管理器->查看->选择列->然后勾选PID选项,回到任务管理器上可以查看到对应的pid,然后结束进程
温柔解决:修改自身的端口号
在conf/server.xml 配置文件中修改
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />
一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。
好处:在访问时,就不用输入端口号
2.3.5 关闭
正常关闭:
bin/shutdown.bat
ctrl+c
强制关闭:
点击启动窗口的 ×
2.3.6 Tomcat项目部署 (虚拟目录映射)
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为项目部署(虚拟目录的映射)。
配置conf/server.xml文件, 在<Host>标签体中加入子标签配置
<!--<Context path="虚拟路径" docBase ="物理路径" />--> <Context docBase="D:\hello" path="/xixi" />
- docBase:项目存放的路径
- path:虚拟目录
- 直接将项目放到webapps目录下即可
- /hello:项目的访问路径–>虚拟目录
- 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。 war包会自动解压缩。
三、使用IDEA开发Web应用程序
3.1 创建Web项目
File -----> New -----> Project ----->
开始创建Web项目
**右键添加Web框架依赖 **