day45_maven_tomcat

news2025/3/15 4:22:11

今日内容

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选项

在这里插入图片描述

  1. 设置信息

在这里插入图片描述

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题

链图片转存中…(img-rtW6EHr3-1707135839652)]

[外链图片转存中…(img-LJ1YsQfy-1707135839652)]

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

[外链图片转存中…(img-OwNMtNsa-1707135839653)]

[外链图片转存中…(img-QR9AuIXA-1707135839654)]

[外链图片转存中…(img-j97yDFc5-1707135839654)]

[外链图片转存中…(img-FEZIvR1Z-1707135839655)]

[外链图片转存中…(img-tTjsEAvd-1707135839656)]

[外链图片转存中…(img-TDN2zK2C-1707135839656)]

7 总结

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

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

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

相关文章

ChatGPT高效提问—prompt常见用法(续篇七)

ChatGPT高效提问—prompt常见用法&#xff08;续篇七&#xff09; 1.1 零样本、单样本和多样本 ​ ChatGPT拥有令人惊叹的功能和能力&#xff0c;允许用户自由向其提问&#xff0c;无须提供任何具体的示例样本&#xff0c;就可以获得精准的回答。这种特性被称为零样本&#x…

使用CHATGPT进行论文写作的缺点和风险

为了真正感受 ChatGPT 的写作潜力&#xff0c;让我们先将其与传统的论文写作方法进行一下比较分析 CHATGPT论文写作的缺点和风险 传统论文写作的考验和磨难很深&#xff1a;费力的研究、组织想法和精心设计的逻辑论证&#xff0c;往往以牺牲你的理智为代价。 进入ChatGPT&am…

Linux下的多用户管理和认证:从入门到精通(附实例)

Linux操作系统以其强大的多用户管理和认证机制而著称。这种机制不仅允许多个用户同时登录并执行各种任务&#xff0c;还能确保每个用户的数据安全和隐私。本文将通过一系列实例&#xff0c;带你逐步掌握Linux下的多用户管理和认证。 一、Linux多用户管理的基础知识 在Linux中&…

Bootstrap学习三

Bootstrap学习三 文章目录 前言四、Bootstrap插件4.1. 插件概览4.1.1. data属性4.1.2. 编程方式的API4.1.3. 避免命名空间冲突4.1.4. 事件 4.2. 模态框4.2.1. 引入4.2.2. 基本结构4.2.3. 基本使用4.2.4. 触发模态框的方法 4.3. 下拉菜单和滚动监听4.3.1. 下拉菜单4.3.2. 滚动监…

祝大家春节快乐

文章目录 祝福年俗交流 祝福 今天是大年三十&#xff0c;也就是除夕&#xff0c;这是全画人民欢庆春节的日子&#xff0c;在此辞旧迎新之际&#xff0c;我祝愿所有的粉丝们春节快乐&#xff0c;身体健康&#xff0c;万事如意。也祝愿我们伟大的祖国繁荣昌盛&#xff0c;龙腾虎…

《MySQL 简易速速上手小册》第9章:高级 MySQL 特性和技巧(2024 最新版)

文章目录 9.1 使用存储过程和触发器9.1.1 基础知识9.1.2 重点案例&#xff1a;使用 Python 调用存储过程实现用户注册9.1.3 拓展案例 1&#xff1a;利用触发器自动记录数据更改历史9.1.4 拓展案例 2&#xff1a;使用 Python 和触发器实现数据完整性检查 9.2 管理和查询 JSON 数…

基于LLM的数据漂移和异常检测

大型语言模型 (LLM) 的最新进展被证明是许多领域的颠覆性力量&#xff08;请参阅&#xff1a;通用人工智能的火花&#xff1a;GPT-4 的早期实验&#xff09;。 和许多人一样&#xff0c;我们非常感兴趣地关注这些发展&#xff0c;并探索LLM影响数据科学和机器学习领域的工作流程…

你的立身之本是什么?

去年发生的一切&#xff0c;大到疫情、政治经济形势、行业的萎靡和震荡&#xff0c;小到身边的跳槽、裁员、公司倒闭……似乎都在告诉我们&#xff1a; 当冲击到来的时候&#xff0c;它是不会提前跟你打招呼的。 接下来的10年&#xff0c;我们所面临的不确定性&#xff0c;比起…

技术精英求职必备:Java开发工程师简历制作全指南

投简历找工作嘛&#xff0c;这事儿其实就跟相亲差不多&#xff0c;得让对方一眼就看上你。 在这场职场的‘相亲’中&#xff0c;怎样才能让你的简历脱颖而出&#xff0c;成为HR眼中的理想‘对象’呢&#xff1f;来&#xff0c;我给你支几招&#xff0c;让你的简历更吸引人。 …

windows编程-系统编程入门

1.进程线程概念&#xff08;简略版&#xff09; 1.1 进程 1.1.1 概念 我们编写的代码只是一个存储在硬盘的静态文件&#xff0c;通过编译后就会生成二进制可执行文件&#xff0c;当我们运行这个可执行文件后&#xff0c;它会被装载到内存中&#xff0c;接着 CPU 会执行程序中…

除夕快乐(前端小烟花)

家人们&#xff0c;新的一年好运常在&#xff0c;愿大家在新的一年里得偿所愿&#xff0c;发财暴富&#xff0c;愿大家找到属于自己的那个公主&#xff0c;下面就给大家展示一下给公主的烟花 前端烟花 新的一年&#xff0c;新的挑战&#xff0c;愿我们不忘初心&#xff0c;砥砺…

HarmonyOS 开发学习笔记

HarmonyOS 开发学习笔记 一、开发准备1.1、了解ArkTs语言1.2、TypeScript语法1.2.1、变量声明1.2.2、条件控制1.2.3、函数1.2.4、类和接口1.2.5、模块开发 1.3、快速入门 二、ArkUI组件2.1、Image组件2.2、Text文本显示组件2.3、TextInput文本输入框组件2.4、Button按钮组件2.5…

备战蓝桥杯---搜索(完结篇)

再看一道不完全是搜索的题&#xff1a; 解法1&#xff1a;贪心并查集&#xff1a; 把冲突事件从大到小排&#xff0c;判断是否两个在同一集合&#xff0c;在的话就返回&#xff0c;不在的话就合并。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace …

Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)

Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑&#xff01;仅 860K, 还不到 1M, 但却是功能强大&#xff01; V2.2 (2024春节・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…

放飞梦想,扬帆起航——1888粉丝福利总结

目录 1.祝福 2.准备 3.抽奖 4.制作 5.添加 6.成果 7.感谢 8.福利 9.祝福 1.祝福 马上就是除夕了&#xff0c;在这里提前预祝大家春节快乐&#xff0c;小芒果在这里给大家拜年了&#xff01; 2.准备 其实很早之前我就在幻想着哪一天我的粉丝量能突破1888&#xff0c;…

Redis -- 安装客户端redis-plus-plus

目录 访问reids客户端github链接 安装git 如何安装&#xff1f; 下载/编译、安装客户端 安装过程中可能遇到的问题 访问reids客户端github链接 GitHub - sewenew/redis-plus-plus: Redis client written in CRedis client written in C. Contribute to sewenew/redis-p…

【动态规划】【C++算法】2518. 好分区的数目

作者推荐 【动态规划】【前缀和】【C算法】LCP 57. 打地鼠 本文涉及知识点 动态规划汇总 LeetCode:2518. 好分区的数目 给你一个正整数数组 nums 和一个整数 k 。 分区 的定义是&#xff1a;将数组划分成两个有序的 组 &#xff0c;并满足每个元素 恰好 存在于 某一个 组中…

【QT学习十四】 文件目录操作

目录 一、概述 二、详解 1. QFile QFile 类中的一些静态方法&#xff1a; 使用示例&#xff1a; 注意事项&#xff1a; 2. QDir 成员函数 使用实例&#xff1a; 注意事项&#xff1a; 3. QFileInfo 成员函数 使用实例 4. QTemporaryFile 成员函数 使用实例 注…

医学考试搜题答案这7款足够解决问题 #笔记#知识分享#其他

搜题软件一般都是通过识别题目内容搜索出问题的答案&#xff0c;当识别内容不正确或搜索不到答案时&#xff0c;又得重新到其他软件进行重复的操作&#xff0c;很是麻烦。所以我们可以使用专业的识别工具&#xff0c;对题目内容进行识别&#xff0c;然后把提取出来的内容单独保…

企业内部知识库管理软件的终极指南:如何选择最适合你的工具?

知识库管理软件对于希望提高客户支持和组织效率的公司来说是一个强大的工具。在数字时代&#xff0c;拥有一个可靠的知识库系统对于快速准确地满足客户需求至关重要。在当今的技术条件下&#xff0c;知识库管理软件有很多选择&#xff0c;每个企业都应该仔细评估并选择最适合自…