Tomcat入门

简介: 概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持SErvlet/JSP少量JavaEE规范JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和,包含13项技术规范:JDBC,JNDI,EJB,RMI,JSP,Servlet,XML,JMS,Java IDL,JTS,JavaMail,JAF官网:https://tomcat.apache.org/

JavaWeb

javaweb简介

  • web:全球广域网,也称万维网,能够通过浏览器访问的网站
  • javaweb:是用java积水来解决相关web互联网领域的技术栈

javaweb技术栈

  • B/S架构:Browser/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取web资源,服务器把web资源发送给浏览器即可
  • 好处:易于维护升级:服务端升级后,客户端无需任何部署就可以使用到新的版本
  • 静态资源:HTML,CSS,JavaScript,图片等,负责页面展现
  • 动态资源:Servlet,JSP等,负责逻辑处理
  • 数据库:负责存储数据
  • HTTP:负责浏览器和服务器之间数据传输规则
  • 浏览器发送一个请求到服务端请求相关的资源,资源分为动态资源和静态资源,处理好这些资源后,对数据库进行访问,访问后拿到这些数据到页面,页面再将这些静态页面响应给浏览器,浏览器再进行解析展示出来

HTTP

  • 特点
  1. 基于TCP协议:面向连接,安全
  2. 基于请求-响应模型的:一次请求对应一次响应
  3. HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
  • 缺点:多次请求间不能共享数据。那么解决方式:java中使用会话技术(Cookie,Session)来解决这个问题
  • 有点:速度快
  • HTTP-请求数据格式
  • 请求数据分为3部分:
  1. 请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路劲。HTTP/1.1表示协议版本
  2. 请求头:第二行开始,格式为key:value形式
  3. 请求体:post请求的最后一部分,存放请求参数
  4. GET请求和post请求区别:
  1. GET请求在请求参数的请求行中,没有请求体。POST(也就是最下面那行)POST请求请求参数在请求体中,也就是存放的位置不一样
  2. GET请求请求参数大小有限制,POST没有
  • 常见的HTTP请求头:
  1. Host:表示请求的主机名
  2. User-Agent:浏览器版本,例如Chrome浏览器的标识类Mozilla/5.0  ... Chrome/79,IE浏览器的标识类Mozilla/5.0(Windows NT ...)like Gecko;
  3. Accept:表示浏览器能接收的资源类型,如text/*,image/ *或者  */ *(这里星都是没有空格的)表示所有;
  4. Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
  5. Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip,deflate等
  • HTTP-响应数据格式
  • 响应数据分为3部分:
  1. 响应行:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,ok表示状态描述
  2. 响应头:第二行开始,格式为key:value形式
  3. 响应体:最后一部分。存放响应数据
  • 常见的HTTP响应头:
Content-Type: 表示响应内容的类型,例如text/html.image/jpeg;
Content-length: 表示该响应内容的长度(字节数)
Content-Encoding: 表示该响应压缩算法例如gzip
Cache-Control: 指示客户端如何缓存,例如max-age=300表示可以最多缓存300秒
  • 状态码分类
1xx 响应中-临时状态码,表示请求已经接受,告诉客户端应该给继续请求或者如果它已经完成则忽略它
2xx 成功-表示请求已经被成功接收,处理已完成
3xx 重定向-重定向其他地方:它让客户端再发起一个请求以完成整体处理
4xx 客户端错误-处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5xx 服务端错误-处理发生错误,责任在服务端如:服务端抛出异常,路由器出错,HTTP版本不支持等
状态码大全 https://cloud.tencent.com/developer/chapter/13553
  • 常见的响应状态码
状态码 英文描述 解释
200 ok 客户端请求成功
302 Found 指示所请求的资源已移动到由location响应头给定URL,浏览器会自动重新访问到这个页面
304 NotModified 告诉客户端,你请求的资源至上次取后,服务端并未更改,你之间用你本地缓存,隐式重定向
400 BadReques 客户端请求有语法错误,不能被服务器所理解
403 Forbidden 服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404 Not Found 请求资源不存在,一般是URL输入有误,或者网站资源被删除了
428 Precondition Required 服务器请求有条件的情趣,告诉客户端要想访问该资源,必须携带特定的请求头
429 TooMany Requests 太多请求,服务器不愿意处理请求,因为它的头部字段太大,请求可以在减少请求头域的大小后重新提交
431 Request Header FieldsTooLarge 请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交
405 Method Not Allowed 请求方式有误,比如应该用GET请求方式的资源,用了POST
500 Internal Server Error 服务器发生不可预期的错误。服务器出异常了,看日志去查找
503 Serviece Unavailable 服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好
511 Network Authentication Required 客户端需要进行身份验证才能获取网络访问权限

Tomcat

Tomcat简介

  • 概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持SErvlet/JSP少量JavaEE规范
  • JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和,包含13项技术规范:JDBC,JNDI,EJB,RMI,JSP,Servlet,XML,JMS,Java IDL,JTS,JavaMail,JAF
  • 官网:https://tomcat.apache.org/

Tomcat安装

  • 下载:官网:https://tomcat.apache.org/
  • 安装:绿色版,进行解压
  • 卸载:删除目录即可
  • 启动:双击:bin\startup.bat 然后将:conf/logging.properties

    改成GBK解决控制台中文乱码问题
  • 关闭:1直接x强制关闭,2bin\shutdown.bat直接关闭,3ctrl+c直接关闭
  • 文件解释:bin:可执行文件存放目录,conf:配置文件存放目录,lib:tomcat依赖的jar包,logs:日志文件,temp:临时文件,webapps:应用发布目录,work:工作目录

Tomcat基本使用

  • 配置:
  1. 修改启动带端口号:conf/server.xml
    注意:HTTP协议默认端口号为80.如果将Tomcat端口号改为80,则将来访问Tomcat时。将不用输入端口号
  • 启动时可能出现的问题
  1. 端口号冲突:找到对应程序,将其关闭掉
  2. 启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置

Tomcat-部署项目

  • Tomcat部署项目
  • 将项目放置到webpps目录下,即部署完成
  • 一般jajvaweb项目会被打成war包,然后将war包放到webapps目录下,Tomcat会自动解压缩war文件
  • IDEA中创建Maven Web项目
  • IDEA中使用Tomcat-集成本地Tomcat


相关文章
|
6月前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
3月前
|
XML 前端开发 Java
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
这篇文章是SpringMVC框架的入门教程,详细指导了如何在IDEA中使用Maven和Tomcat创建SpringMVC工程,包括添加依赖、配置web.xml、编写控制器、创建配置文件、配置Tomcat服务器以及进行基本的测试,展示了一个简单的Hello SpringMVC示例。
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
|
1月前
|
安全 Java 应用服务中间件
【服务器知识】Tomcat简单入门
【服务器知识】Tomcat简单入门
|
3月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
6月前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
6月前
|
负载均衡 算法 应用服务中间件
Nginx+Tomcat实现反向代理与负载均衡入门
Nginx+Tomcat实现反向代理与负载均衡入门
299 0
|
Java 应用服务中间件 Docker
Docker从入门到精通——实战Dockerfile构建Tomcat镜像
Docker从入门到精通——实战Dockerfile构建Tomcat镜像
349 0
QGS
|
XML JavaScript 前端开发
手搭手入门纯Servlet+JSP+Mybatis+Tomcat9实现Web更删改查
Servlet对象的生命周期 Servlet对象的生命周期是由Tomcat服务器(中间件)全权负责的。 Tomcat服务器(中间件)有通常被称为WEB容器。
QGS
244 0
手搭手入门纯Servlet+JSP+Mybatis+Tomcat9实现Web更删改查
java202303java学习笔记第四十六天javaweb-tomcat入门程序解析
java202303java学习笔记第四十六天javaweb-tomcat入门程序解析
55 0
|
XML 自然语言处理 Java
【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?
【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?
120 0