- gitee官网中项目的地址:
- 首先准备里面提到的工具
其中JDK8和MySQL5.7我们已经有了,现在需要准备另外的工具。
- Spring Tool Suite 4(STS)
安装过程在《1-1-Spring Tool Suite 4(STS)的下载安装》
- Redis
安装过程在《1-2-Redis和Lombok的下载安装》
软件下载地址:
https://url56.ctfile.com/f/34653256-691926579-4083d3?p=7567 (访问密码: 7567)
- 下载项目导入项目
官网给我们提供了几个步骤我们接下来完成
先完成标题1和2的部分,其中Lombok我们之前已经完成了。
下载项目:
把代码解压到工作空间中,然后导入
在sts中选择导入
选择maven项目
选择项目路径,点击完成
等到导入后就可以了
接下来完第5个小标题,导入数据库文件
导入项目后我们准备数据库文件,下面文件存放的位置
然后导入数据库
修改配置文件
第二个配置
完成标题3
其中redis我们没有打开密码配置所以不需要配置密码
所以在下面的配置文件中我们不配置密码了
第二个配置
然后是第4个标题
我们要准备一个放置资源的目录
在D盘下建这个目录
完成标题6
将提到的文件拷贝到我们建的目录里,进行解压
然后我们就可以运行标题7了
运行文件
运行结果,访问地址可以看标题8
- 处理里面的问题
- 后台报错
这个也是后台没有验证码的问题(官网视频已经说了)但我们目前下载的这个版本没有使用Kaptcha,所以我们另外解决这个问题。
引入一个依赖包
然后重新实现ArithmeticCaptcha这个类
代码如下:
package cc.iteachyou.cms.utils;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;import java.awt.*;import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;import com.wf.captcha.ArithmeticCaptcha;public class CustomArithmeticCaptcha extends ArithmeticCaptcha {public CustomArithmeticCaptcha() {super();}public CustomArithmeticCaptcha(int width, int height) {super(width, height);}public CustomArithmeticCaptcha(int width, int height, int len) {super(width, height, len);}public CustomArithmeticCaptcha(int width, int height, int len, Font font) {super(width, height, len, font);}@Overrideprotected char[] alphas() {StringBuilder sb = new StringBuilder();for (int i = 0; i < len; i++) {sb.append(num(10));if (i < len - 1) {int type = num(1, 4);if (type == 1) {sb.append("+");} else if (type == 2) {sb.append("-");} else if (type == 3) {sb.append("x");}}}ScriptEngineManager manager = new ScriptEngineManager();//添加这一行 该行要把外部js引擎注入js引擎管理里;其他不用调整,维持即可manager.registerEngineName("customScriptEngineFactory",new NashornScriptEngineFactory());ScriptEngine engine = manager.getEngineByName("javascript");try {chars = String.valueOf(engine.eval(sb.toString().replaceAll("x", "*")));} catch (ScriptException e) {e.printStackTrace();}sb.append("=?");setArithmeticString(sb.toString());return chars.toCharArray();}}
然后在下面的地方进行修改
这样登录界面就有验证码了