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

作者:夜色架构师 时间:2021-12-23 17:34:23 

项目初始流程:

首先说一下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>

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

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

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

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

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();
           }
       }
   }

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

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

然后编写测试代码: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连接包:

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

运行成功后:

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

使用日志:

使用日志

配置文件

在 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()));

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

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

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());
   }
}

来源:https://blog.csdn.net/justleavel/article/details/121321526

标签:javaweb,项目,初始,配置
0
投稿

猜你喜欢

  • SpringBoot2 实现JPA分页和排序分页的案例

    2022-02-23 13:26:08
  • java中对象调用成员变量与成员实例方法

    2023-08-04 11:42:49
  • C#中split用法实例总结

    2023-11-27 11:31:16
  • C#生成带二维码的专属微信公众号推广海报实例代码

    2023-04-04 23:30:57
  • Java 虚拟机栈详解分析

    2021-08-29 10:04:55
  • Java字符流与字节流区别与用法分析

    2023-09-08 07:48:54
  • C# datagrid非常规方法实现添加合并列

    2023-02-08 07:31:00
  • C#递归实现显示文件夹及所有文件并计算其大小的方法

    2023-09-13 01:56:01
  • Java反射机制基础详解

    2023-07-17 04:36:29
  • Mybatis-Plus 全局配置无效的解决方案

    2022-06-29 12:46:02
  • Android实现秒表功能

    2023-08-21 02:15:41
  • Spring AOP实现复杂的日志记录操作(自定义注解)

    2023-01-24 15:21:50
  • Android自定义View实现五子棋游戏

    2021-12-25 19:32:55
  • C#使用foreach语句遍历队列(Queue)的方法

    2021-09-01 04:45:01
  • 详解使用Spring的BeanPostProcessor优雅的实现工厂模式

    2023-01-14 02:15:53
  • Unity实现VR中在黑板上写字效果

    2021-08-04 20:11:11
  • Java8新特性之接口中的默认方法和静态方法详解

    2022-05-10 15:16:19
  • Java Swing 多线程加载图片(保证顺序一致)

    2023-10-26 10:10:36
  • 腾讯云部署javaWeb项目的实现步骤

    2023-11-05 18:03:29
  • SpringMVC中使用Thymeleaf模板引擎实例代码

    2021-10-20 20:03:44
  • asp之家 软件编程 m.aspxhome.com