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

idea+tomcat+mysql 从零开始部署Javaweb项目(保姆级别)

文章目录

    • 新建一个项目
    • 添加web支持
    • 配置tomcat
    • 优化tomcat的部署
    • 运行tomcat
    • idea数据库连接
    • java连接数据库

新建一个项目

  1. new project;
  2. Java;
  3. 选择jdk的版本;
  4. next;
  5. next;
  6. 填写项目名字,选择保存的路径;
  7. Finish;

对于新建好的项目,第一个是项目的名称,.iml是项目的标识文件,标识一个独立的项目;

在这里插入图片描述

在这里插入图片描述

添加web支持

  1. 点击项目的名称,右键;
  2. Add Frameworks Support;
  3. web application;
  4. ok;

此时项目下多了一个web的目录,这是整个web项目的根目录。

在这里插入图片描述

整个项目结构如下:

  1. test表示项目的名称;
  2. src用来存储代码;
  3. web是web项目的根目录,其中包含一个WEB-INF和index.jsp,其中index.jsp是项目启动后默认的进入的页面;
  4. test.iml是整个项目的标识文件。

在这里插入图片描述

配置tomcat

前提是成功下载好tomcat

  1. add configuration;

  2. +号;

  3. 选择tomcat server 下的local。
    在这里插入图片描述

  4. configure,选择tomcat下载的路径;

  5. 选择jdk依赖,一般默认就好;

  6. fix——>ok。
    在这里插入图片描述
    最后点击ok就成功部署tomcat了。

优化tomcat的部署

【还是tomcat的配置中】更新的操作可以选择update classes and resources,这样就不需要代码有更新的时候一直都重启,重启太慢,只需要刷新就好。

在这里插入图片描述

  1. 点击file;
  2. 选择project structure;
  3. modules;
  4. dependencies;
  5. +号;
  6. library;
  7. 选择tomcat的依赖包;
  8. add selected ——>ok;

添加tomcat的依赖包,避免有的时候导包报错。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

运行tomcat

点下面的标识就可以。
在这里插入图片描述

运行成功后会显示以下页面。

这里有一个需要注意的点就是网页启动后的的路径,我这里是http://localhost:8080/test_war_exploded/和我的tomcat的配置是对应的,比如端口号8080,以及在配置tomcat的fix之后添加的也是test_war_exploded,一句话就是要对应。

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

如果以上配置都正确的话,修改index.jsp并且保存后,点击绿色的标识,再刷新网页就可以得到修改后的内容

在这里插入图片描述

在这里插入图片描述

idea数据库连接

首先下载好mysql。

  1. view;
  2. tool windows;
  3. database。

在这里插入图片描述
4. 侧边栏显示database标识,点击标识;
5. +号;
6. 选择自己的数据库;

在这里插入图片描述
7. 填写数据库的账号和密码;
8. 点击test connection。

在这里插入图片描述

显示successed表示成功。

在这里插入图片描述

  1. 点击+号;
  2. query console,调出控制台;
  3. 编写相应的sql语句;
  4. 点击绿色小标运行,即可在输出界面看到对应的运行结果。

在这里插入图片描述
在这里插入图片描述
按照上面的方法,快速建立好数据库,这里是新建了一个studentinfomanagement的数据库。

java连接数据库

  1. 编辑一个类似下面的代码,把自己的数据库账号密码以及数据库的名称都更换成自己的。
package utils;import java.sql.DriverManager;
import java.sql.SQLException;import java.sql.Connection;
public class DBUtils {/*** 获取数据库连接* @return Connection对象*/public static Connection getConnection(){String dbUserName = "root";String dbUserPasswd = "123456";String dbURL = "jdbc:mysql://localhost:3306/studentinfomanagement?"+ "user="+dbUserName+"&password="+dbUserPasswd+"&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC&useSSL=false";Connection conn = null;try {
//            Class.forName("com.mysql.jdbc.Driver");//低版本 5.+Class.forName("com.mysql.cj.jdbc.Driver");// 高版本8.+conn = (Connection) DriverManager.getConnection(dbURL,dbUserName,dbUserPasswd);} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();}return conn;}/*** 关闭数据库连接* @param conn Connection对象*/public static void closeConnection(Connection conn) {//判断conn是否为空if(conn != null){try {conn.close();//关闭数据库连接} catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}}}}
  1. 右键WEB-INF,new,directory,新建一个lib目录

在这里插入图片描述
3. 把与自己mysql适配的驱动jar包复制到路径下。

在这里插入图片描述
4. 右键lib目录,add as library。

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

  1. 以上成功后,可以使用以下代码进行简单的测试,这里还有一种可能就是上面代码给的是高版本的驱动器的代码,如果自己的驱动版本是5版本的话可以换一个驱动的代码,否则也可能报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

在这里插入图片描述

package test;import utils.DBUtils;public class test {/*** DB测试用例*/public static void testDB(){System.out.println(DBUtils.getConnection());}public static void main(String[] args) {testDB();}
}

出现以下类似结果表示连接成功。

com.mysql.cj.jdbc.ConnectionImpl@61832929Process finished with exit code 0

以上,一个正常的项目就可以启动起来了。

相关文章:

idea+tomcat+mysql 从零开始部署Javaweb项目(保姆级别)

文章目录 新建一个项目添加web支持配置tomcat优化tomcat的部署运行tomcatidea数据库连接java连接数据库 新建一个项目 new project;Java;选择jdk的版本;next;next;填写项目名字,选择保存的路径;…...

LeetCode 每日一题 2024/5/27-2024/6/2

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 5/27 2028. 找出缺失的观测数据5/28 2951. 找出峰值5/29 2981. 找出出现至少三次的最长特殊子字符串 I5/30 2982. 找出出现至少三次的最长特殊子字符串 II5/31 2965. 找出缺…...

BOOST_SREATCH

BOOST Boost是一个由C社区开发的开源库,为C语言标准库提供扩展。这个库由C标准委员会库工作组成员发起,旨在提供大量功能和工具,帮助C开发者更高效地编写代码。Boost库强调跨平台性和对标准C的遵循,因此与编写平台无关&#xff0…...

MySQL学习——获取数据库和表格的信息

如果忘记了数据库或表的名称,或者不确定给定表的结构(例如,其列的名称),该怎么办呢?MySQL通过几个语句解决了这个问题,这些语句提供了有关它支持的数据库和表的信息。 你之前已经看过SHOW DATA…...

Go语言redis框架 — go-redis

https://zhuanlan.zhihu.com/p/645669818 一、简述 1. API友好,命令名称和参数与Redis原生命令一致,使用简单方便。 2. 支持完整的Redis命令集,覆盖了字符串、哈希、列表、集合、有序集合、HyperLogLog等数据结构。 3. 支持连接池&#x…...

C++ | Leetcode C++题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isPalindrome(string s) {int n s.size();int left 0, right n - 1;while (left < right) {while (left < right && !isalnum(s[left])) {left;}while (left < right && !isalnu…...

Spring创建对象的多种方式

一、对象分类 简单对象&#xff1a;使用new Obj()方式创建的对象 复杂对象&#xff1a;无法使用new Obj()方式创建的对象。例如&#xff1a; 1. AOP创建代理对象。ProxyFactoryBean; 2. Mybatis中的SqlSessionFactoryBean; 3. Hibernate中的SessionFactoryBean。二、创建对象方…...

宝塔部署前后端分离项目手册

文章目录 安装宝塔安装环境开始部署1. 前端Vue项目1.先本地启动前端项目&#xff08;记住端口号&#xff09;2.打包前端项目3.上传前端项目4.创建PHP站点5.安全里开放端口号6.测试前端 2. 后端boot项目1. 先在本地跑起来2.修改数据库的配置信息3. 项目打包4. nohup启动项目4.1 …...

Leetcode 第 397 场周赛题解

Leetcode 第 397 场周赛题解 Leetcode 第 397 场周赛题解题目1&#xff1a;3146. 两个字符串的排列差思路代码复杂度分析 题目2&#xff1a;思路代码复杂度分析 题目3&#xff1a;3148. 矩阵中的最大得分思路代码复杂度分析 题目4&#xff1a;3149. 找出分数最低的排列思路代码…...

Python+Selenium自动化测试项目实战

第 1 章 自动化测试 1.1、自动化测试介绍 自动化测试就是通过自动化测试工具帮我们打开浏览器&#xff0c;输入网址&#xff0c;输入账号密码登录&#xff0c;及登录后的操作&#xff0c;总的说来自动化测试就是通过自动化测试脚本来帮我们从繁琐重复的手工测试里面解脱出来&…...

WPS部分快捷操作汇总

记录一些个人常用的WPS快捷操作 一、去除文档中所有的超链接&#xff1a; 1、用WPS打开文档&#xff1b; 2、用Ctrla全选&#xff0c;或者点击上方的【选择】-【全选】&#xff0c;选中文档全部内容&#xff1b; 3、按CTRLSHIFTF9组合键&#xff0c;即可一次性将取文档中所有…...

Kubernetes (K8s) 普及指南

在当今的云计算和微服务时代&#xff0c;Kubernetes&#xff08;简称K8s&#xff09;已经成为容器编排的标准工具。它帮助开发者和运维人员管理和部署应用程序&#xff0c;实现高可用性、可伸缩性和自我修复。本文将详细介绍Kubernetes的基本概念、核心组件、工作原理及其优势。…...

Oracle RAC 集群配置共享目录ACFS

Oracle RAC 集群配置共享目录ACFS 应用场景&#xff1a;创建的ACFS文件系统用于部署OGG做数据同步使用。 1、创建共享磁盘组 create diskgroup OGG external redundancy disk /dev/mapper/ASM08, /dev/mapper/ASM09; 2、创建 acfs 文件系统 ACFS文件系统 在ASM磁盘组中通过A…...

Google Cloudbuild yaml file 中 entrypoint 和 args 的写法

编写cloudbuild.yaml 时有几个关键参数 entrypoint 和 args 的基本介绍 id: 显示在 cloud build logs 里的item 名字 name: docker 镜像名字 - 下面的命令会在这个镜像的1个容器instance 内执行 entrypoint: 执行的命令入口 &#xff0c; 只能有1个对象 args&#xff1a; 命名…...

鸿蒙开发接口图形图像:【@ohos.window (窗口)】

窗口 窗口提供管理窗口的一些基础能力&#xff0c;包括对当前窗口的创建、销毁、各属性设置&#xff0c;以及对各窗口间的管理调度。 该模块提供以下窗口相关的常用功能&#xff1a; [Window]&#xff1a;当前窗口实例&#xff0c;窗口管理器管理的基本单元。[WindowStage]&…...

LLM 基准测试的深入指南

随着越来越多的 LLM 可用,对于组织和用户来说,快速浏览不断增长的环境并确定哪些模型最适合他们的需求至关重要。实现这一目标的最可靠方法之一是了解基准分数。 考虑到这一点,本指南深入探讨了 LLM 基准的概念、最常见的基准是什么以及它们需要什么,以及仅依赖基准作为模…...

深入理解Redis事务、事务异常、乐观锁、管道

Redis事务与MySQL事务 不一样。原子性&#xff1a;MySQL有Undo Log机制&#xff0c;支持强原子性&#xff0c;和回滚。Redis只能保证事务内指令可以不被干扰的在同一批次执行&#xff0c;且没有机制保证全部成功则提交&#xff0c;部分失败则回滚。隔离性&#xff1a;MySQL的隔…...

17、Spring系列-SpringMVC-请求源码流程

前言 Spring官网的MVC模块介绍&#xff1a; Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块的名称&#xff08;spring-webmvc&#xff09;&#xff0c;但它通常被称为“ Spring MVC…...

对简单工厂模式、工厂方法模式、抽象工厂模式的简单理解

简单工厂模式 三部分组成 抽象类一些抽象类的具体实现类工厂类 把创建对象的任务交给一个工厂类来实现&#xff0c;对业务进行封装。 优点&#xff1a;实现了任务分离&#xff0c;客户端不用关心业务的具体实现&#xff0c;交由工厂来“生产”。 缺点&#xff1a;违背开闭原…...

PostgreSQL常用插件

PostgreSQL 拥有许多常用插件&#xff0c;这些插件可以大大增强其功能和性能。以下是一些常用的 PostgreSQL 插件&#xff1a; 性能监控和优化 pg_stat_statements 1.提供对所有 SQL 语句执行情况的统计信息。对调优和监控非常有用。 2.安装和使用&#xff1a; pg_stat_k…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...