一.MyBatis相关
java.lang.NoClassDefFoundError: org/apache/ibatis/session/RowBounds
/*这个问题的原因是:在使用ssm框架时,在web端引入了pagehelper插件,删除pagehelper即可,
若删除后控制台报异常,但不影响程序运行的话,可以将dao层的mybatis相关包引入到web端,
这样就没有异常了*/
二.响应问题
问题:注册功能检验用户名是否存在,请求响应码为302
原因:因为没有用户登录所以请求被拦截,修改拦截配置即可。
三.前端相关
flag=false;
//检查用户名是否已被注册
$scope.checkUserExsit=function(){
sellerService.findOne($scope.entity.sellerId).success(
function(response){
if(response.sellerId!=null){
$scope.tip="用户名已被注册";
flag=false;
}else{
$scope.tip="用户名可用";
flag=true;
}
}
);
}
//注册
$scope.add=function(){
$scope.checkUserExsit();
setTimeout(function(){
if(flag){
sellerService.add( $scope.entity ).success(
function(response){
if(response.success){
location.href='shoplogin.html';
}else{
alert(response.message);
}
}
);
}else{
alert("请检查输入项");
}
},300);
}
问题:上述add方法执行时不按代码顺序来,总是先执行if语句再执行checkUserExsit()
原因:checkUserExsit()发送了一个ajax请求,需要响应时间,add方法本身为异步操作,不会被上面的ajax请求阻塞,所以每次都是if()先执行,然后再执行了checkUserExsit();
四.缓存相关
问题:通过springdataredis设置的key,在客户端查看时,key和value都带有乱码
解决:修改redis的配置文件如下
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="JedisConnectionFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
</bean>
五.Dubbo框架
Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.pinyougou.page.service.ItemPageService. No provider available for the service com.pinyougou.page.service.ItemPageService from the url zookeeper://IP:2181/com.alibaba.dubbo.registry.RegistryService?application=pinyougou-manager-web&default.timeout=300000&dubbo=2.8.4&interface=com.pinyougou.page.service.ItemPageService&methods=genItemHtml&pid=15104&revision=0.0.1-SNAPSHOT&side=consumer×tamp=1552103055145 to the consumer 169.254.103.128 use dubbo version 2.8.4
原因:未检测到所调用服务
解决:查看配置文件、包名类名是否配置正确
六.配置MavenProfile
Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。
方案一:在配置文件的注释中出现了中文注释和中文空格 ,将其删除或改成英文注释即可
方案二:检查xml的头文件和右键属性里面的编码是否一致
方案三:尝试在pom.xml加入如下配置:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>