一、Tomcat服务器
1.1 Tomcat的目录结构
bin:里面存放的都是tomcat的二进制命令
开启服务:startup.bat 关闭服务:shutdown.bat
conf:里面存放的都是tomcat的配置文件
server.xml(服务器端口配置,服务器自身配置文件) web.xml(项目部署描述配置文件)
lib:里面存放的都是tomcat服务器和所有web项目运行过程中提供支撑的jar包
logs:里面存放的都是tomcat服务器日志文件
错误信息的日志文件查看 catalina.2020-xx-xx.log
temp:里面存放的是tomcat运行过程中创建的临时文件,由tomcat自己维护,我们不用管
webapps(核心):用来存放web项目,存放在这个里面的项目可以被浏览器直接访问到(idea使用虚拟路径)
http://localhost:8080 -----> webapps文件夹下
work:里面存放的是tomcat服务器将JSP生成的Servlet源文件和字节码文件(idea使用虚拟路径)
1.2 web项目的目录结构
web项目(myweb)
|| ------ html css js img 二级目录等等
|| ------WEB-INF目录(放在该目录下的资源浏览器是不能直接访问到的)
|| ------可选:html css js img 二级目录等等(安全数据)
|| ------classess目录(存放java源码编译生成的class文件)
|| ------lib目录 放入当前项目需要的jar
|| ------web.xml配置文件(配置的是项目的内容) 是tomcat首先会去加载的配置文件
servlet如果是2.5的版本这个web.xml文件必须有
servlet如果是3.0的版本这个web.xml文件可以不要(用注解代替)
二、HTTP协议
2.1 http协议的概念
http协议(超文本传输协议)是浏览器和服务器之间的协议,规定了浏览器和服务器之间要遵守的规则,只要是浏览器请求服务器或者服务器响应浏览器就必须要遵守http协议中规定的内容。
2.2 http协议的作用
规范了传输数据的内容和格式
规范了浏览器请求服务器必须要带的数据内容,以及这些数据内容以什么格式做交互
规范了服务器响应浏览器必须要带的数据内容,以及这些数据内容以什么格式做交互
2.3 http协议给开发带来了哪些帮助(简单版)
通过请求时传递的请求行可以获取到页面的提交方式
通过请求时传递的referer请求头可以解决防盗链的问题
通过请求时传递的user-agent请求头可以帮助解决不同浏览器下载资源附件名显示中文乱码的问题
通过请求时传递的请求体可以获取到页面提交的数据(post才有请求体)
通过响应时传递的响应行状态码可以让我们了解服务器出现的问题
通过响应时传递的响应头location可以用于重定向,告知浏览器立即向该地址发送请求
通过响应时传递的响应头refresh可以用于定时刷新,指定时间后跳转到指定页面
通过响应时传递的响应头content-disposition可以通知浏览器直接展示数据或以附件方式获取数据
通过响应时传递的响应头content-type可以解决响应数据的中文乱码问题,通知浏览器响应数据的资源类型及编码格式
通过响应时传递的响应体可以给页面写回数据
2.4 http协议的状态码及含义
200 OK:请求已成功
302:重定向,从其它的资源响应请求
304:从缓存中获取数据
403:权限不够,拒绝执行
404:请求失败,请求的资源未在服务器发现
405:请求行指定的方法不能用于请求资源
500:服务器错误,代码写的有问题
2.5 get与post请求区别
get提交的数据不安全 数据都在请求行中 都暴露在地址栏中
post提交的数据安全 数据都在请求体中 不会暴露在地址栏
get提交有大小限制 post提交没有大小限制
get提交没有请求体 post提交有请求体
2.6 重定向和请求转发的区别
重定向多次请求,请求转发一次请求
重定向是浏览器向服务器发送访问,请求转发是服务器内部资源互相访问
重定向地址栏会发生变化,请求转发地址栏无变化
重定向是response对象的API,请求转发是request对象的API
重定向可以访问外部项目,请求转发只能访问当前项目