案例1
错误提示: java.lang.IllegalStateException: Failed to load ApplicationContext
解决方法:什么都不用想,找找刚刚修改的xml文件,肯定是刚刚修改的文件出错了。
案例2
错误提示:
Invalid bound statement (not found): com.yc.crm.mapper.AdviceMapper.selectAdviceById
testGetAdviceById(com.yc.crm.test.conn.TestAdviceServiceImpl): Invalid bound statement (not found): com.yc.crm.mapper.AdviceMapper.selectAdviceById
testGetAdviceById(com.yc.crm.test.conn.TestRelationServiceImpl): Invalid bound statement (not found): com.yc.crm.mapper.RelationMapper.selectCustomersByWorkerId
testInsertUserInfo(com.yc.crm.test.conn.TestUserInfoImplTest): Invalid bound statement (not found): com.yc.crm.mapper.UserInfoMapper.insertUserInfo
testGetUserInfoById(com.yc.crm.test.conn.TestUserInfoImplTest): Invalid bound statement (not found): com.yc.crm.mapper.UserInfoMapper.getUserInfoById
解决方法:
最后是发现一个UserInfoMapper.xml文件错了,修改了java.math.BigDecimal成了java.math.Integer
<selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="uid">
SELECT SEQ_CRM_USER_INFO_SEQ.Nextval as "UID" from DUAL
</selectKey>
最后修改成resultType="int" 完美解决问题,说到底还是不彻底懂配置信息的意思
有时候出错了需要回改刚刚修改的东西就好了
案例3
错误提示: MyEClipse异常关闭后端口被占用,因为卡了,很久没响应,这里推荐一个方法,就是在任务管理器中修改myEclipse.exe的优先级。
解决方法: 一个是在cmd下使用命令杀死进程,一个是win7下手动结束javax.exe
C:\Users\suibian>netstat -aon|findstr "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 7348
TCP [::]:8080 [::]:0 LISTENING 7348
C:\Users\suibian>tasklist|findstr "7348"
javaw.exe 7348 Console 1 149,836 K
C:\Users\suibian>taskkill /f /t /im javaw.exe
案例4
错误提示: mybatis传多个参数
解决方法: 在mapper接口中有时候有需要传入多个参数,这个时候可以转化为map传进去,也可以使用@param传入多个参数。
1. select * from user_user_t where user_name = #{0} and user_area=#{1}
2.Public User selectUser(Map paramMap); //传进来一个集合
3.Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);<span style="font-family: 'Microsoft YaHei'; widows: auto; background-color: rgb(255, 255, 255);"> </span>
案例5
错误提示: 提交表单后台得到的数据中文乱码
解决方法: 1.pageEncoding没有设置成utf-8 2.没有采用post方式
案例6
错误提示: 将服务器发送的数据显示到页面中文乱码
解决方法: 下面才是正确的写法,第一个是我的错误之处。
<meta name="content-type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
案例7
错误提示: ajax+structs2获取json数据
解决方法:
(1)structs.xml中的配置
<action name="*_*" class="com.yc.crm.web.action.{1}Action" method="{2}">
<result>/${result}.jsp</result>
<result name="login_success" type="redirect">/${result}.jsp</result>
<result name="fail">/fail.jsp</result>
<result name="json" type="json">
<!-- 如果action中返回的是一个json结果,那么数据类型也是json,并且以rows为根发送给客户端 -->
<param name="root">jsondata</param>
</result>
</action>
package com.yc.crm.web.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import com.yc.crm.biz.GodsService;
import com.yc.crm.entity.Gods
@Controller("godsAction")
public class GodsAction implements SessionAware{
@Autowired
private GodsService godsService;
private Map<String, Object> session;
private Object jsondata;
/**
* 思路分析:传进来一个OrdereDetail
* 需要的是客户信息,商品信息,数量,备注,收货地址即可
* @return
*/
public String findAllGods(){
List<Gods> result=godsService.findAll();
if(result!=null){
jsondata=result;
}else{
jsondata=null;
}
return "json";
}
public Object getJsondata() {
return jsondata;
}
public void setSession(Map<String, Object> session) {
this.session=session;
}
}
我是菜鸟,我在路上。