tomcat

软件体系结构

  1. C/S:Client/Servlet,例如QQ就是CS结构
    需要编写服务器端程序和客户端程序。
    缺点:更新需要两端,总要求客户下载新的客户端程序
    优点:安全性比较好
    (通俗点说,就是为一些功能量身定制)

  2. B/S:Browser/Server
    缺点:安全性较差
    优点:只需要编写服务器端程序

2、 Web资源

  • 静态资源:html、css、javascript、图片等;
    (浏览器直接能看懂)
  • 动态资源:javaweb动态资源有jsp/servlet,其他web程序动态资源有asp、php等。动态资源有变量。
    (需要先转换成静态资源,再让浏览器看)

静态资源和静态资源区别

  • 客户端访问服务器静态资源,服务器直接响应;
  • 客户端访问服务器动态资源,服务器需要先把动态资源转换成静态资源,再响应。

在这里插入图片描述
3、客户端通过浏览器访问服务器

 http://主机名:端口号/路径,例如:http://www.itcast.cn:80/index.html

4、Web服务器

http://www.baidu.com
域名:www.baidu.com会被解析成IP地址,解析成的IP地址就是服务器

服务器是什么?就是接受请求,帮助解决请求

那么Web服务器有哪些

  • Tomcat(Apache):当前应用最广的JavaWeb服务器,支持servlet规则,不支持JavaEE规范;
  • JBoss(Redhat红帽):支持JavaEE规则;
  • GlassFish(Orcale):支持servlet规则,应用不是很广;
  • Resin(Caucho):支持JavaEE规则,应用越来越广;
  • Weblogic(Orcale):要钱的!支持JavaEE规则,适合大型项目;
  • Websphere(IBM):要钱的!支持JavaEE规则,适合大型项目;

5、tomcat目录结构

  • bin:二进制可执行文件,例如startup.bat和shutdown.bat
  • conf:配置文件,例如:server.xml(配置端口号)、context.xml、web.xml、tomcatusers.xml
  • lib:tomcat所需jar包
  • logs:日志文件
  • temp:存放tomcat运行时产生的临时文件,当tomcat关闭后,这个目录中的文件可以删除
  • webapps:这个目录下的每个文件夹对应一个JavaWeb应用程序
  • work:webapps下的应用程序在运行时会自动生成文件,就在work目录下。work目录删除了也没问题,但再次运行应用程序还要再生成work目录和文件。

6、创建JavaWeb应用

静态网站

  • 在webapps目录下创建一个目录,命名不包含中文和空格,这个目录称之为项目目录
  • 在项目目录下创建一个html文件

动态网站

  • 在webpass目录下创建一个项目目录;
  • 在项目目录下创建如下内容:
         *在WEB-INF目录下创建web.xml文件
         *创建静态或动态页面
  • 客户端通过浏览器访问服务器

web.xml文件的内容,我们可以去其他项目中借!
(在ROOT下的WEB-INF文件夹下的web.xml中借用)

在这里插入图片描述

7、WEB-INF目录下不能被客户端直接访问

在这里插入图片描述
8、Eclipse创建JavaWeb项目

eclipse只是写代码的地方,并不是运行代码的地方,运行代码还是tomcat

链接:如何利用eclipse创建一个java web项目?
链接:eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上
链接:导入新的javaweb工程出现The superclass “javax.servlet.http.HttpServlet” was not found
在这里插入图片描述

这样很不方便,那么如何让tomcat自动将上述文件复制过去,并自动更改为我们自己命名的阅读性更好的文件名(即项目名称)呢?

9、HTTP协议

协议:协议的甲乙双方,就是客户端(浏览器)和服务器!
           理解成双方通信的格式!
请求协议(客户端) 
响应协议(服务器)

查看查看HTTP请求和响应内容

1、ctrl+shift+I打开开发人员工具
2、查看http请求响应内容在这里插入图片描述

请求协议的格式如下:

请求首行
多个请求头信息;头名称:头值
空行(必须有)
请求体(可以没有)

在这里插入图片描述

多个响应头信息;头名称:头值
空格
响应体

在这里插入图片描述
在这里插入图片描述

响应头对浏览器来说很重要,它说明了响应的真正含义

200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览.器中;

404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;

405:
500:请求资源找到了,但服务器内部出现了错误;

302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;(意思就是说,访问的那个地址给服务器一个新的地址,服务器响应新的地址的请求)(两个请求)

304:
当用户第一次请求index.html时,服务器会添加一个名为Last-Modified响应头,这个头说明了index.html的最后修改时间,浏览器会把index.html内容,以及最后响应时间缓存下来。
当用户第二次请求index.html时,在请求中包含一个名为If-Modified-Since请求头,它的值就是第一次请求时服务器通过Last-Modified响应头发送给浏览器的值,即index.html最后的修改时间,If-Modified-Since请求头就是在告诉服务器,我这里浏览器缓存的index.html最后修改时间是这个,您看看现在的index.html最后修改时间是不是这个,如果还是,那么您就不用再响应这个index.html内容了,我会把缓存的内容直接显示出来。而服务器端会获取If-Modified-Since值,与index.html的当前最后修改时间比对,如果相同,服务器会发响应码304,表示index.html与浏览器上次缓存的相同,无需再次发送,浏览器可以显示自己的缓存页面,如果比对不同,那么说明index.html已经做了修改,服务器会响应200。

在这里插入图片描述

其他响应头

告诉浏览器不要缓存的响应头:

  • Expires: -1
  • Cache-Control: no-cache;
  • Pragma: no-cache;

自动刷新响应头,浏览器会在3秒之后请求http://www.itcast.cn:

  • Refresh: 3;url=http://www.itcast.cn

10、HTML中指定响应头
在HTMl页面中可以使用来指定响应头,

例如在index.html页面中给出:
<meta http-equiv="Refresh" content="3;url=http://www.itcast.cn">,表示浏览器只会显示index.html页面3秒,然后自动跳转到http://www.itcast.cn。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值