开发基于Mysql+Servlet+JSP的作业管理系统(二)
开发基于Mysql+Servlet+JSP的作业管理系统(二)
一、将IDEA项目改造为maven工程
1.为什么要将IDEA项目改造为maven工程?
在大型项目开发过程中,经常会出现如下问题:
(1)项目代码版本管理混乱,出现的问题难以定位。为问题的排查和解决增加了很大的难度;
(2)对于部分地市,其 jar 包过大。因为部分地市的特殊性,需要一些独特的 jar 包。为了保证程序正常运行,需要导入相关 jar 包,导致jar包达到100-200M,严重影响使用和效率;
(3)项目过于复杂,层次结构不够清晰,不利于新加入的开发人员理解项目代码。
2.将IDEA项目改造为maven工程步骤
(1)项目右键 → Add Framework Support…
(2)选择Maven
(3)如图:
(4)修改pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.Only.Homework_System</groupId>
<artifactId>Homework_System</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
</project>
groupiId如何填写?
分为三段
第一段:域。eg: cn(china),org(非营利组织),com(商业组织)
第二段:组织。eg: 美团公司为 meituan;个人的小项目为 Only
第三段:子项目。项目的名字
(5)指定src/main/java为资源目录,该文件夹变蓝:
(6)按照maven的目录模式,将 web 文件夹移至src/main目录下,并将 web 改名为webapp:
(7)完善pom.xml,在pom.xml文件中加入如下语句(根据本地java版本更改):
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
(8)修改如下配置,改为与本地 jdk 匹配的版本:
(8)运行成功,即为maven工程改造成功。
二、优化数据库连接
1.原数据库连接潜在问题
原数据库连接与断开存在于StudentJdbc.class与TeacherJdbc.class中的每一个函数中(共11个),将会导致①代码冗余 ②若改变数据库 url 将要修改多次等问题,不利于项目开发。
2.优化数据库连接的方法
①在Jdbc.package中添加JdbcUtil.class(即JDBC工具类),在此class中编写连接数据库和断开数据库的函数,方便其他函数直接调用。
package Jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JdbcUtil {
public static final String DRIVER = "com.mysql.cj.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/mysql_database?serverTimezone=UTC";
public static final String USER = "root";
public static final String PASSWORD = "123456";
public static Connection conn = null;
public static PreparedStatement stmt = null;
public void Connect() {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL,USER,PASSWORD);
} catch(SQLException se) {
se.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
public void Close() {
try {
if(stmt!=null) stmt.close();
} catch(SQLException se2){ }
try {
if(conn!=null) conn.close();
} catch(SQLException se) {
se.printStackTrace();
}
}
}
②在其他class中的函数调用Connect()及Close()函数的方法:
在其他类引用变量:
JdbcUtil jdbc_util = new JdbcUtil();
调用函数:
//连接数据库
jdbc_util.Connect();
//断开数据库
jdbc_util.Close();
三、相关文章
1.开发基于Mysql+Servlet+JSP的作业管理系统(一)
有关该作业管理系统使用方法与界面展示,数据库、数据层、界面与其跳转设计架构以及源码简单介绍的上一篇博文:
开发基于Mysql+Servlet+JSP的作业管理系统(一)
2.关于maven的学习文章
(1)maven的使用和爬过的坑 作者: new个对象先
(2)使用idea将普通项目转换为maven项目(超详细) 作者: new个对象先