理解下304状态码
1. 客户端访问资源,请求头带字段 If-Modified-Since: 表示本地缓存最后的修改时间
2. 服务器端返回的响应头中有个字段Last-Modified: 服务器通知浏览器,文件的最后修改时间。与If-Modified-Since一起使用。
3. 服务器每次会进行对比,如果If-Modified-Since时间比服务器Last-Modified时间早,那么服务器发送新的资源.否则使用缓存.
web开发中常用的web应用服务器:
1. weblogic:oracle公司的大型收费web服务器 支持全部javaEE规范
2. websphere:IBM公司的大型收费web服务器 支持全部的javaEE规范
3. Tomcat:Apache开源组织下的 开源免费的中小型的web应用服务器 支持 javaEE 中的 servlet 和 jsp规范
Tomcat
- 目录结构
- bin : 脚本目录
- 启动脚本:startup.bat
- 停止脚本:shutdown.bat
- conf: 配置目录
- server.xml: 核心配置文件
- tomcat-users.xml: 用户权限配置文件
- web.xml: 所有web项目默认配置文件
- lib: 依赖库,tomcat和web项目中需要使用的jar包
- logs: 日志文件
- temp: 临时文件目录,文件夹内内容可以任意删除
- webapps: 默认情况下发布WEB项目所存放的目录
- work: tomcat处理JSP的工作目录
测试有没有安装成功:
找到bin目录下startup.bat,双击启动.
再在浏览器输入http://localhost:8080/
Tomcat启动失败原因:
1. 启动闪退: 没有配置JAVA_HOME环境变量,必须配置正确,及JAVA_HOME指向JDK的安装目录,因为Tomcat运行依赖java环境
2. 端口冲突:java.net.BindException: Address already in use: JVM_Bind <null>:8080
修改Tomcat/conf/server.xml:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
查看端口及清除占用端口使用情况方法:
# 查看端口占用情况以及PID
netstat -aov
# 启动任务管理器
# 进程 --> 查看 --> 选择列 --> 勾选PID --> 主动杀死占用的进程
web应用的目录结构
mail: 为\webapps\下的项目文件夹
// 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/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
</web-app>
注意:WEB-INF目录是受保护的,外界不能直接访问
Eclipse绑定Tomcat
1. window -> Preferenses -> Server -> RunTime Environments -> Add
2. 选定Apache Tomcat版本 + 安装包路径 + jre
在Servers里面双击Tomcat,出现Tomcat Servers at localhost页面.
ecplise发布工程:
在tomcat服务器右键 --> add and remove
或者在项目右键 --> run As --> Run on server
发布项目的过程:
把你项目的名称作为tomcat/webapps下的目录名xxx,然后把你项目下的WebContent里面的内容copy到xxx下.
注意更改项目名字时候: 有时候需要在
window --> Preferences --> wen project setting --> 设置Content Root