Day16_学点儿JavaEE_理论知识_Tomcat、JSP、Servlet

1 软件的结构

C/S (Client - Server 客户端-服务器端)

典型应用:QQ软件 ,飞秋,印象笔记。
特点:

  1. 必须下载特定的客户端程序。
  2. 服务器端升级,客户端升级。

B/S (Broswer -Server 浏览器端- 服务器端)

典型应用: 腾讯官方(www.qq.com) 163新闻网站(俗称:网站)
特点:

  1. 不需要安装特定的客户端(只需要安装浏览器即可!!)
  2. 服务器端升级,浏览器不需要升级!!!!
    JavaWeb的程序就是b/s软件结构!!!

常见的市面上 应用服务软件

  1. WebLogic:BEA 公司的产品。 收费的。
  2. WebSphere : IBM公司的产品。收费的。
  3. JBoss:Redhat 公司的产品。收费的。
  4. Tomcat : 开源组织 Apache 的产品。免费的。

服务器作用:把服务器端的资源共享给外部访问。

2 Servlet

2.1 什么是Servlet

Servlet是运行在服务端的Java小程序,是sun公司提供的一套规范(接口),用来处理客户端的请求响应动态资源给浏览器
JSP本质是Servlet

实现步骤:

  1. 创建类继承HttpServlet
  2. 覆盖未实现的方法–service方法
    在这里插入图片描述

2.2 Servlet生命周期

JSP+Servlet是一个半成品的框架,我们是在这套框架上开发,所以要学习和遵守其规范
Servlet 程序的生命周期由 tomcat服务器控制 的!!!!
Servlet 重要的四个生命周期方法

  1. 什么时候初始化
  2. 什么时候被调用
  3. 什么时候被销毁

构造方法:创建servlet对象的时候被调用。默认情况下,第一次访问这个servlet的时候调用构造方法创建对象。构造方法只被调用一次,servlet对象在tomcat是单实例的。
init方法:initial 创建完servlet对象时候调用。只调用1次。
service:每次浏览器发出请求时候调用这个方法。调用n次。
destory:销毁servlet对象的时候调用。停止服务器或者重新部署web应用时候会销毁servlet对象。只调用1次。

Servlet只创建一次,是单例模式(这个类的对象只会有一个)。每次请求的时候会创建一个新的request、response。

LifeServlet.LifeServlet()
LifeServlet.init()
LifeServlet.service()
LifeServlet.service()
LifeServlet.service()
LifeServlet.destroy()

3 JSP

Servlet的作用: 用Java语言开发动态资源的技术!!!
JSP的作用:用Java语言(+html语言)开发动态资源的技术!!!
JSP本质就是Servlet!!!

3.1 JSP脚本(脚本就是一段代码)

语法:<%java代码 %>
作用: 执行java代码

3.2 JSP表达式

语法:<%=变量或表达式%>
作用: 向浏览器输出变量的值或表达式计算的结果

3.3 浏览器与JSP、Servlet

浏览器既可以访问JSP也可以访问Servlet,但是绝大部分情况下浏览器不直接访问JSP,JSP主要用来展示数据,
所以绝大部分情况是先访问Servlet查找出数据来之后转发到JSP页面进行展示。

4 URL路径

http://localhost:8080/JavaWeb/index.jsp?method=selectAll&id=2

http : 协议(http协议)
localhost:域名(为了方便记忆,最终定位地址还是要将域名转换为ip地址) local:本地 host:主机
  本地域名:localhost 127.0.0.1
  外部域名:www.baidu.com
8080:端口号
   8080:tomcat默认端口
   3306:mysql默认端口
JavaWeb:找到部署到webapps下面的JavaWeb这个应用
index.html:资源的名字

在这里插入图片描述
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

5 Tomcat

5.1 Tomcat 的目录结构

├── bin: 存放 tomcat 的命令。binary
│   ├── startup.bat
│   ├── shutdown.bat 
│   └── ...
├── conf : 存放 tomcat 的配置信息。其中 server.xml文件是核心的配置文件。  configuration
├── lib :支持 tomcat软件运行的jar包。其中还有技术支持包,如 servlet,jsp  lib:library
├── logs :运行过程的日志信息
├── temp: 临时目录   temp:temporary
├── webapps : 共享资源目录。 web 应用目录。    application 应用程序
└── work : tomcat的运行目录。 jsp 运行时产生的临时文件就存放在这里

在这里插入图片描述

5.2 项目部署

工作空间项目(写代码看到的) 和 tomcat部署的web项目是有差别的:
真正访问的是部署到tomcat的web项目下面的所有资源

tomcat部署的web项目:

├── WEB-INF目录:
│   ├── web.xml:web项目的核心配置文件
│   ├── classes目录:放置字节码文件的目录(把src下面java代码编译后放到这个目录下面)
│   └── lib目录:放置依赖的jar包
└── index.jsp

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/300547.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚硅谷html5+css3(2)CSS5基本知识

1.网页分为三个部分&#xff1a; 结构&#xff1a;HTML 表现&#xff1a;CSS 行为JavaScript CSS:层叠样式表&#xff0c;网页实际上是一个多层结构&#xff0c;通过CSS可以分别为网页的每一个层来设置样式&#xff0c;最终用户只看最上面的一层&#xff0c;总之&#xff0…

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…

4月7号总结

java学习 一.正则表达式 定义&#xff1a;正则表达式是一种用于描述字符串模式的表达式&#xff0c;通常被用于文本搜索、匹配和替换。它是一种强大的工具&#xff0c;可以在文本处理和文本分析中进行复杂的匹配和操作。 通过字符串引用里面的方法matches&#xff0c;然后执行…

转让名称带中国的金融控股集团公司要多少钱

随着公司的发展和市场竞争的影响&#xff0c;越来越多的创业者希望注册一家好名称的公司&#xff0c;以提高企业知名度和竞争力。但是&#xff0c;注册中字头无地域公司需要满足一定的条件和流程。本文将对中字头无地域公司注册条件及流程进行详细的介绍。可以致电咨询我或者来…

Linux IO:打开数据之窗的魔法

Linux I/O&#xff08;输入/输出&#xff09;是操作系统中一个至关重要的组成部分&#xff0c;它涉及到数据在内存&#x1f9e0;、存储设备&#x1f4be;、网络接口&#x1f310;等之间的传输过程。在Linux中&#xff0c;I/O操作不仅仅是文件读写那么简单&#xff0c;它包括了一…

蓝桥杯 历届真题 杨辉三角形【第十二届】【省赛】【C组】

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 思路&#xff1a; 由于我第一写没考虑到大数据的原因&#xff0c;直接判断导致只得了40分&#xff0c;下面是我的代码&#xff1a; #…

三防笔记本丨加固笔记本丨三防笔记本电脑赋能车辆检修

随着汽车数量的不断增加和交通运输行业的发展&#xff0c;车辆检修行业成为了保障交通安全和延长车辆寿命的重要领域。在车辆检修过程中&#xff0c;需要使用各种工具和设备来进行检测、维修和保养&#xff0c;而信息化技术的应用正逐渐渗透到这一行业中&#xff0c;为检修工作…

珠海华发实业股份有限公司副总毛冰清莅临天府锋巢直播产业基地考察调研

3月19日&#xff0c;珠海华发实业股份有限公司副总毛冰清拜访天府锋巢直播产业基地&#xff08;以下简称天府锋巢&#xff09;&#xff0c;由产业招商总负责人姜国东进行接待。 基地建设情况 姜国东负责人介绍到&#xff0c;天府锋巢是由德商产投携手无锋科技于兴隆湖落地的成都…

Hive3.0.0建库表命令测试

Hive创建表格格式如下&#xff1a; create [external] table [if not exists] table_name [(col_name data_type [comment col_comment],)] [comment table_comment] [partitioned by(col_name data_type [comment col_comment],)] [clustered by (col_name,col_name,...)…

Python程序设计 字符类型及其操作

1. 提取身份证号性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 输入身份证号&#xff0c;第17位若是偶数&#xff0c;输出性别女&#xff0c;否则输出性别男 1.通过input()函数接收用户输入的身份证号&#xff0c;将其…

第7章 数据安全

思维导图 7.1 引言 数据安全包括安全策略和过程的规划、建立与执行&#xff0c;为数据和信息资产提供正确的身份验证、授权、访问和审计。虽然数据安全的详细情况(如哪些数据需要保护)因行业和国家有所不同&#xff0c;但是数据安全实践的目标是相同的&#xff0c;即根据隐私和…

SQL Sever 2008 安装教程

先从官网下载程序&#xff1a;下载地址 打开上述链接后&#xff0c;点击下载按钮。 就会跳出下面这个界面&#xff0c;如果你的电脑是64位的请选择下图中这两个程序。 下载完成后&#xff0c;在电脑磁盘中找到这两个文件&#xff0c;注意安装的顺序&#xff0c;先安装 SQLEXPR…

pdf操作器(图片转文字、PDF转word、PDF拆分、图片jpg、png互转)

pdf操作器&#xff08;不用联网图片转文字、PDF转word、PDF拆分、图片jpg、png互转&#xff09;介绍目前该软件实现了以下功能 pdf转wordpdf拆分图片&#xff0c;图片导出在桌面的一个文件夹里图片合并为pdf压缩、转换图片格式&#xff08;jpg和png&#xff09;OCR图片转文字&…

uniapp中uni.navigateTo传递变量

效果展示&#xff1a; 核心代码&#xff1a; uniapp中uni.navigateTo传递变量 methods: {changePages(item) {setDatas("maintenanceFunName", JSON.stringify(item)).then((res) > {uni.navigateTo({url: /pages/PMS/maintenance/maintenanceTypes/maintenanceT…

[图像处理] MFC载入图片并绘制ROI矩形

上一篇&#xff1a; [图像处理] MFC载入图片并进行二值化处理和灰度处理及其效果显示 文章目录 前言完整代码重要代码效果 前言 上一篇实现了MFC通过Picture控件载入图片。 这一篇实现ROI功能的第一部分&#xff0c;在Picture控件中&#xff0c;通过鼠标拖拽画出一个矩形。 完…

积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)

文章目录 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路&#xff08;优化前一万多导出失败&#xff0c;优化后支持百万级跨库表导出&#xff09;优化结果需求背景和解决方案的思考解决方案流程描述&#xff1a;关键代码引入easy excel新建…

景区云旅游/视频慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算&#xff0c;今年清明节假期3天全国国内旅游出游1.19亿人次&#xff0c;按可比口径较2019年同期增长11.5%&#xff1b;国内游客出游花费539.5亿元&#xff0c;较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

Python学习从0开始——007输入与输出

Python学习从0开始——007输入与输出 一、简单输出二、复杂输出2.1引用变量2.2format()函数2.3手动格式化 三、读写文件3.1open()3.2操作文件对象3.3使用 json 保存结构化数据 一、简单输出 str() 函数返回供人阅读的值&#xff0c;repr() 则生成适于解释器读取的值&#xff0…

使用LIMIT进行分页

SELECT employee_id, first_name, salary FROM employees LIMIT 0, 5; 0为偏移量&#xff0c; 5为条目数 每页pageSize条记录&#xff0c;显示第page页 LIMIT (page - 1) * pageSize, pageSize; # 或者 LIMIT pageSize OFFSET (page - 1) * pageSize;

百度富文本编辑器配置(vue3)

今天分享一下我做的项目里面的一个百度富文本的配置问题&#xff0c;安装配置流程以及如何解决的 1.首先是安装组件 # vue-ueditor-wrap v3 仅支持 Vue 3 npm i vue-ueditor-wrap3.x -S # or yarn add vue-ueditor-wrap3.x 2. 下载 UEditor UEditor 并不支持通过 npm 的方式…