7.tomcat学习笔记

本文内容
Web概述与Tomcat的安装及注意事项
tomcat的目录结构与项目发布
Eclipse集成Tomcat发布项目与虚拟主机的配置
HTTP协议的理解与抓包工具的使用
Servlet的入门与执行流程的分析
Servlet实现关系分析与使用servlet模板开发

简单说:
Tomcat(Web服务器)
Tomcat部署项目(2种方式)
eclipse集成Tomcat
http协议
Servlet入门

目标:

完成Tomcat的安装及常见问题的解决
能够应用Tomcat发布web项目(2种方式)
应用Eclipse发布项目以及完成虚拟主机的配置
能够使用HTTP抓包工具抓包
阐述什么是Servlet与Servlet是如何执行的
阐述Servlet实现关系与应用Servlet模板开发Servlet

视频:203m

1.1 Web的概述
1.1.1什么是WEB

web是网页,网站
特点: 通常通过浏览器(如IE,火狐,谷歌)访问
基于http协议
1.1.2什么是JavaWEB
使用Java语言进行WEB的开发。
1.1.3软件架构
1、软件架构分为C/S架构和B/S架构
C/S架构:Client/Server,称为客户端服务器架构,这类软件需要安装一个客户端,比如:QQ、QQ游戏,11对战平台.。。。,360
主要优点:服务器压力小。
主要缺点:更新麻烦。 (需要在线更新)
B/S架构:Browser/Server,称为浏览器服务器架构,不需要安装客户端,通过浏览器直接访问使用,比如:4399小游戏
主要优点:更新简单,只需要服务器端更新了,通过浏览器就可以直接访问使用。
主要缺点:服务器压力大.

1.1.4WEB服务器
(配置高,安装了服务器软件)
1.1.5常见哪些web服务器
.Tomcat :Apache组织提供的一个开源的免费的web服务器。满足EE的Serlet和JSP的规范。
.WebSphere :IBM公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
.WebLogic :BEA公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
.IIS :应用在.NET平台上。
.Apache :应用在PHP平台上。
1.1.6WEB开发技术有哪些.
.静态web
.HTML
.CSS
.JS
.动态web
.Servlet、JSP
.PHP
.ASP
.ASPX

1.1.7面试题:
目前的软件架构有哪些,各有什么优缺点?
Web开发中的资源有哪些.(动态网页技术有哪些.)
常见哪些web服务器有哪些.

1.2 Tomcat的概述及安装
.
下载和安装就不介绍了,下载路径:http://tomcat.apache.org/ ,也可以直接到今天的资料里面解压Tomcat直接用。

解压:apache-tomcat-7.0.76.zip文件,放到非中文目录下,找到bin目录下的startup.bat文件双击启动。如下:

双击之后出现:

验证Tomcat是否启动成功,在浏览器里面输入http://localhost:8080/出现如下界面就算启动成功。

1.3 Tomcat的安装注意事项
.

问题一:java的环境变量没有配置,启动时cmd窗口一闪而过。
解决:Tomcat的启动依赖java环境,在启动Tomcat之前要确保电脑上安装了jdk,并且正确配置了JAVA_HOME环境变量。

问题二:启动Tomcat时可能由于端口号被占,cmd窗口也会一闪而过。
原因:可能是由于启动了多个Tomcat服务器或者其他程序占用了Tomcat的8080端口号导致Tomcat启动不了。
解决①、找到占用Tomcat端口号的进程,结束该进程。
通过cmd窗口查看应用程序的端口号:

        找到占用的进程后,通过任务管理器根据pid找到该进程并结束掉
        
解决②、修改Tomcat端口号
        进入tomcat/conf/server.xml,找到:

修改8080为其他端口号,建议不要乱修改,因为你也不知道那个端口号有没有被占用。
注意:启动Tomcat如果出现问题,我们可以在apache-tomcat-7.0.76\logs目录中查看日志信息。

例如:端口被占用的异常:

2.1 Tomcat的目录结构
.Tomcat的启动和关闭文件在哪个目录,Tomcat的相关配置文件在哪个目录,如果要发布一个项目该放到哪个目录?

2.2 动态Web资源的目录结构
website
|------静态页面(HTML、CSS、JS、图片)
|------JSP页面
|------WEB-INF
|-----web.xml (必须的)
|-----classes (可选的)
|-----lib (可选的)

2.3 Tomcat的项目发布方式一(最常用)
.使用Tomcat服务器发布web项目有几种方式?
方式一:直接将项目复制到apache-tomcat-7.0.76\webapps目录下(最直接、简单)
方式二:在apache-tomcat-7.0.76\conf\server.xml中配置虚拟路径
方式三:在apache-tomcat-7.0.76\conf\Catalina\localhost中配置虚拟路径

回顾上午:
1.jdbc实现事务
2.DBUtils实现crud(使用工具类,工具类使用连接池)
3.ResultHandle实现类
4.(BeanHandle,BeanListHandle,MapHandle,MapListHandle,ScalarHandle,)
5.cs/bs优缺点.
2.4 Tomcat的项目发布方式二(已淘汰,了解)
这种方式是需要配置Tomcat的虚拟路径。
什么虚拟路径
虚拟路径:配置一个名称与一个真实的路径进行绑定,然后访问这个虚拟名称从而找到真实路径。
如何配置虚拟路径
在tomcat/conf/server.xml中进行配置(可以在tomcat的文档中找到)。
.第一步:创建一个项目
.第二步:配置虚拟路径

.第三步:启动服务器访问
http://localhost:8080/itheima/index.html

2.5 Tomcat的项目发布方式三(生产环境用)
第三种方式也需要配置虚拟路径,第二种需要修改server.xml。server.xml是tomcat的核心配置文件,一旦你修改错了,那么tomcat服务器就会出现问题。推荐使用第三种配置方式。
配置虚拟路径
.第一步:创建web项目(不要放在中文目录下)
.第二步:创建一个xml(在tomcat/conf/Catalina/localhost)

.第三步:配置虚拟路径

文件的名称就是虚拟路径(itcast),只需要访问itcast就可以访问C:\ccc这个路径

.第四步:访问项目
http://localhost:8080/itcast/index.html

3.1 Eclipse集成Tomcat后发布项目
Eclipse中配置Tomcat
.选择window

.弹出界面选择Server

.添加服务

.选择Tomcat服务

配置服务器
.new Server

.选择server

设置服务

在Eclipse中发布web项目
创建一个web项目

创建页面

发布项目

启动Tomcat

访问项目
http://localhost:8080/web_test/

效果:

练习以上

补充:
发布项目还可以:

在接下来弹出的窗口中点击finnish即可,这个时候服务器就会重启,项目也部署上去了。

3.2 Tomcat虚拟主机的配置之:网站访问的全过程

3.3 Tomcat虚拟主机的配置之:虚拟主机配置(了解)
什么是虚拟主机
虚拟主机:在电脑上设置一个目录,使用一个名称与该目录进行绑定。这个路径称为是虚拟主机。主机是可以发布web项目的。

虚拟主机的配置
抓取百度页面
在资料中找到
创建一个路径(虚拟主机)

这里的baidu是虚拟主机的目录,website是项目名称。
配置tomcat的虚拟主机

修改本地的hosts文件
找到C:\Windows\System32\drivers\etc\hosts
修改hosts文件

启动服务器访问项目
http://www.baidu.com:8080/website/baidu.htm

修改端口号

将路径中的website去掉

配置默认的首页
在conf/web.xml

4.1 HTTP协议的概述

.HTTP协议:超文本传输协议,规定了浏览器和服务器端的数据交互的格式

HTTP的特性
.基于请求和响应模型
.必须要先有请求,后有响应。
.请求和响应必须成对出现。
.简单快捷
.因为发送请求的时候只需要发送请求方式和请求路径即可
HTTP的版本
.HTTP1.0 :
.HTTP1.1 :常用

问题:

.什么是http协议?
.http协议主要有什么特点?

1、http协议:超文本传输协议,规定了浏览器和服务器之间的数据传输的格式
2、主要特点:http协议是基于请求和响应来实现的,一个请求对应一个响应,
必须先有请求后有响应。

4.2 HTTP协议的抓包分析
不需要装插件,很方便,直接在请求之前按F12打开“开发者模式”。(IE和谷歌浏览器)
都打开试试

4.3 HTTP协议之请求部分
问题.
get请求和post请求的各由几个请求部分组成?
get请求和post请求的区别?(地址栏,安全,大小)
Referer请求头和User-Agent请求头有什么作用?

get请求: 只有请求行和请求头

post请求: 包含请求行,请求头,请求体

1.请求行,请求头,请求体(正文)
2.地址栏和大小
3.网页来源,浏览器类型

4.4 HTTP协议之响应部分
.响应分为几个部分,常见的响应头有哪些?
.常见的响应码有哪些,分别有什么含义?

5.1 Servlet的概述
.理解什么是Servlet?
.如何创建一个Servlet?(了解)

1、Servlet:是运行在 Web 服务器中的一个Java类。通过 HTTP协议接受客户端的请求,同时也会给客户端一个响应。

2.创建一个Servlet的思路:
a)创建一个类实现Servlet接口,重写接口里面的方法
b)配置我们定义的Servlet

5.2 Servlet的入门
创建一个类实现Servlet接口,重写接口里面的方法

在web.xml中配置我们的Servlet

5.3 Servlet的执行流程
理解Servlet的执行流程,从而读懂配置文件中的内容。

6.1 Servlet的实现关系

SUN设计之初,是有野心,以后的互联网不仅仅只使用http协议,可以通过GenericServlet实现。HttpServlet是一个与协议相关的Servlet是专门用来处理HTTP协议的请求。通常编写一个Servlet一般都会让这个Servlet继承HttpServlet重写service方法。
在service方法内部根据请求方式不同执行不同的doXXX的方法(get请求执行doGet方法,如果是post请求就会执行doPost方法)。
所以往往继承了HttpServlet之后不需要重写service方法,只需要重写doGet和doPost方法即可。往往请求要处理的内容的代码都是一致的,所以需要让doGet和doPost相互调
用可以简化编程。

6.2 Eclipse中使用Servlet模板
新建Servlet

完成Servlet的配置

查看web.xml文件,会自动生成如下内容:

总结:
tomcat(启动,停止),解决常见错误
tomcat发布项目的方式(2种)
eclipse集成tomcat
http协议(请求,响应分哪些部分.常见的请求头,响应头)
Servlet(创建,配置,访问,手动和自动创建和配置Servlet)

目标:
JDBC:
1.jdbc实现事务
2.DBUtils实现CRUD(使用工具类,工具类中使用连接池)

1.tomcat安装和启动的常见错误(java_home,端口占用)
2.tomcat发布项目的二种方式
3.tomcat与eclipse集成,创建web项目,并发布,能通过浏览器访问到
4.http协议(请求和响应分那个几部分.)
常见的请求头(User-Agent)
常见的响应头(Location)
响应状态码: 200, 302,404,500
5.能够用google chrome 浏览器 抓包 ,查看请求和响应信息
6.Servlet入门(创建一个Servlet,并配置它,通过浏览器访问到)
作业:
1.使用2种方式在Tomcat中发布项目
2.使用Eclipse集成Tomcat发布项目
3.使用Google Chrome练习HTTP抓包
4.手动和自动创建和配置Servlet,并能通过浏览器访问执行

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 4,601评论 6 72
  • 0 系列目录# WEB请求处理 WEB请求处理一:浏览器请求发起处理 WEB请求处理二:Nginx请求反向代理 本...
    七寸知架构阅读 13,773评论 22 190
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,014评论 11 349
  • 不知梅青涩,平添几番情。 深闺一枕梦,长天两飞鸿。
    abe4c0570901阅读 185评论 0 1