在线考试系统登录功能总结

  • Post author:
  • Post category:其他





在线考试系统登录功能总结

话不多少先看成品。



https://imgblog.csdnimg.cn/20200326234400243.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjIwMTU3OQ==,size_16,color_FFFFFF,t_70#pic_center)]

历时一周的成果,嘻嘻嘻。



选材

我是一个主要学习java的学生,主要学习的是后端,前端只会一点点的js代码,所以不准备自己写丑陋的前端,好的产亲需要优美的前端,所以准备使用layui自己弄,但是因为时间关系,就在网上找了一个基本写好的前端。

我准备写的是在线考试系统,所以要防止机器人代刷一定要有验证功能,验证码功能对我来说还是可以 实现的。但是用layui的验证码时就发现他的验证码是死图片。需要自己来改。(此处附上一个链接,供参考)


上面的链接,已经测试过了是写好的,但是和我的前端界面并不符合,然后我又找的现在这个登录的前端,他是html界面,但是我需要一些动态的数据,所以改成了jsp(另一方面json传数据对于我来说太麻烦了)。在jsp页面中,js与css的的加载路径也更方便一些,如图:
在这里插入图片描述

并且通过js代码实现了验证码的功能,减轻了服务器端的压力(虽然我用不上,但是需求分析里可以写啊,哈哈哈)。在设计时候,用户密码或者账号输入错误时,需要给一些提示,(上图中红色部分)使用了标签,并渲染了颜色。



此时就引申出了一个问题

我的登录界面是访问程序时直接显示的,但是我需要对用户的错误进行提示,就需要在Controller层在此对登录页访问,但是我开启了Spring Mvc的视图解析器。而视图解析器访问的路径是web-inf下的,而web-inf下的是不能由浏览器直接访问的,所以就发生了冲突。



我的解决办法是

因为三种用户都需要给予错误提示,所以我的登录页一定要在web-inf的路径。而index.jsp又是每次都访问的(前提存在并且web.xml没更改)我就想通过一个handler来访问登录页,就像这样:
在这里插入图片描述

想法不错,但是我发现我就是一个憨憨,话不多说让你们看看有多憨

在这里插入图片描述

Spring Mvc爸爸牛逼,并且告诉我要用转发来操作。因此

在这里插入图片描述

代码写完了。



开始测试

加载项目到tomcat里。

启动tomcat。

访问index.jsp。

登录成功,但是!!!!
在这里插入图片描述

这啥情况,视图解析器阵亡????

找了半天发现,我在Login.action这个handler上用了,@ResponseBoby这个标签,把我的返回值解析成了字符串。

去掉去掉。

重新测试,完美运行。



总结

1.浏览器不能直接访问web-inf或者webroot下的资源。

2.视图解析器在@ResponseBady和@RestController注解下阵亡。

3. 对进行不需要操作的jsp也面直接用他来转发,不用在控制器中在做转发映射了。

4. 解决问题的办法不止一个,要多尝试。

作者萌新,如有不对之处请给予指正,本帖只用于楼主个人记录开发过程遇到的问题。最后

谢谢观看

楼主不定期更新哦,晚安!



版权声明:本文为weixin_42201579原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。