当前位置: 首页 > news >正文

Javaweb学习——day1(JavaWeb 介绍与开发环境搭建)

文章目录

  • 1. 什么是 JavaWeb?
  • 2. HTTP 协议与请求响应流程
    • 2.1 HTTP 概述:
    • 2.2 请求响应流程:
    • 2.3 常见 HTTP 方法:
  • 3. 开发环境搭建
    • 3.1 安装 Tomcat
      • 3.1.1 我的是win11 64位版,选择下载如图:
      • 3.1.2 解压 Tomcat
      • 3.1.3 测试 Tomcat 是否可用
    • 3.2 创建 JavaWeb 项目(IDEA 示例)
      • 3.2.1 新建 Maven 项目
      • 3.2.2 创建项目结构
      • 3.2.3 添加 Maven 配置文件 pom.xml
      • 3.2.4 添加 JSP 页面(Hello JavaWeb)
  • 4. 部署到 Tomcat(外部)

1. 什么是 JavaWeb?

JavaWeb 是指使用 Java 技术开发在 Web 服务器/容器 上运行的应用程序,通常由浏览器请求、服务器响应构成。

JavaWeb 基本架构:

浏览器(前端) ↔ HTTP 协议 ↔ Web服务器(如 Tomcat) ↔ Servlet(后端 Java 类) ↔ 数据库等

组成模块:

模块说明
客户端浏览器或前端应用,向服务器发送请求
Web服务器接收 HTTP 请求并将其分发至 Java 组件(如Servlet)处理
Servlet容器处理 Java 的业务逻辑(如登录验证、数据处理)
数据持久层数据库或文件系统,用于数据的存储与读取

2. HTTP 协议与请求响应流程

2.1 HTTP 概述:

  • 一种无状态的应用层协议
  • 使用请求-响应机制,客户端通过 HTTP 请求服务器,服务器响应数据

2.2 请求响应流程:

浏览器输入 URL →发送 HTTP 请求 →Tomcat 解析请求 →Servlet 执行业务逻辑 →响应 HTML/JSON →浏览器展示内容

2.3 常见 HTTP 方法:

方法含义
GET请求资源(读取)
POST提交数据(如表单)
PUT更新资源
DELETE删除资源

3. 开发环境搭建

我之前学习java时已经安装了IDEA社区版,版本为2024.3.4.1,以下内容仅是在已有的IDEA基础上进行环境搭建,如果还未安装IDEA,可前往官网进行下载IDEA官网

3.1 安装 Tomcat

官方下载:链接
推荐版本:Tomcat 9.x
下载类型:选择 .zip(Windows)或 .tar.gz(Linux/macOS)

3.1.1 我的是win11 64位版,选择下载如图:

在这里插入图片描述

3.1.2 解压 Tomcat

  • 解压至合适目录,例如:
	D:\Java\apache-tomcat-9.0.85

3.1.3 测试 Tomcat 是否可用

  • 双击 bin/startup.bat(Windows)或运行 ./startup.sh(Linux/macOS)
  • 浏览器访问:http://localhost:8080
  • 出现 Tomcat 欢迎页即表示启动成功
    在这里插入图片描述
    双击打开后显示如图:
    在这里插入图片描述
    不关闭此运行框,使用浏览器访问:http://localhost:8080
    如果显示如下界面,则Tomcat 可用

在这里插入图片描述

3.2 创建 JavaWeb 项目(IDEA 示例)

3.2.1 新建 Maven 项目

  1. 打开 IDEA → New Project → 选择 Maven
  2. 填写项目信息:
    GroupId: com.example
    ArtifactId: javaweb-demo
    Project Name: javaweb-demo
  3. 点击Create
  • 操作步骤如下图:
    在这里插入图片描述

3.2.2 创建项目结构

在项目根目录下创建如下目录结构(右键 → New → Directory):

src/
├── main/
│   ├── java/
│   ├── resources/
│   └── webapp/
│       └── index.jsp
  • webapp 是 Web 应用的入口目录,后续部署时 Tomcat 会识别这个目录。
    在这里插入图片描述选择 Directory后在弹出的框中输入webapp后回车

3.2.3 添加 Maven 配置文件 pom.xml

将 pom.xml 修改为如下内容,添加 servlet 依赖:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>javaweb-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency></dependencies><build><finalName>javaweb-demo</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.2.3</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins></build>
</project>

在这里插入图片描述* 直接复制粘贴覆盖原pom.xml 代码即可,覆盖完后点击右边刷新按钮进行刷新

3.2.4 添加 JSP 页面(Hello JavaWeb)

创建 src/main/webapp/index.jsp:
在这里插入图片描述
填写内容到 index.jsp(粘贴以下代码):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Hello JavaWeb</title>
</head>
<body><h1>Hello JavaWeb!</h1>
</body>
</html>

4. 部署到 Tomcat(外部)

【步骤 1】打包项目
在 IDEA终端 中执行:

mvn clean package

在这里插入图片描述
这里需要时间,等待即可,大概5分钟左右,完成后会有BUILD SUCCESSFULLY字样
成功后会生成 .war 文件,在:

target/javaweb-demo.war

找到该目录,将 .war 文件复制到你 Tomcat 目录的webapps/
在这里插入图片描述
在这里插入图片描述

  • 然后运行startup.bat文件(一开始的那个)
    最后打开浏览器,访问:
http://localhost:8080/javaweb-demo/

如果你看到你写的 index.jsp 页面(如 Hello JavaWeb!),就说明部署成功!
在这里插入图片描述
恭喜你,做到这一步的话你已经成功完成了Tomcat 自动解压部署,接下来可根据我后续的学习计划一步步来学习javaweb。

http://www.xdnf.cn/news/764983.html

相关文章:

  • StarRocks部署方案详解:从单机到分布式集群
  • 【DBA】MySQL经典250题,改自OCP英文题库中文版(2025完整版)
  • WebSocket与Reactor模式:构建实时交互应用
  • 从【0-1的HTML】第1篇:HTML简介
  • 二、Sqoop 详细安装部署教程
  • Kafka集成Flume/Spark/Flink(大数据)/SpringBoot
  • 房产销售系统 Java+Vue.js+SpringBoot,包括房源信息、房屋户型、房源类型、预约看房、房屋评价、房屋收藏模块
  • Kotlin 扩展函数详解
  • 如何阅读一份源代码?
  • Dify工作流实践—根据word需求文档编写测试用例到Excel中
  • 使用new操作符动态分配
  • 《软件项目管理》第一章(概述)期末周复习总结笔记
  • 内存管理--《Hello C++ Wrold!》(8)--(C/C++)--深入剖析new和delete的使用和底层实现
  • 英语中什么时候用that?
  • 我爱学算法之—— 前缀和(上)
  • 【QT控件】QWidget 常用核心属性介绍 -- 万字详解
  • 使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?
  • Hadoop 大数据启蒙:深入解析分布式基石 HDFS
  • 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)
  • 题单:二分查找(最小下标)
  • 记忆解码 | 从神经机制到记忆逻辑的科学探索
  • 2023年12月6级第一套第一篇
  • 【头歌实验】Keras机器翻译实战
  • 什么是 CPU 缓存模型?
  • SMT高速贴片机核心技术深度剖析
  • 基于Python学习《Head First设计模式》第四章 工厂模式+抽象工厂
  • 【设计模式-3.6】结构型——桥接模式
  • 设计模式——访问者设计模式(行为型)
  • 使用 OpenCV (C/C++) 通过二值化增强车牌识别
  • 【机器学习基础】机器学习入门核心:数学基础与Python科学计算库