关于近日所学总结-----JavaWeb问题小结+毕设进度记录及下阶段目标

关于近日所学总结

  • json格式数据后端接受收问题
    • 前端代码
    • 问题解决
  • Spring框架中命名需要规范
    • 问题描述
    • 问题解决
  • 含有外键的表数据删除问题
    • 问题简洁描述+解决
  • 毕设进度记录及下阶段目标

json格式数据后端接受收问题

几天前做的一个小DEMO在测试的时候后台始终接收不到前端传来的forn表单中的全部信息,几经波折终于找到问题根源,在此记录下。

前端代码

在jsp页面中我是使用的ajax向后端传递表单信息,具体代码如下

		$(function () {
     
            $("button").click(function () {
     
                var content = $("textarea").val();
                var what = $("form").serialize();
                var sendtxt = {
     
                    name:$("input[name=name]").val(),
                    author:$("input[name=author]").val(),
                    publish:$("input[name=publish]").val(),
                    publishdate:$("input[name=publishdate]").val(),
                    page:$("input[name=page]").val(),
                    price:$("input[name=price]").val(),
                    content: content
                }
               $.getJSON("book/addBook",sendtxt,function (data) {
     
                    if(data){
     
                        window.location.href="index.jsp"
                    }else{
     
                        alert("图书添加失败");
                    }
               })
            })
        })

问题解决

然而始终报错,错误信息400,查了下因该是参数的问题,仔细比对前后端参数名发现并没有问题,最终发现自己栽在了Date类型的数据传递上了,我在后台实体类中将前台传递来的publishdate(不要问我为啥不用驼峰命名法,数据库里就这么写的,为了保持一致性,这起名简直了)以Date类型存储,然而前端传后台的publishdate却是默认为String类型的,简直酸爽,最后重写实体类中的publishdate为String类型数据解决。

Spring框架中命名需要规范

问题描述

223333,这几天给一起学习的小伙伴发现一个很奇葩的问题,他在给数据库添加删除语句时前端始终报500,而自己却认为逻辑上一点问题也没有,我瞅了两眼,这哥们的代码规范简直一塌糊涂,删除语句的方法名居然是以query开头的,初见时可把我给整懵逼了,这也行?在经过断点调试后我判断他的删除语句的逻辑上没有啥问题,又问了下报错信息有没有看,发现他真的后台报500的时候连错误信息都不看(或者看不懂?)在此放一下错误信息:

ERROR [org.hibernate.util.JDBCExceptionReporter] -
org.hibernate.exception.GenericJDBCException: could not executeupdate query

问题解决

很明显啊权限变成了read-only也就是只读,不过一个删除的操作为什么会操作权限只有只读呢?我又联想到了他不规范的方法命名,以"public int query*();"来执行删除操作,然后又检查了下spring的配置文件,发现这么一段

<!--配置事务增强,事务如何切入-->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <!--所有方法都是事务方法-->
            <tx:method name="*"/>
            <!--以query开始的所有方法-->
            <tx:method name="query*" read-only="true"/>
        </tx:attributes>
    </tx:advice>

到这里就很清楚了,以"query"开头的所有方法,方法的权限限定为只读。到此问题发现,这事儿后哥们才发现对于平时撸代码时我们命名规则一定要遵守,否则最后苦恼的一定是自己,哈哈。

含有外键的表数据删除问题

问题简洁描述+解决

最近练手的一部分小项目中有的数据库表要求添加外键,然而删除某个表的某一行时,又因为其包含外键,是的数据无法删除,故而需要将从表先删除,再删除主表。

毕设进度记录及下阶段目标

这几天终于可以从Realsence SR300获取到点云数据(ply格式),我费劲巴拉看了几天的源码加上查资料找资料,最后发现官方给的小应用中已经集成好了这一功能,欲哭无泪啊。在三维影像中可以直接保存信息为ply格式的点云数据,我的天,感觉又白忙活了,不过没关系,慢慢来吧。也就是说目前我所作能做到的是从相机采集数据,保存为ply格式后再通过程序使得ply格式数据转化为pcd格式数据,再通过自己写的(抄的)显示点云的QT界面完成对点云数据的显示。且容我展示下采集的数据:
关于近日所学总结-----JavaWeb问题小结+毕设进度记录及下阶段目标_第1张图片
上面这一坨能明显看到戴眼镜的一张脸,这就是我,还是挺帅的(自夸),哈哈
仔细一我这做的都是些啥玩意儿,东拼西凑的简单操作嘛。。。难过,后面先忙忙开题报告和翻译吧,开题报告也真的有点愁,只做个数据采集真的没啥好写的,决定后面将采集的点云信息进行配准以及删除平面,滤波去噪什么的我觉得我也可以做,一步步来吧。

你可能感兴趣的:(好像没干啥,JAVA,java)