使用太极平台,能快速搭建后台管理系统。无需任何修改,自带拥有用户管理、角色权限管理、登录日志等基本功能。启动运行后,效果如下图所示。

下面详述创建流程。首先是要把IDEA编辑器、Java环境配置好,这个参见上个章节1.1,不再累述。

1、创建项目

1、打开IDEA编辑器,创建新项目,如下图所示。选择Maven方式创建,勾上“Create from archetype”,之后选中:org.apache.maven.archetypes:maven-archetype-webapp。

2、点击下一步,输入GroupId、ArtifactId、版本。如下图所示。

GroupId一般采用企业域名的反向顺序编写,ArtifactId一般就是项目的名称,版本号就从1.0开始。SNAPSHOT表示快照版本,可以通俗理解就是debug版本,不是正式发布的release版本。

3、选择配置Maven信息。Maven的配置,在上个章节1.1中有说明,不再累述。如果环境配置好,这里会默认选中我们自定义的Maven配置文件。如下图所示。

4、下一步,设置项目名称,以及要保存的本地路径。如下图所示。

5、点击结束。IDEA开始创建项目文件,最终创立一个初始的项目。如果IDEA右下角弹出提示,如下图所示,点击允许自动导入。这样Maven会自动导入必须的库文件。

2、配置项目

IDEA已经成功创建了一个空的项目。现在进行一些基础配置,以及引入太极平台框架库文件。

1)配置Tomcat

点击IDEA工具栏上的Add Configuration,如下图所示。

在弹出的界面,点击加号“+”,弹出下拉菜单,选择Tomcat Server,再选择local。

如果没有Tomcat选项,则还需要先配置Tomcat。如何配置,参见上一章节1.2。

弹出界面,如下图所示。首先,修复警告。点击右下角的“Fix”按钮。

在弹出的菜单中,选择QiDianERP:war exploded。意思是创建项目的发布包目录,以及项目的上下文目录。不用具体去理解,按照提示去创建即可。以后熟悉了,自然知道用处。

创建成功后,如下图所示。已经指定了服务启动的发布目录。

回到server标签,配置Tomcat的端口。

1)配置端口。HTTP端口,就是运行后,浏览器地址栏上的端口;JMX端口,跟着修改。每个项目最好配置成端口不重复,这样就可以同时调试运行多个项目,否则端口号一样,Tomcat只能同时启动1个项目。

2)VM options配置为:-Dfile.encoding=UTF-8,是为了解决Tomcat在IDEA控制台输出乱码。

3)Name配置。修改为Tomcat加上端口号,是为了方便在IDEA工具栏上,直接一目了然的看到当前项目的端口号。

2)调试运行

Tomcat配置完毕后,可以运行起来看看效果。点击工具栏上的运行或调试按钮。如下图所示。

IDEA编辑器开始执行编译,在下面的控制台有输出信息。之后会自动弹出浏览器页面,如下图所示。成功输出了hello world!表示成功运行。端口号是8087。

3)引入太极平台框架库

空项目已创建成功,Tomcat也成功配置,可调试运行。现在到了关键部分,引入太极平台框架库文件。

双击pom.xml文件,打开,如下图所示。

1)修改properties节点

这里修改JDK的版本,目前我们项目中都使用Java8,所有这里都修改为了1.8。

    <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>

2)修改dependencies节点

初始创建的项目,依赖库只有junit一个,用下面的代码,替换整个<dependencies>节点。加入各个引入库文件。

注意最后面的2个引入库,就是太极平台框架的库文件。其他都是各种通用的库文件。

注意:

从1.00到1.33版本,框架的依赖包有3个:QiDianWebCommon、QiDianAdminCommon、QiDianAdminTemplate;

从1.34到1.41版本,框架依赖库只需要2个,去掉了QiDianWebCommon。

在1.50版本之后,引入的依赖包名字变更。QiDianAdminCommon变更为TaiJiCore,QiDianAdminTemplate变更为TaiJiCoreWeb。groupId从tech.qidian.dev变更为tech.qidian.taiji。

为了保持版本同步,将原来QiDianWebCommon包中的功能文件,都整合到QiDianAdminCommon里面去了,这样2个Admin包的版本号始终保持一致。建议大家都使用最新的版本号,拥有更多新功能。

1.00到1.33版本的依赖包配置。


<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--系统必备:Tomcat、taglibs、mysql--><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-servlet-api</artifactId><version>9.0.16</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-impl</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-spec --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-spec</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version></dependency><!--json字符串处理--><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.55</version></dependency><!--文件上传处理--><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><!--Excel导入导出相关--><!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.0.1</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.0.1</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>1.1.2-beta4</version></dependency><!--奇点公共库--><dependency><groupId>tech.qidian.dev</groupId><artifactId>QiDianWebCommon</artifactId><version>1.10</version></dependency><dependency><groupId>tech.qidian.dev</groupId><artifactId>QiDianAdminCommon</artifactId><version>1.33</version></dependency><dependency><groupId>tech.qidian.dev</groupId><artifactId>QiDianAdminTemplate</artifactId><version>1.33</version><type>war</type></dependency>
</dependencies>

134到1.41版本的一览表配置。

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--系统必备:Tomcat、servlet、jdbc,以provided方式编译--><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-servlet-api</artifactId><version>9.0.16</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jdbc --><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-jdbc</artifactId><version>9.0.16</version><scope>provided</scope></dependency><!--jsp的taglibs标签、MySQL连接--><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-impl</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-spec --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-spec</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency><!--奇点公共库--><dependency><groupId>tech.qidian.dev</groupId><artifactId>QiDianAdminCommon</artifactId><version>1.41-SNAPSHOT</version></dependency><dependency><groupId>tech.qidian.dev</groupId><artifactId>QiDianAdminTemplate</artifactId><version>1.41-SNAPSHOT</version><type>war</type></dependency><!--单独的自己的项目需要的引入库--></dependencies>

1.50版本开始的依赖配置。注意groupId也进行了修改。

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--系统必备:Tomcat、servlet、jdbc,以provided方式编译--><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-servlet-api</artifactId><version>9.0.16</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jdbc --><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-jdbc</artifactId><version>9.0.16</version><scope>provided</scope></dependency><!--jsp的taglibs标签、MySQL连接--><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-impl</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-spec --><dependency><groupId>org.apache.taglibs</groupId><artifactId>taglibs-standard-spec</artifactId><version>1.2.5</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency><!--奇点公共库--><dependency><groupId>tech.qidian.taiji</groupId><artifactId>TaiJiCore</artifactId><version>1.50-SNAPSHOT</version></dependency><dependency><groupId>tech.qidian.taiji</groupId><artifactId>TaiJiCoreWeb</artifactId><version>1.50-SNAPSHOT</version><type>war</type></dependency><!--单独的自己的项目需要的引入库--></dependencies>

3)修改build节点

在maven-war-plugin中加入configuration配置节点,代码如下。是为了以后采用Maven方式打包时,能够将编译后的java文件,全部打包为一个jar文件,方便发布。否则,java源文件仍然会以目录的结构,一个个文件存在。

                <plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version><!--这里增加了配置项,采用Maven打包时,可以将java目录下的class文件,全部打包为一个jar文件--><configuration><attachClasses>true</attachClasses><archiveClasses>true</archiveClasses></configuration></plugin>

最终的完整build节点如下。

    <build><finalName>QiDianERP</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version><!--这里增加了配置项,采用Maven打包时,可以将java目录下的class文件,全部打包为一个jar文件--><configuration><attachClasses>true</attachClasses><archiveClasses>true</archiveClasses></configuration></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement></build>

4)配置web.xml文件

在webapp的WEB-INF目录中,双击web.xml文件打开,查看其中的内容。如下图所示,如果web-app节点没有命名空间,则需要进行添加。修改后的web.xml文件,见下面的代码。如果不加入命名空间,会出现运行时无法解析jsp中的标签。效果见本节最后面的常见问题。

修改后的web.xml,添加了命名空间。

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><display-name>QiDianERP</display-name>
</web-app>

3、配置数据库

后台管理系统离不开数据库,太极平台的功能模块,都是在数据库中进行配置。每个TaiJiCore库文件版本,都有相应版本的数据库表结构。因为不同版本的功能不一样,导致数据库结构也不一样,所以版本必须严格对应。

1)获取数据库

每个版本的数据库,太极平台都有相应版本的SQL导出文件,可以在自己的MySQL数据库中执行恢复,实现创建数据库表结构和配置数据。

2)配置数据库连接

在webapp的WEB-INF目录下,新建classes目录,再新建dbconn.properties文件。如下图所示。

双击打开dbconn.properties文件,拷贝下面的配置文件进去。并进行配置项修改。

#
# *************************************************************
# 文件:dbconn.properties  模块:QiDianERP  项目:QiDianERP
# 当前修改时间:2019年07月24日 15:59:26
# 上次修改时间:2019年07月24日 15:59:21
# 作者:李露
# Copyright (c) 2018-2019  苏州奇点智能科技有限公司
# *************************************************************
#dbUrl=jdbc:mysql://dev.mysql.qidian.tech:3306/qidianerp_dev?useSSL=false&useServerPrepStmts=true&cachePrepStmts=true&rewriteBatchedStatements=true
dbUsername=qidianerp_dev
dbPassword=dpeo^$5dfSDt4
#isDebug=1或者0。表示是否开始调试模式。如果开启,则会输出每次执行的SQL语句。以system.out方式输出。
dbDebug=1#连接池设置。根据实际在线量进行设置,可以在管理后台查看当前的连接池实时状态,再进行调整。
#初始化连接数量。根据实际访问量进行设置。开发模式设置为1足以。
initSize=1
#最大活动连接数。超过了连接数,新连接就要等待。
maxActive=20
#最小空闲连接数
minIdle=1
#最大空闲连接数
maxIdle=4

a)修改数据库连接信息。填写自己的数据库连接信息。

标准样本库的地址如下(数据库为MySQL 8.0),连上后,可以查看各个版本下的标准表结构。

说明:数据库表权限设定为只读,因此只能读取和导出SQL脚本,不能更新和写入。

数据库地址:wan.mysql.qidian.tech:3306

账号:taiji_standard

密码:HF83#$sd33

数据库:taiji_standard_153

b)修改调试输出信息。

配置项中的dbDebug,设置为1,则系统运行时,会在IDEA的控制台,输出所有调用的SQL语句和参数,方便调试查看。特别是系统出现异常,可以通过SQL语句排查问题。如下图所示,调试窗口输出SQL日志。

注意:系统正式发布后,务必将dbDebug设置为0,停用SQL语句输出,否则Tomcat日志目录下,会出现大量的日志记录。

c)修改连接池信息。

太极平台采用连接池的方式,进行数据库连接,提高IO性能。连接池有4个配置项,根据自己项目的数据库访问量进行设置。

一般在调试模式下,初始化连接数量、最小空闲连接数量都为1即可。

小技巧

可以在后台系统功能:连接池状态,中随时查看数据库连接池信息。

某个系统的数据库连接池,如下图所示。

系统已执行了5561次请求连接,系统并不繁忙,实时size为1,busy为0,waitCount也为0。

4、调试运行

所有配置项已完毕,并引入了太极平台库,再重新调试运行看看。

1)删除默认的首页index.jsp文件。

由于太极平台中自带有首页文件,新建项目中的index.jsp会覆盖库中的同名文件。除非需要重新编写index.jsp,否则就删除自带的index.jsp。

2)重启运行

点击工具栏上的调试按钮。

弹出界面,选择重启。

IDEA进行编译,并重启Tomcat,之后会在浏览器上弹出网页。如下图所示。显示登录界面,以及系统名称。说明太极平台框架已成功运行,且数据库成功连接。

输入默认的账号:admin,密码:111111,成功登录后,进入主界面。如下图所示。

新创立的后台系统,并没有首页效果。首页内容,需要自己进行开发。这也是为了保证系统自由度和灵活性,因为基本上每个系统的首页都是不一样的,所以没有必要进行统一。

5、常见问题

如果登录界面,是下面的效果。

在浏览器调试界面,出现资源加载都是404,查看资源路径,路径中的jsp标签${basePath}都没有解析。

具体原因,则是web.xml文件,没有添加命名空间。解决方法,见本篇文章中的配置web.xml章节。

1.3.太极平台:15分钟搭建初始后台系统相关推荐

  1. 1.6.太极平台:开发自己的后台系统首页

    1.需求场景 太极平台框架自身是不带首页效果的,因为每个项目的功能需求不一样,所以首页要显示的统计数据和内容也不一样.可以给大家看几个样例效果. 下面的图片会压缩显示,可以点击图片查看原始大图,效果更 ...

  2. 【转载】15分钟搭建Linux操作系统+Oracle数据库的环境

    2019独角兽企业重金招聘Python工程师标准>>> 一直想学习下Linux下Oracle数据库方面的运维,但从头安装Linux操作系统,再装Oracle数据库的过程确实非常繁琐, ...

  3. 15 分钟搭建一个基于XLNET的文本分类模型——keras实战

    今天笔者将简要介绍一下后bert 时代中一个又一比较重要的预训练的语言模型--XLNET ,下图是XLNET在中文问答数据集CMRC 2018数据集(哈工大讯飞联合实验室发布的中文机器阅读理解数据,形 ...

  4. NLP - 15 分钟搭建中文文本分类模型

    https://eliyar.biz/nlp_chinese_text_classification_in_15mins/

  5. 如何通过 API + 快捷指令,3分钟搭建固定资产盘点系统?

    前言 财务本身的工作十分繁忙,月初忙报税.出报表,月末忙结账对数,月中还得处理各种报销.记账.算工资等杂事,终日不是与 Excel 为伴,就是在去税局的路上. 每个季度.半年度或月度还得来一次全公司的 ...

  6. vue 前端显示图片加token_前端Vue3.0:从0到1手把手撸码搭建管理后台系统

    第1节 – 了解项目开发流程 手把手撸码前端 – 第1学时 了解产品从0到1的开发流程,产品经理.UI设计师.研发部.测试工程师 第2节 – 构建vue项目.代码仓库管理 手把手撸码前端 – 第2学时 ...

  7. layui搭建管理后台系统

    先上最终效果图: 点击左侧的菜单树可以显示在导航栏中 下面是具体步骤: ①下载layui https://www.layui.com/ ②项目结构介绍 html:存放静态界面 img:存放图片 jso ...

  8. 用Vue2.5和Elemnt-ui2搭建一个后台模版:提高篇(1.搭建框架)

    前言:用vue做后台管理系统做了半年,最近element-ui升级到2了,所以决定搭建一个基于ele2的后台模版,在这我将手把手javascript:void(null)分享一下如何从0搭建一个后台系 ...

  9. 又一低代码平台火了!15 分钟小白轻松开发在线课堂,人人都是开发者时代来了?

    据艾瑞咨询统计,2020 年中国在线教育行业市场规模 2573 亿元,过去 4 年的复合增长率达 34.5%.如今在线教育行业如火如荼,亟待一款好的在线教育平台. 此时,不少开发者和教育机构遇到新的难 ...

最新文章

  1. Xen为什么一定要进入内核 —— [简译] KVM is Linux, Xen is not
  2. Oracle的UNION函数
  3. 2013年4月计算机一级试题 答案,9月计算机一级考试试题含答案
  4. KVM安装、镜像创建(一)
  5. ubuntun系统mysql数据库同步_Ubutun 14.10下mysql 主从同步详细操作
  6. 安卓非常实用的自动化测试工具 -- Monkey详细的说明
  7. hadoop 传感器数据_大数据时代Hadoop的本质,你有过认真了解吗?
  8. PAT 1032 (未完成)
  9. 11 Vue学习 headtop
  10. BS CS 优缺点比较 及 适应场合 (部分转载+个人见解)
  11. AD7124驱动代码(基于GD32F103 SPI)
  12. Win10 删除网络驱动器
  13. Vagrant + VMBox 踩坑记录
  14. calcite查询mysql_Apache Calcite教程-SQL解析-Calcite SQL解析
  15. linux的input命令,认识linux input子系统(一)
  16. 《C语言及程序设计》实践参考——n=a!+b!+c!
  17. mysql数据库存储生僻字_mysql 生僻字存储
  18. ILSpy中baml转化为xaml的改进
  19. Mysql数据库表结构设计导出
  20. 前端开发程序员哪些行为会暴露能力不足?

热门文章

  1. 大数据企业应用格局:三足鼎立却又共陷迷城
  2. 初中学考英语听说计算机考试,2021初中学考第一次英语听说机考开考
  3. 七夕表白如何万无一失!用我这个方法保证你一定成功!
  4. 王权富贵:L1和L2正则
  5. 数据分析 回归问题: 美国King County房价预测训练赛
  6. 猜猜在用计算机计算一道除法算式时,沪教版三年级下学期《第4单元+计算器》2019年单元测试卷与答案...
  7. python变量赋值及其数据类型
  8. java图书分析echarts_echarts从数据库取数
  9. 经验原石_哔哩哔哩经验原石怎么用
  10. 杭电第四届网络攻防大赛(蛋疼的初赛)