javaweb 项目初始配置的方法步骤

目录
  • 项目初始流程:
  • 数据库的建立于一开始的分层:
  • db.properties:
    • 首先创建数据库连接的工具类:DBUtil
    • 1:得到配置文件对象:
    • 2:获取数据库连接:
    • 3:关闭资源:
  • DBUtil类全部代码:
  • 使用日志:

项目初始流程:

首先说一下pom.xml文件的依赖:

 <dependencies>

    <!-- junit 测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <!-- web servlet -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>

    <!-- 日志打印相关的jar -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.2</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.2</version>
    </dependency>

    <!-- mysql 驱动包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.19</version>
    </dependency>

    <!-- json 依赖 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>

    <!-- hutool工具集 -->
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.4.7</version>
    </dependency>

    <!-- commons-io 依赖 -->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>

    <!-- 添加百度编辑器ueditor支持 -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>

    <!-- jstl依赖 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <!-- lombok插件 -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
      <scope>provided</scope>
    </dependency>

  </dependencies>

  <build>
    <finalName>lezijie-note</finalName>

    <plugins>
      <!-- 编译环境插件 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>

      <!-- Tomcat插件 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>8080</port> <!-- 启动端口 默认:8080 -->
          <path>/note</path> <!-- 项目的站点名,即对外访问路径 -->
          <server>tomcat7</server> <!-- 服务器名称 -->
        </configuration>
      </plugin>

    </plugins>
  </build>
</project>

数据库的建立于一开始的分层:

db.properties:

# 连接MYSQL数据库的配置文件 注:等号的前后不要写空格
# 驱动名
jdbcName=com.mysql.cj.jdbc.Driver
# 数据库连接 ( db_lezijie_note是数据库的名称)
dbUrl=jdbc:mysql://localhost:3306/db_lezijie_note?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
# 数据库的连接账号 (账号基本上都是root)
dbName=root
# 数据库的连接密码 (每个人的数据库密码可能不一致,需要修改)
dbPwd=root

首先创建数据库连接的工具类:DBUtil

1:得到配置文件对象:

 /**
     * 得到配置文件对象
     */
    private  static Properties properties = new Properties();

    static {
        try {
        //加载配置文件(输入流)
        InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
        // 通过load()方法将数日六的内容加载到配置文件对象中
            properties.load(in);
            // 通过配置文件对象的getProperty()方法获取驱动名,拿到驱动名之后加载驱动
            Class.forName(properties.getProperty("jdbcName"));
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

2:获取数据库连接:

  /**
     * 获取数据库连接
     * @return
     */
    public  static Connection getConnection(){
        Connection connection = null;

        try {
            //得到数据库链接的相关性息
            String dbUrl = properties.getProperty("dbUrl");
            String dbName = properties.getProperty("dbName");
            String dbPwd = properties.getProperty("dbPwd");

            connection = DriverManager.getConnection(dbUrl,dbName,dbPwd);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }

        return  connection;

    }

3:关闭资源:

 /**
     * 关闭资源
     * @param resultSet
     * @param preparedStatement
     * @param connection
     */
    public  static  void close(ResultSet resultSet,
                               PreparedStatement preparedStatement,
                               Connection connection){
        //判断资源对象如果不为空则关闭

            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            }catch (SQLException throwables) {
                throwables.printStackTrace();
            }

        }

DBUtil类全部代码:

package com.ftzlovedsj.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

/**
 * @author ${范涛之}
 * @Description
 * @create 2021-11-14 19:02
 */
public class DBUtil {
    /**
     * 得到配置文件对象
     */
    private  static Properties properties = new Properties();

    static {
        try {
        //加载配置文件(输入流)
        InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
        // 通过load()方法将数日六的内容加载到配置文件对象中
            properties.load(in);
            // 通过配置文件对象的getProperty()方法获取驱动名,拿到驱动名之后加载驱动
            Class.forName(properties.getProperty("jdbcName"));
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * 获取数据库连接
     * @return
     */
    public  static Connection getConnection(){
        Connection connection = null;

        try {
            //得到数据库链接的相关性息
            String dbUrl = properties.getProperty("dbUrl");
            String dbName = properties.getProperty("dbName");
            String dbPwd = properties.getProperty("dbPwd");

            connection = DriverManager.getConnection(dbUrl,dbName,dbPwd);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }

        return  connection;

    }

    /**
     * 关闭资源
     * @param resultSet
     * @param preparedStatement
     * @param connection
     */
    public  static  void close(ResultSet resultSet,
                               PreparedStatement preparedStatement,
                               Connection connection){
        //判断资源对象如果不为空则关闭

            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            }catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }

在写好连接后我们需要写一个测试类来判断数据库是否真正连接成功:

然后编写测试代码:TestDB类:

package com.ftzlovedsj;

import com.ftzlovedsj.util.DBUtil;
import org.junit.Test;

/**
 * @author ${范涛之}
 * @Description
 * @create 2021-11-14 19:30
 */
public class TestDB {

    /**
     * 单元测试方法
     *  1. 方法的返回值,建议使用void,一般没有返回值
     *  2. 参数列表,建议空参,一般是没有参数
     *  3. 方法上需要设置@Test注解
     *  4. 每个方法都能独立运行
     *
     *  判定结果:
     *      绿色:成功
     *      红色:失败
     */

    @Test
    public  void testDB(){
        System.out.println(DBUtil.getConnetion());
    }
}

这里倘若出现了报错有可能的原因是你没有在pom文件里面导入mysql连接包:

运行成功后:

使用日志:

使用日志

配置文件

在 src/main/resources 目录下,新建 log4j.properties 文件

### 设置###stdout,
log4j.rootLogger = all,D,E,stdout

### 输出信息到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=D://logs/log.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]

使用方式

// 使用日志工厂类,记入日志
private static Logger logger = LoggerFactory.getLogger(DBUtil.class);
// 记录日志
logger.info("在{}时,获取数据库连接", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

TestDB:

package com.ftzlovedsj;

import com.ftzlovedsj.util.DBUtil;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author ${范涛之}
 * @Description
 * @create 2021-11-14 19:30
 */
public class TestDB {

    // 使用日志工厂类,记录日志
    private Logger logger = LoggerFactory.getLogger(TestDB.class);

    /**
     * 单元测试方法
     *  1. 方法的返回值,建议使用void,一般没有返回值
     *  2. 参数列表,建议空参,一般是没有参数
     *  3. 方法上需要设置@Test注解
     *  4. 每个方法都能独立运行
     *
     *  判定结果:
     *      绿色:成功
     *      红色:失败
     */

    @Test
    public  void testDB(){
        System.out.println(DBUtil.getConnetion());
        //使用日志
        logger.info("获取数据库连接:" + DBUtil.getConnetion());
        logger.info("获取数据库连接:{}", DBUtil.getConnetion());
    }
}

到此这篇关于javaweb 项目初始配置的方法步骤的文章就介绍到这了,更多相关javaweb 项目初始配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JavaWeb中web.xml初始化加载顺序详解

    需求说明 做项目时,为了省事,起初把初始化的配置都放在每个类中 static加载,初始化配置一多,就想把它给整理一下,这里使用servlet中的init方法初始化. web.xml说明 首先了解下web.xml中元素的加载顺序: 启动web项目后,web容器首先回去找web.xml文件,读取这个文件 容器会创建一个 ServletContext ( servlet 上下文),整个 web 项目的所有部分都将共享这个上下文 容器将 转换为键值对,并交给 servletContext 容器创建 中的

  • javaweb 项目初始配置的方法步骤

    目录 项目初始流程: 数据库的建立于一开始的分层: db.properties: 首先创建数据库连接的工具类:DBUtil 1:得到配置文件对象: 2:获取数据库连接: 3:关闭资源: DBUtil类全部代码: 使用日志: 项目初始流程: 首先说一下pom.xml文件的依赖: <dependencies> <!-- junit 测试 --> <dependency> <groupId>junit</groupId> <artifactId&

  • 基于javaWeb 项目SSM配置要点及可能遇到的问题和解决方法

    我发现网上许多讲解javaweb 项目 SSM(Spring,SpringMVC,Mybatis)配置的时候有些重点没有提到,一下我会贴上一些重要的配置和可能出现问题的地方,适合初学者借鉴 1. 新建javaweb项目是可以在新建的时候就选择相关依赖库,也可以用maven导入. 2.在从外部导入依赖库的时候记住要在war 中也导入,否则在服务器上就会找不到相关的依赖库,打包就会失败. 3. 在web.xml 中 配置 <!--1.启动Spring的容器 --> <!-- needed f

  • JavaWeb项目部署到服务器详细步骤详解

    JavaWeb项目部署到服务器详细步骤 本地准备 在eclipse中将项目打成war文件:鼠标右键要部署到服务器上的项目 导出项目数据库文件 MySql导出数据库文件方法:利用Navicat for MySQL.鼠标右键要导出的数据库,选择转出SQL文件即可 Oracle导出数据库文件:利用PLSQL Developer即可 服务器准备 基本的jdk安装,服务器(比如tomcat)还有数据库的安装都必不可少 将项目的war文件复制到tomcat的wepapps文件夹下即可 创建和代码中数据库连接

  • OpenCV4.1.0+VS2017环境配置的方法步骤

    将VS2017上配置OpenCV4.1.0的过程记录于此. 准备工具: OpenCV:4.1.0 IDE:VS2017 安装环境:Win10    64位操作系统 主要步骤: 下载OpenCV自解压程序 安装VS2017 新建项目 配置包含路径 配置库目录 配置链接器 配置环境变量 重启VS2017 测试配置是否成功 详细过程: 1. 下载OpenCV自解压程序 打开https://opencv.org/releases.html,可以看到如图1的界面. 图1 OpenCV4.1.0下载界面 点

  • Spring Boot项目集成UidGenerato的方法步骤

    前言 UidGenerato 基于snowflake算法实现 UidGenerato 由百度开发,基于SnowFlake算法的唯一ID生成器.UidGenerato 已组件的形式工作在应用项目中,支持自定义workeid位数和初始化策略,从而适用docker等虚拟化环境下实例自动重启等场景. 准备一个maven项目,构建两个模块.分别作为使用方和提供方.(建两个模块主要是为了"造轮子",其他模块或项目可以直接引用,无需关心uid配置,如果没有分模块,可以指忽略构建两个模块) 下载uid

  • springboot项目快速搭建的方法步骤

    1. 问题描述 springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot. 2. 解决方案 强烈推荐大家使用Idea的付费版(破解感谢下蓝宇),Idea对maven.git等插件支持的更加好. 使用idea自带的spring Initializr(实际调用的是springboot的官网上的initializr),快速新建springbo

  • SpringBoot项目集成FTP的方法步骤

    目录 写在前面 FTP相关软件安装 开始集成 引入相关jar包 引入FTPUtils.java和FTPHelper.java 如何使用 写在前面 FTP是一个文件传输协议,被开发人员广泛用于在互联网中文件传输的一套标准协议. 而我们通常在开发过程中也要通过FTP来搭建文件系统,用于存储系统文件等. 目前正值SpringBoot热潮,所以我们接下来会一起学习一下SpringBoot如何集成FTP,以及相关的FTP组件包,还有其主要提供的几个方法. 当然在这系列文章结尾,我们还会给出确切的FTP操作

  • Vue-CLI3.x 自动部署项目至服务器的方法步骤

    目录 前言 一 安装scp2 二.配置测试/生产环境 服务器SSH远程登陆账号信息 三.使用scp2库,创建自动化部署脚本 四.添加 package.json 中的 scripts 命令, 自定义名称为 "deploy", 结束语 前言 平时部署前端项目流程是:先部署到测试环境ok后再发布到生产环境上,部署到测试环境用 xshell 连上服务器,然后用 xftp 连接服务器,然后本地 build 项目,接着把 build 好的文件通过 xftp 上传到服务器上,整个流程感觉稍有繁琐,重

  • React + webpack 环境配置的方法步骤

    本文介绍了React + webpack 环境配置的方法步骤,分享给大家,具体如下: 安装配置Babel babel-preset-es2015 ES6语法包,使代码可以随意地使用ES6的新特性. babel-preset-react React语法包,专门用于React的优化,在代码中可以使用React ES6 classes的写法,同时直接支持JSX语法格式 安装Babel loader // 安装babel-core核心模块和babel-loader npm install babel-c

  • maven国内镜像配置的方法步骤

    Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/c

随机推荐