14.JavaWeb&深入理解Tomcat和Servlet

目录

导语:

一、Tomcat概述

1.下载

2.安装

3.卸载

4.启动

5.关闭

6.配置

二、Servlet概念

快速入门:

执行原理:

三、Tomcat和Servlet内容

四、案例:使用Tomcat和Servlet创建一个简单的Web应用程序

1.创建Servlet(HelloServlet.java)

2.创建Web应用程序(HelloWeb.war)

3.部署Web应用程序

4.访问Servlet

结语:


导语:

在Java Web开发中,Tomcat和Servlet是两个至关重要的概念。Tomcat是一个流行的Java Servlet容器,而Servlet是Java Web的核心技术之一。本文将为您详细介绍Tomcat和Servlet的基础知识,并通过案例展示它们在实际开发中的应用。

一、Tomcat概述

Tomcat是一个开源的Java Servlet容器,由Apache软件基金会维护。它主要用于运行Java Web应用程序,支持Servlet、JSP、WebSocket等Java Web技术。Tomcat是Java Web开发中最常用的服务器之一,具有简单易用、性能良好、扩展性强等特点。

1.下载

地址:http://tomcat.apache.org/

2.安装

解压压缩包即可(注意:安装目录建议不要有中文和空格)

3.卸载

删除目录即可

4.启动

bin/startup.bat ,双击运行该文件即可

访问:浏览器输入:http://localhost:8080 回车访问自己

http://别人的ip:8080 访问别人

可能遇到的问题:

(1)黑窗口一闪而过:

原因:没有正确配置JAVA_HOME环境变量

解决方案:正确配置JAVA_HOME环境变量

(2)启动报错:

暴力:找到占用的端口号,并且找到对应的进程,杀死该进程(netstat -ano)

温柔:修改自身的端口号

5.关闭

(1)正常关闭:①bin/shutdown.bat ②ctrl+c

(2)强制关闭:点击启动窗口的×

6.配置

(1)部署项目的方式:

①.直接将项目放到webapps目录下即可。

/hello:项目的访问路径-->虚拟目录

简化部署:将项目打成一个war包,再将war包放置到webapps目录下。

②.配置conf/server.xml文件

在<Host>标签体中配置<Context docBase="D:\hello" path="/hehe" />

docBase:项目存放的路径

path:虚拟目录

③.在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写<Context docBase="D:\hello" />

虚拟目录:xml文件的名称

(2)静态项目和动态项目:

目录结构:

java动态项目的目录结构:

---项目的根目录

---WEB-INF目录:

---web.xml:web项目的核心配置文件

--- classes目录:放置字节码文件的目录

--- lib目录:放置依赖的jar包

(3) 将Tomcat集成到IDEA中,并且创建JavaEE的项目,部署项目。

二、Servlet概念

Servlet是Java Web的核心技术之一,它是一种Java类,用于处理来自Web客户端的请求,并生成响应。Servlet是Java Web应用程序的一部分,负责与Web服务器和客户端进行交互。Servlet可以处理各种类型的请求,如HTTP请求、文件上传等,并生成相应的响应。

快速入门:

1. 创建JavaEE项目

2. 定义一个类,实现Servlet接口

public class ServletDemo1 implements Servlet

3.实现接口中的抽象方法

4.配置Servlet

在web.xml中配置:

XML 复制代码
 <!--配置Servlet -->
      <servlet>
          <servlet-name>demo1</servlet-name>
          <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
      </servlet>
  
      <servlet-mapping>
          <servlet-name>demo1</servlet-name>
          <url-pattern>/demo1</url-pattern>
      </servlet-mapping>

执行原理:

  1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径

  2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。

  3. 如果有,则在找到对应的<servlet-class>全类名

  4. tomcat会将字节码文件加载进内存,并且创建其对象

  5. 调用其方法

三、Tomcat和Servlet内容

  1. **Tomcat安装:**首先,我们需要下载并安装Tomcat服务器。下载地址为https://tomcat.apache.org/download-90.cgi。安装完成后,可以在命令行中运行Tomcat服务器,通过访问http://localhost:8080/来验证Tomcat是否成功运行。

  2. **创建Servlet:**创建一个Java类,实现javax.servlet.http.HttpServlet接口。在这个类中,重写doGet()和doPost()方法,用于处理HTTP GET和POST请求。

  3. **部署Servlet:**将Servlet类打包成WAR(Web Application Archive)文件,然后通过Tomcat的管理界面或命令行工具部署到Tomcat服务器上。

  4. **访问Servlet:**在浏览器中访问Servlet的URL,例如http://localhost:8080/你的项目名/ServletName。

四、案例:使用Tomcat和Servlet创建一个简单的Web应用程序

在本案例中,我们将创建一个简单的Web应用程序,使用Tomcat和Servlet进行开发。

**1.创建Servlet(HelloServlet.java)**​​​​​​​

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        resp.setContentType("text/html");
        resp.getWriter().write("<h1>Hello, World!</h1>");
    }
}

2.创建Web应用程序(HelloWeb.war)

将HelloServlet.java打包成HelloWeb.war文件。

3.部署Web应用程序

在Tomcat的管理界面中,找到HelloWeb.war文件,点击部署。

4.访问Servlet

在浏览器中访问http://localhost:8080/HelloWeb/HelloServlet,将看到"Hello, World!"的输出。

结语:

Tomcat和Servlet是Java Web开发中不可或缺的技术。通过本文的概述和案例,我们希望您能更好地理解Tomcat和Servlet的基础知识,并在实际开发中灵活运用。掌握这些技术,将为您在Web开发领域提供更多的可能性,并帮助您打造卓越的Web体验。

相关推荐
wclass-zhengge2 分钟前
数据结构篇(绪论)
java·数据结构·算法
何事驚慌3 分钟前
2024/10/5 数据结构打卡
java·数据结构·算法
结衣结衣.3 分钟前
C++ 类和对象的初步介绍
java·开发语言·数据结构·c++·笔记·学习·算法
TJKFYY5 分钟前
Java.数据结构.HashSet
java·开发语言·数据结构
kylinxjd7 分钟前
spring boot发送邮件
java·spring boot·后端·发送email邮件
OLDERHARD15 分钟前
Java - MyBatis(上)
java·oracle·mybatis
杨荧16 分钟前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
zaim12 小时前
计算机的错误计算(一百一十四)
java·c++·python·rust·go·c·多项式
hong_zc3 小时前
算法【Java】—— 二叉树的深搜
java·算法
进击的女IT4 小时前
SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
java·spring boot·后端