前端后台异常

总结一下近一年来所遇见的异常以及解决的方法------涵盖领域为-----------web前端、javaee后台、redis缓存(集群)、solr(集群)。



前端



css与html方面:


最经典的莫过于在ul中li加图片下方有空隙bug的--------------------

-解决方法4种:

方法一:给li加上overflow:hidden;

方法二:给ul加上font-size:0;

方法三:设置img的display值为block.

设置四:设置img的vertical的值为top/middle/bottom


设置offsetLeft属性时-------当窗口缩小时设置其属性值,当窗口放大时会出现设置的其值和小窗口的值不一样。


原因是:共三层div,我在其最外层的div未设置大小,期内部的第二层设置了大小且是margin:0px auto;(导致窗口老是居中显示相对于整个窗口),第三层:是需要设置的offsetLeft值的,出现这种状况


解决方法2种:

方法一:设置第一层的div大小

方法二:设置第二层的div为position:relative;


设置元素大小时出现小数问题----如果25.5出现大小不一致的问题(主要体现在ie与其他浏览器)


解决方法是:设置成整数的的大小如:26px


产生现象是如果div中内部两个div是display:inline-block,如果右边的div添加内容变大,则左边的内容会向下移动

我的解决方法是--------------将其都设置成absolute的




设置textarea的rows与cols属性值时textarea大小在各个浏览器不同导致页面布局变乱-----

个人的解决方法方法是使用js控制(通过js判断浏览器类型从而加载时实现不同的效果)


另一种现象:

        同时具有的现象是在ff设置cols=11则会出现可以写12字的现象,在ie与chrome则没有


如果出现无法通过js设置元素的left的问题---------------看是否在行内样式中设置了此属性值



注意ie中的字体不是宋体



在设置width:100%时将浏览缩小出现留白宽度不全窗口显示-------解决方法是设置min-width属性或则使用js的onresize事件去重新处理width宽度大小





js方面:



js中在使用dom2事件添加事件,重复的添加事件----------产生原因是,个人将事件函数定义在函数内部导致此错误

解决方法是:将事件函数定义在函数体外部单独的一个函数


将display为none的元素设置为block后,获去其top属性值是0----改用opacity设置透明度去设置效果


当在使用for循环添加事件时,清除事件------------一定是可以清除的,注意setTimeout的id变量被覆盖从而导致事件不能被清除


使用getAttribute方法时如果其元素为空则会导致代码无法执行导致后续代码也无法执行------------因此在必要时需要需要对元素进行判空处理


使用parse、eval、new Function();可以将从springmvc返回的json字符串转换为js对象,无需使用正则表达式处理(\"转义字符)


如果使用innerHTML给一个元素内部添加元素内容的话,如果包含“在”“内部话那么可以直接使用‘无需要将使用”“拼接字符串


如果你想几个个字符串相加如果其中一个值没有的话--------最好将其设置为”“,如果设置为null或undefined,则会出现”两个字符串相加“null(undefine)这种现象


在chrome与ff中设置input的value值,如果其value未变化则会出现不赋值现象,而在ie中不会出现此种现象





tomcat

Tomcat: Can't load IA 32-bit .dll on a AMD 64-bit platform--------tomcat7报此种异常

环境是win10,tomcat7、6出现此种错误

解决方法两种------第一种:http://blog.youkuaiyun.com/xiaokui_wingfly/article/details/8736142

能解决-------但是出现的问题是所有端口都能访问;

第二种:换用新版tomcat(8.0);


struts2


在struts的xml的文件中使用在<result>/index.jsp</result>表示的是在其action name下的index.jsp文件


hibernate


Caused by: java.lang.NoSuchFieldError: INSTANCE

at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:94)

at org.hibernate.type.TypeResolver.<init>(TypeResolver.java:59)

原因是jar包冲突了  需要将不必要的jar包删掉  冲突的jar  hibernate-annotations.jarhibernate-commons-annotations.jar 因为我用的是hibernate3.6版本的所以呢  在hibernate3.jar中已经包含了这两个jar  因此只要将它们删除即可


懒加载异常


产生原因是----hibernate允许对关联对象及属性延迟加载,前提是这个操作在同一个hibernatesession范围内进行。

解决方法是------方法一:关闭懒加载异常设置lazy="false"

      方法二:配置一个过滤器,在web请求时给它绑定一个Hibernatesession,这样就可以保证整个请求的过程中session都是开启的,可以进行延迟加载的操作

方法三:使用spring提供的这个过滤器-----opensessionInviewFIlter,它吧Hibernate session绑定到请求线程中,session将自动被spring的事务管理器管理,即使service层的事务完成,session也会开启以支持延迟加载操作

web.xml中配置这个过滤器

  1. <filter>        
  2.     <filter-name>OpenSessionInViewFilter</filter-name>                                          <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>  
  3.  </filter>  
  4. <filter-mapping>  
  5.     <filter-name>OpenSessionInViewFilter</filter-name>   
  6.     <url-pattern>*.action</url-pattern>  
  7. </filter-mapping>  

参考-------http://745761505.blog.51cto.com/9241055/1538735


spring

 

java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport



缺少:org.springframework.transaction-3.0.5.RELEASE.jar




springmvc

在responsebody注解返回json数据时出现报错----------环境是spring4.0   网上有不同解决方法我的解决方法是加入

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
   

这个依赖包解决此问题



在springmvc中使用int类型变量作为接受值的封装报错,-------------错误原因使用错误,包装类型Integer替代int类型,结论是包装类型Integer和基本数据类型基本一样,不同之处在于,表单传递过来的数据可以为null或“”



在web.xml中配置/*拦截所有会出现访问controller执行但是不能显示jsp页面------------正确的配置是使用/


mybatis

Mybatis异常:Mapped Statements collection does not contain value for

Mapped Statements collection does not contain value for后面是什么类什么方法之类的: 
错误原因有几种: 
1、mapper.xml中没有加入namespace 
2、mapper.xml中的方法和接口mapper的方法不对应 
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外



在mybatis中将





redis

# gem install redis 报错:Unable to require openssl, install OpenSSL and rebuild ruby (prefer

解决方案:http://blog.youkuaiyun.com/huang930528/article/details/51027915

java客户端连接集群的redis出现-----redis集群报错:clusterdown the cluster is down


redis

出现原因是设置的端口未打开使用----vim /etc/sysconfig/iptables 打开防火墙进行修改



solr

使用redis集群出现将集群的ip地址更改需要重新修改shell的脚本执行,其执行是在solr的源安装目录下的example/scripts/cluster-...文件夹在./zkCli.sh命令(注意一定是在源文件目录下)




先写这么多,以后再更新。如有建议,承蒙赐教,不胜感激。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值