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

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

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

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

相关文章

PbootCMS后台用户账号密码时进行重置工具

1、工具作用: 工具用于忘记PbootCMS后台用户账号密码时进行重置。 2、下载地址:https://pan.quark.cn/s/2b017974f2c0 3、使用方法: 1)下载重置工具解压包,解压后将resetpw.php文件直接上传到网站根目录下; 2&…

【Linux 网络编程】协议的分层知识!

文章目录 1. 计算机网络背景2. 认识 "协议"3. 协议分层 1. 计算机网络背景 网络互联: 多台计算机连接在一起, 完成数据共享; 🍎局域网(LAN----Local Area Network): 计算机数量更多了, 通过交换机和路由器连接。 🍎 广…

Linux内网中安装nginx详细教程

本章教程主要介绍如何在Linux中通过rpm安装nginx 1、下载安装 下载地址:http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm sudo yum install -y nginx-1.20.1-1.el7.ngx.x86_64.rpm2、启动Nginx并设置开机启动 root用户启动nginx默认监听8…

使用 Docker 环境变量轻松配置 Spring Boot 应用程序:详细指南

在 Spring Boot 应用程序中,可以通过 Docker 传递环境变量来配置数据库连接、密码和账号等参数。以下是一个详细的步骤说明,涵盖了如何设置环境变量、配置 Spring Boot 应用程序以及将其打包到 Docker 容器中。 1. 配置 Spring Boot 应用程序 首先&…

ORA-27041: redo文件 unable to open file处理

现场项目经理反馈有个测试环境的u01满,赶紧回电脑边查看 [rootdb ~]# df -h|grep u01 /dev/mapper/ol-u01 150G 150G 20K 100% /u01 本以为是审计日志*.aud导致的,通过查看发现alert_orcl.log特别的大,98G大小了,查看日志最后…

Spring基础知识总结(纯文字版)

一、Spring IoC 1.1 重要概念 1)控制反转(Inversion of control) 控制反转是一种通过描述(在java中通过xml或者注解)并通过第三方去产生或获取特定对象的方式。 控制反转IoC(Inversion of Control)是说创建对象的控…

基于 Arm 虚拟硬件的 TinyMaix 超轻量级神经网络推理框架的项目实践

本实验过程中所显示的优惠价格及费用报销等相关信息仅在【Arm AI 开发体验创造营】体验活动过程中有效,逾期无效,请根据实时价格自行购买和体验。同时,感谢本次体验活动 Arm 导师 Liliya 对于本实验手册的共创与指导。 详见活动地址&#xff…

常用torch.nn

目录 一、torch.nn和torch.nn.functional二、nn.Linear三、nn.Embedding四、nn.Identity五、Pytorch非线性激活函数六、nn.Conv2d七、nn.Sequential八、nn.ModuleList九、torch.outer torch.cat 一、torch.nn和torch.nn.functional Pytorch中torch.nn和torch.nn.functional的区…

Vue使用axios实现调用后端接口

准备后端接口 首先,我已经写好一个后端接口用来返回我的用户数据,并用Postman测试成功如下: 以我的接口为例,接口地址为:http://localhost:8080/user/selectAll 返回Json为: {"code": "2…

docker制作高版本jdk17镜像踩坑

1、创建目录并下载jdk上传到服务器中 从jdk官网下载jdk17镜像,提示:下载到本地用xftp上传到服务器(速度会快点) jdk官网:https://www.oracle.com/java/technologies/downloads/#graalvmjava21 创建目录,将…

Ubuntu系统编译内核——deb安装 / install安装

摘要 本文简要记录两种编译内核的方法: 打包成deb模块安装(推荐);直接make install安装; 更推荐使用——打包成deb模块安装,因为可以方便的拷贝下次其他机器使用。 1. 编译环境准备 系统:lin…

强化学习——学习笔记3

一、强化学习都有哪些分类? 1、基于模型与不基于模型 根据是否具有环境模型,强化学习算法分为两种:基于模型与不基于模型 基于模型的强化学习(Model-based RL):可以简单的使用动态规划求解,任务可定义为预测和控制&am…

cesium 实现自定义弹窗并跟随场景移动

cesium 添加点位自定义弹窗跟随场景移动 完整代码演示可直接copy使用 1 效果图&#xff1a; 2 深入理解 就是原始点位的数据 id>property 点位真实渲染到球体上的笛卡尔坐标系 id>_polyline 的路径下 可以通过 3 代码示例 <!DOCTYPE html> <html lang"…

【数据分享】2017-2023年全球范围10米精度土地覆盖数据

土地覆盖数据是我们在各项研究中都非常常用的数据&#xff0c;土地覆盖数据的来源也有很多。之前我们分享过欧空局发布的2020年和2021年的10米分辨率的土地覆盖数据,也分享过我国首套1米分辨率的土地覆盖数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; …

dwc3 DR_MODE 处理初始化 OTG gadget

dwc3控制器是怎么处理otg-CSDN博客 dwc3_probe static int dwc3_probe(struct platform_device *pdev) {struct device *dev &pdev->dev;struct resource *res, dwc_res;struct dwc3 *dwc;int ret;void __iomem …

管道液位传感器可以检测哪些液体?

管道液位传感器是一种专门用于检测流动性比较好的液体的传感器装置。它采用光学感应原理&#xff0c;不涉及任何机械运动&#xff0c;具有长寿命、安装方便和微功耗的特点。相比传统机械式液位传感器&#xff0c;光电管道传感器有效解决了低精度和卡死失效等问题&#xff0c;同…

Django 解决 CSRF 问题

在 Django 出现 CSRF 问题 要解决这个问题&#xff0c;就得在 html 里这么修改 <!DOCTYPE html> <html><head></head><body><form action"/login/" method"post">{% csrf_token %}</form></body> </…

C++基础知识之类和对象

一、类 类是一种用户自定义的数据类型&#xff0c;用于封装数据和方法。它定义了一组属性&#xff08;数据成员&#xff09;和方法&#xff08;成员函数&#xff09;&#xff0c;并且可以被多个对象共享。在面向对象编程中&#xff0c;类是一种用于创建对象的蓝图或模板。它定义…

短视频脚本创作的五个方法 沈阳短视频剪辑培训

说起脚本&#xff0c;我们大概都听过影视剧脚本、剧本&#xff0c;偶尔可能在某些综艺节目里听过台本。其中剧本是影视剧拍摄的大纲&#xff0c;用来指导影视剧剧情的走向和发展&#xff0c;而台本则是综艺节目流程走向的指导大纲。 那么&#xff0c;短视频脚本是什么&#xf…

探析GPT-4o:技术之巅的跃进

如何评价GPT-4o? 简介&#xff1a;最近&#xff0c;GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价&#xff0c;包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 随着人工智能领域的不断发展&#xff0c;GPT系列模型一直处于行业的前沿。最近&#xff0c;GPT-4…