首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

SSH架构遇到Http struts500有关问题,一直解决不了!

2013-08-09 
SSH架构遇到Http struts500问题,一直解决不了!!!!!!控制台没有报错,网页报错:HTTP Status 500 - Index: 0,

SSH架构遇到Http struts500问题,一直解决不了!!!!!!
控制台没有报错,网页报错:
HTTP Status 500 - Index: 0, Size: 0

type Exception report

message Index: 0, Size: 0

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.ArrayList.RangeCheck(ArrayList.java:547)
java.util.ArrayList.get(ArrayList.java:322)
impl.WpcountryService.find(WpcountryService.java:27)
struts.action.PersonInfoAction.addpersonInfo(PersonInfoAction.java:32)
struts.action.PersonInfoAction.personInfo(PersonInfoAction.java:24)
其中impl.WpcountryService.find(WpcountryService.java:27)这里是这样写的:
public WpCountry find(String coun_id){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");  
wpCountryDAO=(WpCountryDAO)context.getBean("WpCountryDAO");

List<WpCountry> wc = new ArrayList<WpCountry>();
wc = wpCountryDAO.findByCounName(coun_id);
WpCountry w = new WpCountry();
w = wc.get(0);
return w;


}
其中:struts.action.PersonInfoAction.addpersonInfo(PersonInfoAction.java:32)是这样的:
public boolean addpersonInfo(){
boolean s = wpuserService.addinfo(email, name, sex, personid, wpcountryService.find(country));
return s;

}
其中struts.action.PersonInfoAction.personInfo(PersonInfoAction.java:24)是这样的:
public String personInfo(){
if(addpersonInfo()){
return "yes";
}else{
return "no";
}

}
希望前辈可以帮我解决解决一下!这样是报错的,但是我这样写就不会报错:
public static void main(String[] args) {

WpcountryService wps =new WpcountryService();
WpuserService as = new WpuserService();
as.addinfo("ok", "dsa", "F", "assadsadsa", wps.find("中国"));
}
在工程里新建一个main函数,这样写是插入成功的!!!
我就搞不懂了……帮我一下吧 SSH Struts String


[解决办法]
wc应该没有取到值。
[解决办法]
索引越界了。
[解决办法]
wc = wpCountryDAO.findByCounName(coun_id);这一行你确定查询出数据了?
[解决办法]

引用:
Quote: 引用:

wc = wpCountryDAO.findByCounName(coun_id);这一行你确定查询出数据了?

是在main里面可以查出数据,但是放到网页中就不行,查不出数据了!!并且我其他的查询都是这样做的啊……为什么呢?

你可以debug一下,你的list里应该是没有取到任何数值的,你的那个country是否有值呢?
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

wc = wpCountryDAO.findByCounName(coun_id);这一行你确定查询出数据了?

是在main里面可以查出数据,但是放到网页中就不行,查不出数据了!!并且我其他的查询都是这样做的啊……为什么呢?

你可以debug一下,你的list里应该是没有取到任何数值的,你的那个country是否有值呢?

country是从form表单里set和get的,用struts来处理的,这里是业务层。好像从网页那边country传递不过来啊……不明白为什么?是编码问题?但其他的中文字符都是可以的啊!我debug一下吧


和编码应该没有关系吧,还有建议在上面的那个public WpCountry find(String coun_id){}这个方法加一个判断,如果String coun_id为空的话,直接返回false。
[解决办法]

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
你看看,你的异常中这句,明显的溢出了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

wc = wpCountryDAO.findByCounName(coun_id);这一行你确定查询出数据了?

是在main里面可以查出数据,但是放到网页中就不行,查不出数据了!!并且我其他的查询都是这样做的啊……为什么呢?

你可以debug一下,你的list里应该是没有取到任何数值的,你的那个country是否有值呢?

country是从form表单里set和get的,用struts来处理的,这里是业务层。好像从网页那边country传递不过来啊……不明白为什么?是编码问题?但其他的中文字符都是可以的啊!我debug一下吧


和编码应该没有关系吧,还有建议在上面的那个public WpCountry find(String coun_id){}这个方法加一个判断,如果String coun_id为空的话,直接返回false。

我刚刚debug了一下发现是这样的,我有一个form向addInfo(.....)里传输数据,但是在控制台里
 Setting params country => [ ?й? ]

 email => [ ashid@qq.com ] name => [ asasd ] personid => [ dsdasdas ] sex => [ A ] yes => [ ??? ]其中红色的是中文字符,country是中国,yes是登录。 是中文字符的传递错误吗?网页编码是GBK,但struts就不知道了……你看是不是这样呢?


你这些乱码不会引出来面索引溢出的异常的,这些编码问题,与你的异常无关的

热点排行