一天一个java知识点----Tomcat与Servlet

认识BS架构

  • 静态资源:服务器上存储的不会改变的数据,通常不会根据用户的请求而变化。比如:HTML、CSS、JS、图片、视频等(负责页面展示)
  • 动态资源:服务器端根据用户请求和其他数据动态生成的,内容可能会在每次请求时都发生变化。比如:Servlet、JSPSpring框架等(负责逻辑处理)
  • B/S 架构:Browser/Server,浏览器/服务器架构模式。客户端只需浏览器,应用程序的逻辑和数据都存在服务器端。(维护方便 体验一般)
  • C/S 架构: Client/Server,客户端/服务器架构模式。需要单独开发维护客户端。(体验不错 开发维护麻烦)

TomCat

介绍:

  • 概念: Tomcat是一个开源免费的轻量级Web服务器,是Apache软件基金会的核心项目,支持Servlet/JSP少量JavaEE(JakartaEE)规范。
  • JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC 、JNDI、EJB、RMI、JSP、ServletXML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。
  • Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行 。

安装配置

  • 安装:绿色版,直接解压即可
  • 卸载:直接删除目录即可
  • 启动:双击 bin/startup.bat
  • 关闭:
  • 直接×掉运行窗口:强制关闭
  • bin/shutdown.bat:正常关闭
  • Ctrl+C:正常关闭

注意:如果Tomcat启动窗口一闪而过,需要检查 JAVA_HOME 环境变量是否正确配置。

还有就是环境变量里面需要配置一下:

配置

让命令窗口没有乱码:

如何更改tomcat端口:(解决端口冲突的)

Servlet

  • Servlet 是运行在Web服务器中的小型java程序,是Java提供的一门动态web资源开发技术。通常通过HTTP协议接收和响应来自于客户端的请求。
  • Servlet 是JavaEE规范之一,其实就是一个接口(定义Servlet需实现Servlet接口 或 继承HttpServlet) ,并由web服务器运行Servlet。

第一个Servlet程序

准备:创建maven项目(设置打包方式为war),导入Servlet坐标(provided)。

开发:

  • 定义一个类,实现Servlet接口(继承HttpServlet),并实现所有方法。
  • 在Servlet类上使用@WebServlet注解,配置该Servlet的访问路径。
  • 部署:将开发好的Servlet部署在外部的Tomcat服务器中运行。

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| XML <!-- 打包方式修改为war包 --> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <!-- 依赖范围设置为provide,打包后没有啦,会放到Tomcat中运行,Tomcat中已经继承了servlet-api.jar包 --> <scope>provided</scope> </dependency> </dependencies> |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Java @WebServlet("/hello") public class HelloServlet extends HttpServlet { // doGet: 用于处理GET请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 1.获取请求参数 String name = req.getParameter("name"); // 2.给浏览器响应数据 resp.getWriter().println("Hello Servlet 入门:"+name); } } |

打包成功war包

复制war文件到webapps目录下

启动tomcat

打开网页输入:localhost:8080/servlet-demo/hello?name=Tom,浏览器显示这个即可。

将本地Tomcat集成到IDEA

  1. 第一步让IDEA管理Tomcat
  1. 第二步:部署web项目

注意事项:

  • 项目的打包方式需要设置为 war
  • servlet-api依赖的作用范围 scope 必须设置为provided

Servlet的执行流程

  • Servlet对象是由谁创建的,Servlet的doGet方法是由谁调用的 ?
  • Servlet对象由Web服务器创建,Servlet方法由Web服务器调用。
  • HttpServletRequest:用于封装所有的请求数据
  • HttpServletResponse:用于封装所有的响应数据
相关推荐
wellc33 分钟前
SpringBoot集成Flowable
java·spring boot·后端
Hui Baby1 小时前
springAi+MCP三种
java
hsjcjh1 小时前
【MySQL】C# 连接MySQL
java
敖正炀1 小时前
LinkedBlockingDeque详解
java
wangyadong3171 小时前
datagrip 链接mysql 报错
java
untE EADO1 小时前
Tomcat的server.xml配置详解
xml·java·tomcat
ictI CABL2 小时前
Tomcat 乱码问题彻底解决
java·tomcat
敖正炀2 小时前
DelayQueue 详解
java
敖正炀2 小时前
PriorityBlockingQueue 详解
java
shark22222222 小时前
Spring 的三种注入方式?
java·数据库·spring