毕业设计 - 基于JSP的企业快信系统的设计与实现 【源码+论文】

谁践踏了优雅 2024-03-30 10:24 124阅读 0赞

文章目录

  • 前言
  • 一、项目设计
      1. 模块设计
      1. 实现效果
  • 二、部分源码
  • 项目源码

前言

今天学长向大家分享一个 java web 设计项目:

JSP企业快信系统的设计与实现


一、项目设计

1. 模块设计

根据企业快信的特点,可以将其分为名片夹管理、信息库管理、短信群发、邮件群发、系统参数设置、系统设置6个部分,其中各个部分及其包括的具体功能模块如图所示。
在这里插入图片描述

2. 实现效果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

功能太多,学长这里就不一 一展示了

二、部分源码

源码非常多,文章篇幅有限,这里就不放上来了,仅展示小部分关键代码,有需要的同学到文章末尾链接获取源码

在这里插入图片描述

部分代码示例:

  1. 1)定义ConnDB
  2. 定义用于进行数据库连接及操作的类ConnDB,并将其保存到com.wgh.core包中,同时定义该类中所需的全局变量及构造方法。代码如下:
  3. public class ConnDB {
  4. public Connection conn = null; // 声明Connection对象的实例
  5. public Statement stmt = null; // 声明Statement对象的实例
  6. public ResultSet rs = null; // 声明ResultSet对象的实例
  7. private static String propFileName = "/com/connDB.properties"; // 指定资源文件保存的位置
  8. private static Properties prop = new Properties(); // 创建并实例化Properties对象实例
  9. private static String dbClassName = " ";//定义保存数据库驱动的变量
  10. private static String dbUrl = " "
  11. private static String dbUser = "sa";
  12. private static String dbPwd = "";
  13. public ConnDB() {
  14. //定义构造方法
  15. try {
  16. //捕捉异常
  17. //将Properties文件读取到InputStream对象中
  18. InputStream in = getClass().getResourceAsStream(propFileName);
  19. prop.load(in); // 通过输入流对象加载Properties文件
  20. dbClassName = prop.getProperty("DB_CLASS_NAME");//获取数据库驱动
  21. dbUrl = prop.getProperty("DB_URL", dbUrl); //获取URL
  22. dbUser = prop.getProperty("DB_USER", dbUser); //获取登录用户
  23. dbPwd = prop.getProperty("DB_PWD", dbPwd); //获取密码
  24. } catch (Exception e) {
  25. e.printStackTrace(); // 输出异常信息
  26. }
  27. }
  28. }
  29. 2)将数据保存到资源文件中
  30. 为了方便程序移植,将数据库连接所需信息保存到properties文件中,并将该文件保存在com包中。connDB.properties文件的内容如下:
  31. DB_CLASS_NAME=com.mysql.jdbc.Driver
  32. DB_URL=jdbc:mysql://127.0.0.1:3306/db_expressLetter
  33. DB_USER=sa
  34. DB_PWD=
  35. 3)创建数据库连接
  36. 创建连接数据库的方法getConnection(),该方法返回connection对象的一个实例。getConnection()方法的实现代码如下:
  37. public static Connection getConnection() {
  38. Connection conn = null;
  39. try {
  40. Class.forName(dbClassName).newInstance();
  41. conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
  42. } catch (Exception ee) {
  43. ee.printStackTrace();
  44. }
  45. if (conn == null) {
  46. System.err.println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"+ dbClassName+ "\r\n链接位置:" + dbUrl+ "\r\n用户/密码"+ dbUser + "/" + dbPwd);
  47. }
  48. return conn;
  49. }
  50. 4)创建查询方法
  51. 创建执行查询语句的方法exccuteQuery(),返回值为Resultset结果集。executeQuery()方法的代码如下:
  52. public ResultSet executeQuery(String sql) {
  53. try {
  54. // 捕捉异常
  55. conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn
  56. stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
  57. ResultSet.CONCUR_READ_ONLY);
  58. rs = stmt.executeQuery(sql);
  59. } catch (SQLException ex) {
  60. System.err.println(ex.getMessage()); // 输出异常信息
  61. }
  62. return rs; // 返回结果集对象
  63. }
  64. 5)创建更新操作方法
  65. 创建执行更新操作的方法executeUpdate(),返回值为int型的整数,代表更新的行数。executeUpdate()方法的代码如下:
  66. public int executeUpdate(String sql) {
  67. int result = 0; // 定义保存返回值的变量
  68. try {
  69. // 捕捉异常
  70. conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn
  71. stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
  72. ResultSet.CONCUR_READ_ONLY);
  73. result = stmt.executeUpdate(sql); // 执行更新操作
  74. } catch (SQLException ex) {
  75. result = 0; // 将保存返回值的变量赋值为0
  76. }
  77. return result; // 返回保存返回值的变量
  78. }
  79. 6)关闭数据库连接
  80. 创建关闭数据库连接的方法close()。close()方法的代码如下:
  81. public void close() {
  82. try {
  83. // 捕捉异常
  84. if (rs != null) {
  85. // 当ResultSet对象的实例rs不为空时
  86. rs.close(); // 关闭ResultSet对象
  87. }
  88. if (stmt != null) {
  89. // 当Statement对象的实例stmt不为空时
  90. stmt.close(); // 关闭Statement对象
  91. }
  92. if (conn != null) {
  93. // 当Connection对象的实例conn不为空时
  94. conn.close(); // 关闭Connection对象
  95. }
  96. } catch (Exception e) {
  97. e.printStackTrace(System.err); // 输出异常信息
  98. }
  99. }

项目源码

发表评论

表情:
评论列表 (有 0 条评论,124人围观)

还没有评论,来说两句吧...

相关阅读