今天学习了单表查询和多表查询,编写代码过程中,调试时出现了一个500错误,错误原因是在createQuery时,字段与Student类中的字段不一样,比如说我在数据库的是StuID,而我们需要的字段是stuId.还有当我们删除了Student类时对应的配置Student.hbm.xml中的信息也要删除掉。
今天早上讲解了SSH框架的搭建,先看看效果。其中要注意的是,需要在Web.xml中配置监听 代码如下:
<listener>
<listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
没有配置监听时运行tomcat时会提示一个错误具体错误请观看我们的视频,然后就加了监听的代码,之后又出了一个错误提示我们的WEB-INF下找不到applicationContext.xml,于是将该文件移动到此文件下后,测试效果非常令人震惊!
下午主要是熟悉SSH的整个框架的搭建。为了加深印象,现在再次演示搭建的流程。。。测试成功,注意先搭建Spring 然后Hibernate,然后Struts,还要小心他们所需要的包,恩。现在我们为了节省空间,删掉测试项目ssh2.(本次搭建Spring在选择包时要勾选6个,Hibernate2个,Struts2个)。
下午还讲了那个在SSH基础上插入一条记录到数据库,调试运行时,数据没有进入数据库。。。
晚上继续下午调试,发现在applicationContext.xml没有添加持久化类的配置信息如下:
<property name="mappingResources">
<list>
<value>com/zqh/pojo/Student.hbm.xml</value>
</list>
</property>
添加后调试非常好,成功插入一条记录!现在演示添加一条记录。
The server encountered an internal error that prevented it from fulfilling this request
服务器遇到了一个阻止它实现这一个请求的内在的错误。
Exception report
异常报告。
An exception occurred processing JSP page
异常发生处理 JSP 页。
今天早上讲了在SSH上查询学生信息,调试出错,下午继续。。。刚刚重新测试了加入一条记录到数据库,测试非常成功!下面进行查询学生的一系列操作,恩。
今天早上自己熟悉下SSH,观看SSH项目transys系统。测试效果如下:
昨晚在调试时、tomcat启动就出了一个错误,pergem space ,在网上查了下资料。还是没能解决,说是tomcat 所需运行的内存不足。最后还是通过换tomcat解决。
下午讲了SSH+Jquery的项目,因为没讲完,只说了下获取hashmap的值。晚上经测试,成功得到值,晚上进行SSH项目的测试,如图测试效果非常好,如图所示:
目测整个流程大致走了下,现在对各个细节进行分析。运行时,tomcat会出现org.springframe.web.context.ContextLoaderListener 的错误,于是我果断重新配置服务器。问题得以解决,还有在JS文件会出现几个错误,于是删掉之,即可。
至此,SSH+Jqury项目调试非常成功!
在引用Jquery包时,
<!-- //注意引用顺序jquery-2.0.3.js 然后 jquery.easyui.min.js -->
恩
Initialization 设定初值
Fit 适应
Action里的返回值与struts配置文件不一致时出现:
No result defined for action com.zqh.action.fiveAction and result erro 。。
解决方法:
第一种:在Struts配置<result name="erro">/info.jsp</result>
第二种:与Struts配置文件一致。
Overflow 充满 溢出
路径不对。改下
出现错误的原因是,action里的class写成class=”com.zqh.action” 后面木有加上类。正确写法应该是 :class=”com.zqh.action.TestAction”
还有就是在 div里加入图片是这样的<img src=”图片文件夹/图片”>.
错误讲解:
持久类没有添加响应的类 tomcat直接提示错误, tomcat提示无监听器
在web里配置如下代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
错误:出现堆溢出 StackOverflowError,原因代码出现死循环,自己调用自己。
解决:直接获取。或注释。
Exception in thread "http-apr-8080-exec-4"
java.lang.StackOverflowError
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
at com.zqh.action.fiveAction.setServletRequest(fiveAction.java:16)
@Override
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
this.setServletRequest(arg0);//错误
this.setRequest(arg0);//正确
}
单表查询和多表查询,编写代码过程中,调试时出现了一个500错误,错误原因是在createQuery时,字段与Student类中的字段不一样,比如说我在数据库的是StuID,而我们需要的字段是stuId.还有当我们删除了Student类时对应的配置文件Student.hbm.xml中的相应信息也要删除掉。
今天在做模糊查询物料时,在提取数据时在自己的界面提交数据,导致无法显示
解决办法是:在父页面写js 进行提交。
父页面js如下:
<script type="text/javascript">
function showfrmChanPin() {
document.getElementById("chanpinframe").src = "GetAllClient";
}
function queryByItem(url){
document.getElementById("chanpinframe").src = url;
}
</script>
子页面js如下:
<script type="text/javascript">
function queryByItem(){
var wuLiaoBianMa=document.getElementById("number").value;
parent.queryByItem("GetByItem?wuLiaoBianMa="+wuLiaoBianMa);
}
</script>
回调函数
如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。
- beforeSend 在发送请求之前调用,并且传入一个XMLHttpRequest作为参数。
- error 在请求出错时调用。传入XMLHttpRequest对象,描述错误类型的字符串以及一个异常对象(如果有的话)
- dataFilter 在请求成功之后调用。传入返回的数据以及"dataType"参数的值。并且必须返回新的数据(可能是处理过的)传递给success回调函数。
- success 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。
- complete 当请求完成之后调用这个函数,无论成功或失败。传入XMLHttpRequest对象,以及一个包含成功或错误代码的字符串。
JSON(JavaScript Object Notation)
一种轻量级的数据交换格式,是js的一个子集,采用完全独立与语言的文本格式,使用了类似C语言家族的习惯,是理想的数据交换语言。易与编写和解析。
简单的说就是js中的对象和数组。
DOM(Document Object Model)
文档对象模型,是一种用于HTML和XML文档的编程接口。
在做新增时,因为参数过多可能会导致无法接受数据,我们可以在方法里用断点方式进行查询,如果没有获取到值,就到界面看一下相对应的参数是否一致或参数绑定时带空格。
1、问题:运行tomcat时,提示一个包名错误,找不到那个包。
原因:更改了包名而在web配置文件里没有进行相应的修改。
解决方案:把包名更改一致即可。
2、在esayui里容错性比较差,注意少加逗号或多加逗号。
data-options="singleSelect:true,scrolling:true,idField:‘wuLiaoId‘,fit:true"
this.wuliao=this.chanpinziliaoservice.getPdById(Integer.parseInt(this.getRequest().getParameter("PdId").toString()));
问题:出现了一个空指针错误。
原因:id没写对,应该是wuLiaoId ,写成了是PdId。对流程不熟悉导致,还是参数不对应。
this.wuliao=this.chanpinziliaoservice.getPdById(Integer.parseInt(
this.getRequest().getParameter("wuLiaoId").toString()));
1、错误:Unsupported cascade style: all-delete-arphan
大小写错误,特别是L和界面的小写l和阿拉伯数字1,不要写错,if判断时,=和==的应用。
解决的方法:cascade=“all-delete-orphan”
wuliao与wuLiao:还是粗心惹的祸。
2、出错先看错误信息,完美翻译,断点调试(检查参数大小写,检查参数正确性,以及参数是否两两对应。)
delete 与某个表发生冲突,一般都是*.hbm.xml里id不对应或者木有加 级联删除的那个东西:cascade=“all-delete-orphan”
3、Don‘t change the reference to a collection with cascade="all-delete-orphan": com.zqh.pojo.物料表.采购明细表s; nested exception is org.hibernate.HibernateException: Don‘t change the reference to a collection with cascade="all-delete-orphan": com.zqh.pojo.物料表.采购明细表s
解决办法:把物料表的“采购明细表s”赋值为null;或者action里写this.wuliao=null;
private Set 采购明细表s = null;
private Set 物料价格表s = null;
在生成调度单时,可以把订单里的调度否默认为false
json绑定cbo乱象问题解决办法:
private static Object lockObj=new Object();
setJSArr里
synchronized(lockObj){JSArr=jSArr;}
查询语句三步骤:检查空格,然后表名,大小写。配置文件注意返回类型和调用的action.页面要注意ID值是否对应,和带ID提取数据时,带木有带id。
下午解决了明细,出现的问题是struts的action配置出错,知道错误的原因是直接用action访问时,找不到那个action。