javaweb---maventomcat使用教程

文章目录

  • 今日内容
  • 0 复习昨日
  • 1 Maven
    • 1.0 引言
    • 1.1 介绍
    • 1.2 下载
    • 1.3 安装
      • 1.3.1 解压
      • 1.3.2 配置环境变量
      • 1.3.3 测试
    • 1.4 仓库
    • 1.5 Maven配置
      • 1.5.1 修改仓库位置
      • 1.5.2 设置镜像
  • 2 IDEA - MAVEN
    • 2.1 idea关联maven
    • 2.2 创建java项目
    • 2.3 java项目结构
    • 2.4 pom
    • 2.5 导入依赖
      • 2.5.1 查找依赖
      • 2.5.2 使用依赖
    • 2.6 测试
  • 3 JavaWeb
  • 4 服务器
  • 5 Tomcat
    • 5.1 下载
    • 5.2 安装
    • 5.3 启动服务器
    • 5.4 访问服务器
    • 5.5 关闭服务器
    • 5.6 特别说明
  • 6 IDEA - Tomcat
    • 6.1 maven创建javaweb项目
      • 6.1.1 使用模板创建【推荐】
        • 模板创建并不完整
        • 手动补全目录
      • 6.1.2 不使用模板创建javaweb项目
      • 6.1.3 不使用模板,也不使用框架支持
    • 6.2 web项目设置Tomcat(部署项目)
  • 7 总结

今日内容

0 复习昨日

1 maven

2 tomcat

3 创建项目

0 复习昨日

1 单词写5遍
argument 参数 parameter 参数 access 访问 field 字段 invoke 调用 illegal 非法

invalid 无效 column 列 property 属性 DataSource 数据源

2 数据库连接池有啥好处

3 获得字节码文件的方式
Class.forName(“”)
Xxx.class
对象.getClass()

4 封装
隐藏实现的细节,对外提供访问的方法
方法的封装
类的封装
工具类的封装

继承

多态
方法的参数列表是父类
抽象
接口

1 Maven

1.0 引言

之前写项目时,会有不同的问题

  • jar包 管理(项目中有很多jar包)
    • 需要自己找jar包,下载
    • 手动导入项目中
    • jar包版本更新…
    • 占磁盘空间
    • 重复量大
  • 项目结构不规范
    • java代码和配置文件位置不规范

1.1 介绍

项目管理工具,统一项目结构,配置文件,依赖,部署,测试等等


Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

1.2 下载

网址 Maven – Download Apache Maven

下载地址 Index of /dist/maven/maven-3 (apache.org)

1.3 安装

1.3.1 解压

特别注意: 尽量不要有中文路径

解压后有几个文件夹
- bin  运行maven命令的脚本
- boot 运行是需要类库
- conf 配置,有关于maven的配置文件
- lib  运行是需要的jar包

1.3.2 配置环境变量

系统变量创建: MAVEN_HOME 值是maven安装路径

系统变量path添加 %MAVEN_HOME%\bin

1.3.3 测试

打开cmd,输入mvn -v

在这里插入图片描述

1.4 仓库

maven项目管理工具,管理依赖(jar包),实现依赖的复用.


maven有仓库,将依赖放入仓库,每个项目都去复用

  • 本地仓库
    • 自己电脑上
    • 需要依赖的时候,会先从本地仓库中,如果找不到就会去中央仓库找,下载到本地仓库
  • 中央仓库
    • 位于国外服务器,包含绝大部分依赖
    • 可能有时候访问比较慢
  • 公共仓库
    • 私服(个人)
    • 阿里云,网易,等等

1.5 Maven配置

1.5.1 修改仓库位置

maven安装好后,默认本地仓库在c盘,要修改为其他地方


修改maven的配置文件(conf\settings.xml)

<!-- 将53行注释内代码,复制出来,粘贴到55行,修改路径为自己本地仓库位置 --><localRepository>D:\repository</localRepository>

ps: 记得保存,ctrl+s

1.5.2 设置镜像

依赖会先从本地仓库找,本地没有会从中央仓库下载到本地仓库,中央仓库访问很慢,所以需要设置国内镜像,访问就很快!

<!--setting.xml中添加如下配置 146行附近一定是在开闭标签 <mirrors> </mirrors>中间设置
--><mirror><id>aliyun</id>  <!-- 中心仓库的 mirror(镜像) --><mirrorOf>central</mirrorOf>    <name>Nexus aliyun</name><!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->   <url>http://maven.aliyun.com/nexus/content/groups/public</url>  </mirror>

2 IDEA - MAVEN

2.1 idea关联maven

  • 打开任何一个idea项目

  • file - setting fornew project

在这里插入图片描述

找到build

在这里插入图片描述

在这里插入图片描述

2.2 创建java项目

  1. 找到maven选项
    在这里插入图片描述

  2. 设置信息

在这里插入图片描述

2.3 java项目结构

在这里插入图片描述

|-项目名
|---src
|------main
|---------java
|---------resources
|------test
|----------java
|---pom.xml

2.4 pom

pom 项目对象模型,这是一个xml文件(ps: xml文件一种文件格式,类似HTML是标签形式的)

pom文件内定义

  • 项目信息
    • 项目名
    • 组织名
    • 版本
    • 打包方式
      • 默认是jar , 普通java项目
      • 可以指定为war, 即web项目
  • 项目依赖
    • 依赖就是jar包
    • 是以坐标的形式展现
  • 构建工具
    <!--  项目信息--> <groupId>com.qf</groupId><artifactId>day45_java</artifactId><version>1.0-SNAPSHOT</version><!-- 打包方式 ,默认是jar,如果是javaweb项目,打包方式是war--><packaging>jar</packaging>
<!-- 依赖 --><dependencies><!-- 具体的jar包依赖坐标 -->
<!--        <dependency>-->
<!--            <groupId></groupId>-->
<!--            <artifactId></artifactId>-->
<!--            <version></version>-->
<!--        </dependency>--></dependencies>
<!-- 构建信息 -->
<!--    <build>-->
<!--        <plugins>-->
<!--            <plugin>...</plugin>-->
<!--        </plugins>-->
<!--    </build>-->

2.5 导入依赖

2.5.1 查找依赖

官方提供一中央仓库网站,网站中有所有jar包的依赖信息,就可以搜索依赖

Maven Repository: Search/Browse/Explore (mvnrepository.com)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.5.2 使用依赖

将复制的依赖坐标,粘贴到pom文件

    <!-- 依赖,就是jar包 --><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency></dependencies>

在这里插入图片描述

在这里插入图片描述

还可以进入仓库中去查看,是否下载成功

在这里插入图片描述

2.6 测试

使用之前jdbc测试

  • 使用maven创建java项目
  • 导入依赖
    • mysql驱动
    • druid.jar包
  • 编码
    • java文件夹写java代码
    • resources 文件夹写配置文件
  • 测试
    在这里插入图片描述

3 JavaWeb

JavaWeb开发就是

  • 前端页面发请求
  • 后台服务器接收请求,将请求中数据发送到数据库
  • 数据库处理CRUD
  • 数据库处理完再响应给服务器
  • 服务器根据结果再响应数据到浏览器

项目开发的架构

  • C/S (Client / Server)
    • 必须要开发客户端软件(QQ,微信,钉钉,LOL…)
    • 优点: 性能好(画质,交互,流程度),安全度高
    • 一般用于游戏/音视频软件
    • 缺点: 软件更新维护升级很麻烦
  • B/S (Browser / Server)
    • 只需要一个浏览器
    • 一般用于功能不复杂,比如微博/淘宝/京东
    • 优点: 更新维护只需重启服务器
    • 缺点: 图形显示,流畅度,安全性相对比较低
    • 目前我们学习Java是为了开发B/S架构的项目

在这里插入图片描述

4 服务器

服务器也称为web服务器,是运行及发布web应用的容器.

只有将开发的项目放到服务器中,才可以通过http请求访问到数据.

常见的web服务器

  • Tomcat 主流,免费,并发量500左右
  • Jetty 效率会比Tomcat高,淘宝用的就这个
  • Resin 新浪在用
  • WebLogic
  • Apache

5 Tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

5.1 下载

官网 Apache Tomcat® - Welcome!

在这里插入图片描述

5.2 安装

解压即可使用,特别注意,解压路径中不要有中文路径!

在这里插入图片描述

bin      放tomcat运行命令
conf     配置文件
lib      运行所需库,jar包等
logs     运行日志
temp     临时文件
webapps 【重要】存放web项目的路径
work     运行时产生文件此处

5.3 启动服务器

进入安装路径的bin目录下,执行(双击)startup.bat命令
在这里插入图片描述

5.4 访问服务器

服务器是在本地,所以访问ip是localhost,tomcat端口默认是8080,即完整服务器路径

http://localhost:8080/index.jsp

在这里插入图片描述

5.5 关闭服务器

只需要关闭服务器黑窗口

5.6 特别说明

现在进行的操作,只是证明tomcat装好可以使用,

等后续需要idea配置tomcat进行启动,访问,停止

6 IDEA - Tomcat

IDEA关联Tomcat是要为每个web项目关联服务器

6.1 maven创建javaweb项目

6.1.1 使用模板创建【推荐】

在这里插入图片描述
在这里插入图片描述

模板创建并不完整

在这里插入图片描述

手动补全目录

补上src/test目录

在这里插入图片描述

在这里插入图片描述

补上src/main/java目录

在这里插入图片描述

补上src/main/resources目录

图略

完整结构如下
在这里插入图片描述

6.1.2 不使用模板创建javaweb项目

像创建java项目一样,创建javaweb项目

在这里插入图片描述
在这里插入图片描述

这样创建出的是java项目,改造成javaweb项目

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是这样创建的web文件夹位置跟maven规范的不一致

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这样不推荐

6.1.3 不使用模板,也不使用框架支持

这种方式是纯手动改造java项目为javaweb项目

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传





手动创建webapp目录,并在在webapp目录下创建WEB-INF目录,并在其下创建web.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"></web-app>

最后,在webapp目录下,创建一个index.jsp文件(jsp文件,理解为html)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传





在项目结构(project structure)中配置该webapp路径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.2 web项目设置Tomcat(部署项目)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7 总结

1 要会使用maven创建java项目javaweb项目
2 项目的目录结构要能手写
3 会导入依赖,检查依赖
4 会创建javaweb项目,并配置Tomcat,并启动
5 写之前布置SQL题

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

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

相关文章

如何计算掩膜图中多个封闭图形的面积

import cv2def calMaskArea(image,idx):mask cv2.inRange(image, idx, idx)contours, hierarchy cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for contour in contours:area cv2.contourArea(contour)print("图形的面积为", area) image是…

C语言从入门到精通之【char类型】

char类型用于储存字符&#xff08;如&#xff0c;字母或标点符号&#xff09;&#xff0c;但是从技术层面看&#xff0c;char是整数类型。因为char类型实际上储存的是整数而不是字符。计算机使用数字编码来处理字符&#xff0c;即用特定的整数表示特定的字符。 char类型占1个字…

2023年09月 Python(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 阅读以下代码,程序输出结果正确的选项是?( ) def process_keywords(keywords_list):unique_keywords = list(set(keywords_list))

基于STM32的无线通信系统设计与实现

【引言】 随着物联网的迅速发展&#xff0c;无线通信技术逐渐成为现代通信领域的关键技术之一。STM32作为一款广受欢迎的微控制器&#xff0c;具有丰富的外设资源和强大的计算能力&#xff0c;在无线通信系统设计中具有广泛的应用。本文将介绍如何基于STM32实现一个简单的无线通…

浅尝:iOS的CoreGraphics和Flutter的Canvas

iOS的CoreGraphic 基本就是创建一个自定义的UIView&#xff0c;然后重写drawRect方法&#xff0c;在此方法里使用UIGraphicsGetCurrentContext()来绘制目标图形和样式 #import <UIKit/UIKit.h>interface MyGraphicView : UIView endimplementation MyGraphicView// Onl…

WordPress 媒体库文件夹管理插件 FileBird v5.5.4和谐版下载

FileBird是一款WordPress 按照文件夹管理方式的插件。 拖放界面 拖放功能现已成为现代软件和网站的标配。本机拖动事件&#xff08;包括仅在刀片中将文件移动到文件夹以及将文件夹移动到文件夹&#xff09;极大地减少了完成任务所需的点击次数。 一流设计的文件夹树展示 我们…

系列二、类装载器ClassLoader

一、能干嘛 1.1、方法区 存放类的描述信息的地方。 1.2、JVM中的类装载器 1.3、获取ClassLoader的方式 /*** Author : 一叶浮萍归大海* Date: 2023/11/16 0:08* Description: 获取类的加载器的方式*/ public class ClassLoaderMainApp {public static void main(String[] arg…

时间序列预测实战(十五)PyTorch实现GRU模型长期预测并可视化结果

往期回顾&#xff1a;时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU(门控循环单元)&#xff0c;本文的实战内容通过时间序列领域最经典的数据集——电力负荷数据集为例&#xff0c;深入的了解GRU的基本原理和…

【微服务专题】Spring启动过程源码解析

目录 前言阅读对象阅读导航前置知识笔记正文一、SpringBoot启动过程源码解析1.1 SpringBoot启动过程源码流程图1.2 流程解析补充1.2.1 SpringApplicationRunListeners&#xff1a;SpringBoot运行过程监听器 学习总结感谢 前言 这部分只是个人的自结&#xff0c;方便后面回来看…

计算机网络五层协议的体系结构

计算机网络中两个端系统之间的通信太复杂&#xff0c;因此把需要问题分而治之&#xff0c;通过把一次通信过程中涉及的所有问题分层归类来进行研究和处理 体系结构是抽象的&#xff0c;实现是真正在运行的软件和硬件 1.实体、协议、服务和服务访问点 协议必须把所有不利条件和…

文件包含学习笔记总结

文件包含概述 ​ 程序开发人员通常会把可重复使用函数或语句写到单个文件中&#xff0c;形成“封装”。在使用某个功能的时候&#xff0c;直接调用此文件&#xff0c;无需再次编写&#xff0c;提高代码重用性&#xff0c;减少代码量。这种调用文件的过程通常称为包含。 ​ 程…

PPT转PDF转换器:便捷的批量PPT转PDF转换软件

在数字化时代&#xff0c;文档转换已成为日常工作不可或缺的一环。特别是对于那些需要转发或发布演示文稿的人来说&#xff0c;如果希望共享给他人的PPT文件在演示过程中不被修改&#xff0c;那么将PPT文件转换为PDF格式已经成为一个常见的选择。大多数PDF阅读器程序都支持全屏…

Rust实战教程:构建您的第一个应用

大家好&#xff01;我是lincyang。 今天&#xff0c;我们将一起动手实践&#xff0c;通过构建一个简单的Rust应用来深入理解这门语言。 我们的项目是一个命令行文本文件分析器&#xff0c;它不仅能读取和显示文件内容&#xff0c;还会提供一些基础的文本分析&#xff0c;如计算…

小程序中如何设置门店信息

小程序是商家转型升级的利器&#xff0c;小程序中门店信息的准确性和完整性对于用户的体验和信任度都有很大的影响。下面具体介绍门店信息怎么在小程序中进行设置。 在小程序管理员后台->门店设置处&#xff0c;可以门店设置相关。主要分为2个模块&#xff0c;一个是门店级…

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目&#xff0c;来演示CocosCreator 的项目结构。 等待创建完成后&#xff0c;会得到以下项目工程&#xff1a; 一、assets文件夹 assets文件夹&#xff1a;为资源目录&#xff0c;用来存储所有的本地资源&#xff0c;如各种图片&#xff0c;脚本…

posix定时器的使用

POSIX定时器是基于POSIX标准定义的一组函数&#xff0c;用于实现在Linux系统中创建和管理定时器。POSIX定时器提供了一种相对较高的精度&#xff0c;可用于实现毫秒级别的定时功能。 POSIX定时器的主要函数包括&#xff1a; timer_create()&#xff1a;用于创建一个定时器对象…

C++网络编程库编写自动爬虫程序

首先&#xff0c;我们需要使用 C 的网络编程库来编写这个爬虫程序。以下是一个简单的示例&#xff1a; #include <iostream> #include <string> #include <curl/curl.h> #include <openssl/ssl.h>const char* proxy_host "duoip"; const in…

线性代数理解笔记

一.向量引入: 向量&#xff1a;只由大小和方向决定&#xff0c;不由位置决定。 二.向量加减法 向量的加法是首尾相连&#xff0c;减法是尾尾相连。 而向量v向量w为平行四边形主对角线。 向量v-向量w为平行四边形副对角线。 2.向量内积点乘&#xff08;内积&#xff09; 内积…

Java --- JVM之StringTable

目录 一、String的基本特性 二、String的内存分配 2.1、String内存分布图 三、字符串拼接操作 3.1、字符串拼接操作底层原理 3.2、拼接操作与append操作效率对比 四、intern()方法 4.1、intern()效率 五、StringTable的垃圾回收 一、String的基本特性 1、String字符…

MR外包团队:MR、XR混合现实技术应用于游戏、培训,心理咨询、教育成为一种创新的各行业MR、XR形式!

随着VR、AR、XR、MR混合现实等技术逐渐应用于游戏开发、心理咨询、培训、教育各个领域&#xff0c;为教育、培训、心理咨询等行业带来了全新的可能性。MR、XR游戏开发、心理咨询是利用虚拟现实技术模拟真实场景&#xff0c;让学生身临其境地参与学习和体验&#xff0c;从而提高…