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="9999" 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”)
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11158.html