在寒假的学习Java的过程中,更多的是学习理论知识,较少的运用于实践。开学前,机会就来了,跟着班级的大佬步伐,开始了做项目的旅途


文章目录

  • 1、熟悉代码
  • 2、遇到难点
  • 2.1、数据库字段问题
  • 2.2、附件打印问题
  • 2.3、邮件问题
  • 2.4、其余
  • 3、总结


1、熟悉代码

刚开始接触这个系统的时候,先了解了主要是用了什么技术栈,前端用l:ayui + javascript,后端采用:springboot + shiro + mybatis-plus + nginx,做到实现前后端分离。这个项目在我之前就已经把主体框架构建完成,剩下的就是逻辑的处理、Bug的解决以及功能的完善,虽然并未参与到开头的主体开发,但是学习嘛,不分先后,在熟悉的代码的过程中,查缺补漏,针对自己不熟悉的地方,不会问,不会查,不是为了做项目而做项目,更多的是为了提升自己,开始阶段总是很难,所以花了有一个多礼拜的时间才慢慢的熟悉这个代码,然后进行开发!

2、遇到难点

2.1、数据库字段问题

因为自己主要是参与后端开发,前端的知识多多少少懂一些,但是不够精通,所所以在当时开始完成完善信息,在界面中要对属性字段进行调整,以及对于页面的布局进行调整,然后由于是前后端分离,以及用来layui,更多的时候有体现一种父子层级的关系,所以数据的处理都用ajax比较多,也就是这样,自己跟着学习了ajax以及javascript,为了更好的读懂代码,当然现阶段可能不是很系统的学习,最主要的是在做项目的过程,真正的理解到在实际开发过程中,遇到的某些需求如何处理,如何把学到的技术运用进去。

2.2、附件打印问题

因为现在做的是一个创新平台系统,为了方便后台对参赛人员进行管理,也为了方便参赛人员进行信息的填写,对于申报表信息的收集,首先是在前端根据提示的信息进行填写,填写完基本信息之后,到打印申报表界面,这一步的话,其实是对上一步的总结,可以理解为,我们做的事情是,收集完信息,将必要的信息填到world文档中,然后提供给参赛人员下载,减少他们填写的数据量,提升用户体验,下面可以看下具体的实现方式

1、生成tea.vtl文件

(1)根据你想要的文件格式,现在world生成一个world文档

(2)在第一步的基础上,把对应字段的值填进去

大创 项目进展情况 python技术学习方面 大创项目研究阶段小结_java


(3)在前两步的基础上,我们将world文件另存为.xml文件,接着存完之后修改后缀为.vtl即可

大创 项目进展情况 python技术学习方面 大创项目研究阶段小结_ajax_02


(4)将这个文件放到我们后台代码的指定位置

2、后端处理

UserInfo currentUser = UserUtil.getCurrentUser();
        CounsellorInnovation st = teaTechnologyService.getOne(
                new QueryWrapper<CounsellorInnovation>().eq("user_id", currentUser.getId())
        );

        //将查询到的信息提取到map里
        Map<String, Object> bindingMap = BeanUtil.beanToMap(st);
        response.reset(); // 清除首部的空白行
        //设置编码格式以及文件按名称
        response.setHeader("Content-Disposition", "attachment;fileName=\"" + URLEncoder.encode("科技创新成果竞赛项目申报书.doc", "UTF-8") + "\"");
        response.setContentType("application/vnd.ms-word");

        //指定生成模板的位置
        TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH));
        //指定模板
        Template template = engine.getTemplate("templates/tea.vtl");
        //这一步,就是将搜索到的值放进模板里,模板里接收,这样就实现我们可以减少申报表打印出来的填写
        return template.render(bindingMap);

3、效果

大创 项目进展情况 python技术学习方面 大创项目研究阶段小结_java_03

2.3、邮件问题

邮件问题,相对来讲不是什么大问题,就是自己不熟悉的情况下,同队的开发人员更换了授权码,导致注册账户的时候都一直失败,具体的可以参考我的另外一篇博客邮件任务

2.4、其余

剩下的话,其余就是一些小小的逻辑问题,就是原本的代码上存在着一些思路上的小小错误,比如要先打印申报表才能进行附件提交,之前顺序换了,以及需要市级管理员审核完成之后,省管理员才能看到申报信息这样…

3、总结

现在只是项目开始的第一阶段,接下去就是真正的功能添加,任重而道远,努力就完事!!!