【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(三)

简介: 【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(三)
+关注继续查看

三、使用Maven构建 Web项目


与二、IDEA集成 Tomcat基本一致,可以简单了解。


1、创建Maven Web项目


Tomcat中运行的绝大多数都是Web项目,而使用Maven工具(Mavan学习笔记链接)能更加简单快捷的把Web项目给创建出来,所以我们要学会如何构建Maven的Web项目。


在真正创建Maven Web项目之前,我们先要知道Web项目长什么样子,具体的结构是什么?


1.1 Web项目结构


Web项目的结构分为:开发中的项目和开发完可以部署的Web项目,这两种项目的结构是不一样的,我们一个个来介绍一下:


Maven Web项目结构: 开发中的项目


95da31375469455621326449a89a8662_image-20220908112622198.png


开发完成部署的Web项目


e972e25b2128b35d6e1e5b0efb883f8c_1627202903750.png


开发项目通过执行Maven打包命令package,可以获取到部署的Web项目目录

编译后的Java字节码文件和resources的资源文件,会被放到WEB-INF下的classes目录下

pom.xml中依赖坐标对应的jar包,会被放入WEB-INF下的lib目录下


1.2 创建Maven Web项目


介绍完Maven Web的项目结构后,接下来使用Maven来创建Web项目,创建方式有两种:使用骨架和不使用骨架


使用骨架


具体的步骤包含:


1.创建Maven项目


10e99feb59b2d4e7a74b7b395072fa44_1627227574092.png


2.选择使用Web项目骨架


9cf12dbb1fa84d1343cb5c0f6a4b4fdc_2a83a325000bcef563fba883c82648eb.png


3.输入Maven项目坐标创建项目


33df18ca4614016e146a2566bc4f4b56_c17c13d2aa8216be5eefd2c0573876ef.png


4.确认Maven相关的配置信息后,完成项目创建


ec2eac373cbd46449f449c565419109e_f8cd8b3ce18f3f1a89f9eb751112dbe7.png


5.删除pom.xml中多余内容


fd8fa3c4fb9704bb080a913594d0d31e_5d2bd5f70b6c686d69f2fbce8599e4ab.png


6.补齐Maven Web项目缺失的目录结构


585eabbfb16e026bfb57efd6cf50b7c8_96c196bcb065338a8c0e11cbe2e00299.png




不使用骨架


具体的步骤包含:


1.创建Maven项目


2.选择不使用Web项目骨架


3.输入Maven项目坐标创建项目


4.在pom.xml设置打包方式为war


5.补齐Maven Web项目缺失webapp的目录结构


6.补齐Maven Web项目缺失WEB-INF/web.xml的目录结构


创建Maven项目


d8f45d31ff7d31b283c0d20bb19e2027_3ac337f6e0c8afb3ae2a43ef55dbcc62.png


选择不使用Web项目骨架


de27b1aedbc810bf93b28c53e7fca2d2_84cade2e813acc1166e4e0dcd6d13284.png


输入Maven项目坐标创建项目


b469feed23e011b5cd5d47b5669b51ea_35ed7c97cb6b77ecedaa58c84e2684a1.png


在pom.xml设置打包方式为war,默认是不写代表打包方式为jar


06ac82dd9677043a07e6b2f412bec9d7_14b5dc8694a3856ea410ae9c15eb45fe.png


补齐Maven Web项目缺失webapp的目录结构



5d2e79cee7c5edcf054d6960c2bc86b7_7cd2d3f592cc07cbd59a201e6ab5d67d.png


补齐Maven Web项目缺失WEB-INF/web.xml的目录结构


6e4af449bea9279e28fe54c9116c0009_54e4597ff4653792f34ffe50a0b6a107.png


补充完后,最终的项目结构如下:


77c247ec77ed386d5b067a99ad4d2c90_f3b881a8620213fac530d29df3d7d087.png


上述两种方式,创建的web项目,都不是很全,需要手动补充内容,至于最终采用哪种方式来创建Maven Web项目,都是可以的,根据各自的喜好来选择使用即可。


总结


1.掌握Maven Web项目的目录结构


2.掌握使用骨架的方式创建Maven Web项目


dca73ed1f0491435713919699b4337e7_b46ab4c37f8a3eba28f40feea435c1a4.png


3.掌握不使用骨架的方式创建Maven Web项目


b435d77c46e8ac22e3784101a54a1f2c_3626bb0ea44fa6dc2a2f523a394321c5.png


2、IDEA集成本地Tomcat


Maven Web项目创建成功后,通过Maven的package命令可以将项目打包成war包,将war文件拷贝到Tomcat的webapps目录下,启动Tomcat就可以将项目部署成功,然后通过浏览器进行访问即可。

然而我们在开发的过程中,项目中的内容会经常发生变化,如果按照上面这种方式来部署测试,是非常不方便的

所以我们需要IDEA中能快速使用Tomcat,即在IDEA中集成本地Tomcat,将刚才本地安装好的Tomcat8集成到IDEA中,完成项目部署,具体的实现步骤


打开添加本地Tomcat的面板


9d6f504b416aba14fb6a3939fc99d5e7_7721de56b77410d6060ff784ef10be9b.png



指定本地Tomcat的具体路径


70e03ef9d9c1ac9fcffaf1a0857c734c_036e2e0c41a4a47a557740d0bae4f291.png


修改Tomcat的名称,此步骤可以不改,只是让名字看起来更有意义,HTTP port中的端口也可以进行修改,比如把8080改成80


32d813f99ed9265cb113b3698a86a570_8584e293f39c36bf467c861578a15e18.png


将开发项目部署项目到Tomcat中


c499c9aebcba2817adf00542288825c8_79fd55bf66c2959de1c6d0094045ffcd.png


扩展内容: xxx.war和 xxx.war exploded这两种部署项目模式的区别?


war模式是将WEB工程打成war包,把war包发布到Tomcat服务器上


war exploded模式是将WEB工程以当前文件夹的位置关系发布到Tomcat服务器上


war模式部署成功后,Tomcat的webapps目录下会有部署的项目内容


war exploded模式部署成功后,Tomcat的webapps目录下没有,而使用的是项目的target目录下的内容进行部署


建议大家都选war模式进行部署,更符合项目部署的实际情况


部署成功后,就可以启动项目,为了能更好的看到启动的效果,可以在webapp目录下添加a.html页面


a7b6ca90b41f2fd553385159591e258b_9b47a464518929e3a11db7ee187aa041.png


启动成功后,可以通过浏览器进行访问测试


27946be16f1ad8014047dd629e87a9e9_a5fe2a1a6486662eab02224fe81463ed.png


最终的注意事项


1bf11e4eb8b0ddb20f3c0f2f73a45eff_1f7d98bc05209116116e0e2130b75f55.png


至此,IDEA中集成本地Tomcat进行项目部署的内容我们就介绍完了,整体步骤如下,大家需要按照流程进行部署操作练习。


8969c8ef6ffb40be8653ee48157ea6bd_d6055486aad9403f0b3578aad0c8435d.png


四、示例代码


Eclipse工程代码

sql


/*
 Navicat Premium Data Transfer
 Source Server         : root
 Source Server Type    : MySQL
 Source Server Version : 80026
 Source Host           : localhost:3306
 Source Schema         : javaweb
 Target Server Type    : MySQL
 Target Server Version : 80026
 File Encoding         : 65001
 Date: 07/09/2022 20:52:25
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int NOT NULL,
  `name` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `password` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `SEX` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `age` int NULL DEFAULT NULL,
  `brithday` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'sunming', '123456', '男', 18, '2022-09-07 00:00:00');
SET FOREIGN_KEY_CHECKS = 1;



jdbc.DBConnection.java


package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBConnection {
    private static final String driverName = "com.mysql.cj.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/testDB?"
    + "characterEncoding=utf8&useSSL=false&serverTimezone=UTC"
    + "&rewriteBatchedStatements=true";
    private static final String user = "root";
    private static final String password = "root";
    private DBConnection() {
    }
    static {
  try {
    Class.forName(driverName);
  } catch (ClassNotFoundException e) {
    e.printStackTrace();
  }
    }
    public static Connection getConnection() throws SQLException {
  return DriverManager.getConnection(url, user, password);
    }
    public static void close(ResultSet rs, Statement st, Connection conn) {
  try {
    if (rs != null) {
    rs.close();
    }
  } catch (SQLException e) {
    e.printStackTrace();
  } finally {
    try {
    if (st != null) {
        st.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    if (conn != null) {
        try {
      conn.close();
        } catch (SQLException e) {
      e.printStackTrace();
        }
    }
    }
  }
    }
}



dao.UserLogin.java


package jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import util.DBConnection;
public class UserLogin {
    public static boolean validlogin(String name, String password)throws SQLException{
  Connection conn = null;
  Statement st = null;
  ResultSet rs = null;
  boolean successflag=false;
  try {
    // 2、获得连接对象
    conn = DBConnection.getConnection();
    // 定义sql语句
    String sql = "select * from user where name='"+name+"' and password='"+password+"'";
    // 3、创建语句对象
    st = conn.createStatement();
    // 4、遍历结果集(此处不需要)
    rs=st.executeQuery(sql);
    if(rs.next()==true) successflag=true;
  } finally {
    // 5、关闭资源对象
    DBConnection.close(rs, st, conn);
  }
  return successflag;
    }
}


通过这一篇文章的学习,我们学会了在Eclipse、IDEA中集成Tomcat构建Web(Maven Web)的方式,为JavaWeb的学习提供了好的工具,后面我们首先复习DAO层设计:JDBC。Mybatis,之后开始学习Http以及Web核心技术Serlet。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
IDE Java 应用服务中间件
eclipse配置tomcat
Eclipse是一款非常流行的Java开发集成环境(IDE),它主要用于开发Java语言相关的应用程序。而则是一个流行的,也是一个。在Java Web应用程序的开发过程中,使用Eclipse配置Tomcat可以使开发者更方便地进行Web应用程序的总之,通过在Eclipse中配置Tomcat服务器,可以大大方便Java开发者进行Web应用程序的开发和管理。接下来我们就开始配置吧!
|
20天前
|
Java 应用服务中间件 Apache
Tomcat Web环境搭建(eclipse)2
Tomcat Web环境搭建(eclipse)2
25 0
|
20天前
|
负载均衡 Java 应用服务中间件
Tomcat Web环境搭建(eclipse)1
Tomcat Web环境搭建(eclipse)1
21 0
|
3月前
|
缓存 IDE 安全
Tomcat与IDE的整合 - Eclipse(结尾附视频)
Tomcat与IDE的整合 - Eclipse(结尾附视频)
41 0
|
4月前
|
应用服务中间件 Android开发
eclipse导入tomcat步骤
eclipse导入tomcat步骤
70 0
|
4月前
|
XML Java 应用服务中间件
Tomcat简介以及在Eclipse中配置
Tomcat简介以及在Eclipse中配置
55 0
|
5月前
|
应用服务中间件 Android开发
【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(二)
【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(二)
|
5月前
|
XML IDE Java
【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(一)
【JavaWeb】手把手教你Eclipse、IDEA集成Tomcat构建Web应用(一)
|
8月前
|
存储 Java 应用服务中间件
Java开发 —— eclipse,myeclipse安装+Tomcat插件
Java开发 —— eclipse,myeclipse安装+Tomcat插件
Java开发 —— eclipse,myeclipse安装+Tomcat插件
|
9月前
|
Java 应用服务中间件 Apache
Eclipse 服务器配置之安装 Tomcat 服务器
Eclipse 服务器配置之安装 Tomcat 服务器
145 0
Eclipse 服务器配置之安装 Tomcat 服务器
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多