Servlet详解

一、JavaEE简介

在 JavaEE 平台规范了在开发企业级 web 应用中的技术标准。
在 JavaEE 平台共包含了 13 个技术规范(随着 JavaEE 版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JPA、JTA、JavaMail 和JAF

二、Servlet简介

CGI:

是公共网关接口,是Web服务器运行时外部程序的规范
缺点:
(1)以进程方式运行,对每个客户端的请求的都要启动一个进程来运行程序,导致用户的数目增加时,服务器端资源被大量占用。
(2)由于对操作系统和进程的不了解,使得开发人员开发的CGI程序遇到奇怪的错误
(3)由于是基于进程的,所以CGI之间的资源是不能共享的

FastCGI :

对CGI做了一个改进。利用Pooling技术(池),(FastCGI是在有请求时,直接从池中调用,在一定的程度上提高了性能

Servlet介绍:

Servlet被称为服务端小程序,是javaEE平台下的技术标准,基于java语言编写的服务端小程序,Web容器或应用服务器实现了Servlet标准所以Servlet需要运行在Web容器或应用服务器中。Servlet主要功能是能够在服务器中执行并获取数据
特点:使用单进程多线程进行
在这里插入图片描述
Servlet在应用程序中的位置:
在这里插入图片描述

三、Tomcat详解

1、下载

http://tomcat.apache.org/

2、环境变量的配置:

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_171
PATH:%JAVA_HOME%\bin;
CLASS_PATH:%JAVA_HOME%\lib;

3 、目录结构和介绍:

bin:用来存放tomcat 的命令文件的,window的以.bat结尾
linux以.sh结尾
conf:用来存配置文件的
lib:存放tomcat运行时需要加载的jar包
logs:用来存放tomcat运行过程中产生的日志文件
temp:存放tomcat运行过程中产生的临时文件
webapps:用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序
work:存放tomcat运行时编译后的文件,

Tomcat 的启动和停止
startup.bat和shutdown.bat(在bin目录下)
在这里插入图片描述

4、Tomcat 配置文件介绍

在这里插入图片描述
在这里插入图片描述
解决控制台乱码:
修改conf目录中的logging.properties文件重新指定的编码方式
在这里插入图片描述
修改Tomcat监听端口:
Tomcat默认的监听端口为8080,可以通过修改server.xml文件来改变Tomcat的监听端口;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只是gui和script常用一些

Tomcat的运行原理

在这里插入图片描述

6、Tomcat架构讲解

在这里插入图片描述
server组件:
server实例,它在监听8005端口以接收关闭命令
service组件:
用于关联引擎和连接器;
Connector组件:
支持处理不同请求的组件,一个引擎有一个或多个连接器;默认只开启了处理Http协议的连接器
在这里插入图片描述
Engine组件:
Engine是Servlet处理器的一个实例,定义在server.xml中的Service标记中,Engine需要defaultHost属性来定义一个非明确虚拟主机的请求的Host组件
Host组件:位于Engine容器中用于接收请求并进行相应处理的虚拟主机,必须有一个Host的name与Engine中defaultHost的值一样,否则当用户输入的虚拟主机在service中不存在时候,将会出现404的错误;
Context组件:
Context是Host的子标签,代表指定一个Web应用,它运行在某个指定的虚拟主机(Host)上;每个 Web 应用都是一个 WAR 文件,或文件的目录;在这里插入图片描述

7、Tomcat的请求过程

在这里插入图片描述
1、用户访问localhost:8888/test/index.jsp,请求被发送到Tomcat,被监听8888端口并处理Connector获得,
2、Connector把请求交给它所在Service的engine来处理,并等待Engine的回应,
3、Engine 获得请求 localhost/test/index.jsp,匹配所有的虚拟主机 Host
4、Engine 匹配到名为 localhost 的 Host 虚拟主机来处理/test/index.jsp 请求(即使匹配不到会请求交给默认 Host 处理),Host 会根据/test 匹配它所拥有的所有的 Context
5、匹配到的 Context 获得请求/index.jsp
6、构造 HttpServletRequest 对象和 HttpServletResponse 对象,作为参数调用 JspServlet
的 doGet()或 doPost().执行业务逻辑、数据存储等程序。
7、Context 把执行完之后的结果通过 HttpServletResponse 对象返回给 Host。
8、Host 把 HttpServletResponse 返回给 Engine。
9、Engine 把 HttpServletResponse 对象返回 Connector。
10、Connector 把 HttpServletResponse 对象返回给客户 Browser。

8、在Tomcat创建虚拟主机

(1)先将创建好的html放到指定的位置,
(2)在server.xml添加Host或者修改Host,
在这里插入图片描述
(3)添加Context配置
在这里插入图片描述
(4)修改window中的Host文件
文件位置(c:windows\system32\drivers\etc)
修改内容:127.0.0.1 www.itbz.com
(5)测试:
127.0.0.1 www.itbz.com

四、 Servlet技术详解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

取酒鱼食--【余九】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值