web基础:Tomcat && Sevlet&& JSP

一、Tomcat

1.简介

  • 是一个开源免费的轻量级web服务器,支持servlet/jsp 少量javaEE规范

  • javaEE:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、JavaIDL、JTS、JTA、JavaMail、JAF

  • Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖于Tomcat才可以运行

总结:

  1. web服务器作用?
  • 封装了Http协议操作,简化开发
  • 可以将web项目部署到服务器中,对外提供网上浏览服务
  1. tomcat简介

2.安装和基本使用

1. 配置:修改端口号
端口号冲突
启动窗口一闪而过

3.部署项目

1.把webapp文件夹直接copy到webapps文件夹里
2.把项目打包.war传输到tomcat

4.在IDEA中创建 Maven Web项目

4.1介绍

  • web项目结构
    • Maven Web项目结构:开发中的项目
      多了一个webapp软件包
      pom.xml文件设置打包的格式 .war
      在这里插入图片描述
      在这里插入图片描述

    • 部署的JavaWeb项目结构:开发完成,可以部署的项目
      在这里插入图片描述

  • 编译后的Java字节码文件和resources的资源文件,放到WEB-INF下的classes目录下
  • pom.xml中依赖坐标对应的jar包,放入WEB-INF下的lib目录下

4.2 web项目创建

1.骨架创建

5.在IDEA中

二、Tomcat 组件&&架构&&核心原理

1.Tomcat 目录结构

在这里插入图片描述

2.Tomcat 架构

2.1 Http工作原理

在这里插入图片描述

2.2 Tomcat处理Http请求

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

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

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

在这里插入图片描述

在这里插入图片描述

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

时序图

补充:jsp(Java Server Pages)和servlet(Server Applet)

  1. 它们是什么?
    Jsp是javeEE中的组件规范,Servlet是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

  2. 都是是服务器端动态页面技术的组件规范
    区别在于:jsp就是在html里面写java代码,servlet就是在java里面写html代码。

  3. 使用方式
    要想使用servlet必须把它放在特定位置而且必须对其映射配置;
    jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。

  4. 程序组成
    Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容;
    JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

  5. 职能分工

    jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。

  6. 本是一家人
    Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

三、JSP(JSP规范、tomcat中.jsp文件编译及其执行过程)

JSP规范

  • Jsp是服务器端动态页面技术的组件规范

  • index.jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器(tomcat)中会转换成Servlet中执行

  • JSP或者Servlet的运行需要服务器(Tomcat),通常称为应用服务器,服务器负责创建JSP或者Servlet对象,然后调用JSP对象或者Servlet对象的相应方法。

jsp和servlet的关系

jsp容器:Tomcat

  • tomcat如何知道创建哪个JSP或者Servlet的对象的呢?

    • 对于JSP,是根据文件名字确定的,对于Servlet,是通过web.xml中的配置确定的。
  • tomcat如何知道调用JSP或者Servlet的哪个方法?

    • 对于JSP,JSP页面会被转换成Java类,而页面中的内容会被转换成Java类中的某个方法中的内容,而这个方法的名字是固定的,容器会调用这个方法。

    • 对于Servlet,用户需要根据请求的类型编写doGet或者doPost方法,容器会根据请求的方式是get还是post分别调用doGet或者doPost。

Tomcat在大多数情况下充当servlet的容器,也就是说:在写完JSP代码后进行第一次执行时,tomcat(servlet容器)先将JSP代码翻译成servlet类(java代码),然后实例化该类,再调用该类的init,service,destory等进行生命周期服务。

当客户端再进行第二次访问请求时,此时就没有servlet容器的翻译这一步了,因为之前翻译的java代码会一直保存,以便于后面的访问不再进行翻译,可大大提高访问效率。

所以,JSP页面在第一次被访问时,其所花费的时间是最长的。

jsp引擎:jsper

四、Servlet

  • Sevlet是java提供的一门动态web资源的开发技术
  • Servlet是javaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行Servlet
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~Yogi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值