Day7 Tomcat和servlet
web服务器
1) 什么是web服务器
硬件:性能强大的计算机(无显示屏)
操作系统: linux
软件:web服务器软件(将数据放置在服务器上就可以被外部访问)
web应用程序
2) web服务器软件
a) IIS:Microsoft公司
b) weblogic: oracle公司,支持动态web开发的技术13种,jsp/servlet
c) apache:
d) tomcat:apache ,开源免费,jsp/servlet两种技术
e) Nginx:分布式
3) tomcat
开源免费的web服务器
下载:
Tomcat.apache.org
8.5
zip:window压缩包
tar.gz:linux压缩包
install:安装版
4) 目录

5) 服务器的启动以及访问
a) 先配置JAVA_HOME(JDK环境)
b) 启动服务器
…\apache-tomcat-8.5.23\bin
双击:startup.bat
dos:startup

c) http://localhost:8080
localhost:本机(ip) 127.0.0.1
主机映射(localhost --- 127.0.0.1)
windows:
C:\Windows\System32\drivers\etc\hosts
linux:
/etc/hosts
8080:端口 tomcat默认端口
修改端口: confàserver.xml
<Connector port="" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
d) 放程序到服务器在外部访问
A. 开发好web应用程序
B. 将其放置到webapps目录下
e) 自动部署(eclipse + tomcat)


web应用程序
1) 程序的创建



2) web应用程序的目录

xml
1) 可扩展标记语言
2) 语法规范
a) 声明
b) 有且只有一个根标签
c) 标签必须成对存在
d) 属性使用双引号
e) 大小写敏感
3) 作用
a) 存储数据: 配置文件
b) 数据交换格式 (webservice)
4) 解析xml文件
dom
sax
dom4j
5) xml约束(描述)
dtd: dtd描述整篇xml文档 .dtd
schema: .xsd
servlet
运行于服务器端应用程序。
获取客户端的数据。
实现servlet接口。
响应html数据给客户端。
1) 创建第一个servlet程序
1. 创建类实现servlet接口
2. 配置访问路径 web.xml
<!-- 配置servlet -->
<servlet>
<!-- servlet的名称 -->
<servlet-name>hello</servlet-name>
<!-- 全限定名称 -->
<servlet-class>action.HelloServlet</servlet-class>
</servlet>
<!-- 映射:路径和servlet之间的映射关系 -->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<!--路径的匹配规则
/*:匹配所有的路径
*.do:匹配所有以.do结尾请求
/abc/*:匹配所有路径中包含abc的请求
/abc:匹配路径为abc的请求
-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
3. 通过客户端进行访问
2) servlet的执行流程
a) servlet对象创建时机?
默认:获取请求时创建
<load-on-startup>:正数,跟随服务器一起加载
b) servlet的执行流程
客户端发出请求,读取web.xml配置文件,根据路径进行servlet的匹配,如果找到就根据全限定名称创建servlet对象,同时创建request和response对象,将其作为参数参数service方法,调用该方法。

3) servlet生命周期
a) 实例化:servlet对象的创建 一次
b) init:初始化,数据准备(编码,配置信息),一旦对象创建就立即执行 执行一次
c) service:处理请求和返回响应的方法。每发出一次请求就调用一次
d) destroy:销毁,执行一次,当应用程序被移除或者服务器关闭时。
4) servlet的创建
a) 实现servlet接口
b) 继承GenericServlet抽象类(通用协议的servlet)
c) 继承HttpServlet抽象类(基于http协议的servlet)
5) 使用注解实现servlet的开发
@WebServlet("/hello")
Day7 Tomcat和servlet的更多相关文章
- tomcat jdk servlet websocket版本对应关系
最近在考虑公司主要基础三方库版本统一和升级的问题,特看了下tomcat jdk servlet websocket版本的对应关系,如下:
- web服务器、tomcat、servlet是什么?它们之间的关系又是什么?
今天偶然看到常见web服务器的介绍有Apache HTTP server.Nginx.Microsoft IIS.GWS,心中不禁产生了疑问,这些都是什么呢?一直认为tomcat就是web服务器,以下 ...
- WEB服务器,TOMCAT和servlet之间的关系
WEB服务器,TOMCAT和servlet之间的关系 什么是WEB服务器Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是 一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用 的是 ...
- 浅谈Tomcat和Servlet
本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...
- 【tomcat】servlet原理及其生命周期
1.什么是servlet? Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序.而这些Servlet都要实现Servlet这个接口.其主要功能 ...
- tomcat和servlet的关系
一.什么是servlet? 处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西.理解这个的前提是了解一些http协议的东西,并且知道 ...
- tomcat(5)servlet容器
[0]README 0.0)本文部分文字描写叙述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识. 0.1)intro to servle ...
- Tomcat和Servlet
Tomcat Tomcat是什么,Tomcat是目前市场上主流Web服务器之一,是用Java语言开发的项目.Tomcat支持Servlet和JSP的规范,它由一组嵌套的层次和组件组成.结构如下图 所有 ...
- 【转】tomcat与apache,tomcat与servlet的区别
tomcat与apache的区别:(转自:http://blog.csdn.net/longzs/article/details/10959945) 1.apache支持静态页,tomcat支持动态的 ...
随机推荐
- 前端(九):react生命周期
一.组件渲染 当组件的props或者state发生改变时,组件会自动调用render方法重新渲染.当父组件被重新渲染时,子组件也会被递归渲染.那么组件是如何渲染的呢? # 方案一 1.state数据 ...
- spring data jpa 的简单使用
先说简单一下JPA 概念:JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据. 影响 ...
- 性能是.NET Core的一个关键特性
关键要点1).NET Core是跨平台的,可运行在Windows.Linux.Mac OS X和更多平台上:与.NET相比,发布周期要短得多.大多数.NET Core都是通过NuGet软件包交付的,可 ...
- 移动端Web Meta标签
原文 http://blog.segmentfault.com/jianjian_532633/1190000000654839 添加到推刊 在介绍移动端特有 meta 标签之前,先简单说一下 ...
- 微信小程序之雪碧图(css script)
今天有朋友问我关于微信小程序中如何在不占用大量网络带宽的情况下快速加载图片,我给他推荐了两种方式 1.雪碧图(css script),有过前端经验的朋友应该都有接触过. 2.懒加载. 由于时间关系我就 ...
- 从敲入 URL 到浏览器渲染完成、对HTTP协议的理解
1. 大致过程 当你这样子回答的时候: 用户输入 url 地址,浏览器查询 DNS 查找对应的请求 IP 地址 建立 TCP 连接 浏览器向服务器发送 http 请求,如果服务器段返回以 301 之类 ...
- 在element-ui的el-tree组件中用render函数生成el-button
本文主要介绍怎么在el-tree组件中通过render函数来el-button. 这是element-ui中el-tree树: 这是需要实现的效果: tree.vue文件中,具体实现的代码如下: &l ...
- thinkPHP3.2.2 数据库对表的操作
增加:M('表名')->add($data); 删除:M('表名')->delete($id); 更新:M('表名')->save($data); 查询:M('表名')->se ...
- mysql if()
类似三元运算符 ,"男","女") 结果:
- python条件判断和循环
条件判断 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> e ...