读书人

url地址的请求有关问题

发布时间: 2013-08-14 14:27:55 作者: rapoo

url地址的请求问题!




public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/xml;charset=utf-8");
PrintWriter out = response.getWriter();

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

//获取url地址传来的参数
String account=request.getParameter("account");
String password=request.getParameter("password");


System.out.println("status cha kan");


out.println("<?xml version='1.0' encoding='utf-8' ?><returnsms>");

//输出返回的接收状态信息
if(!(null==account||null==password))
{
if(!("".equals(account)||"".equals(password)))
{
//解码
account=URLDecoder.decode(new String(account.getBytes("ISO-8859-1"),"utf-8"),"utf-8");
password=URLDecoder.decode(new String(password.getBytes("ISO-8859-1"),"utf-8"),"utf-8");
//判断用户名密码
if(account.equals("qq")&&password.equals("123"))
{
MessageEntity me=new MessageEntity();

if(!AllLinkedList.phoneReciveLink.isEmpty())
{

AllLinkedList.prsize=AllLinkedList.phoneReciveLink.size();


for (int j = 0; j < AllLinkedList.prsize; j++) {

me=AllLinkedList.phoneReciveLink.removeFirst();

out.println("<statusbox>");

out.println("<mobile>"+me.getBSenderMDN().trim()+"</mobile>");

out.println("<taskid>"+me.getBsmsID()+"</taskid>");

if(me.getBsmsResult().equals("000"))
{
out.println("<status>10</status>");


}
else
{
out.println("<status>20</status>");
}

out.println("<receivetime>"+me.getReceivetime()+"</receivetime>");

out.println("<errorcode>"+me.getBsmsResult()+"</errorcode>");

out.println("<extno>1903</extno>");

out.println("</statusbox>");

out.flush();

// int i=AllLinkedList.s;
//
// if(i==0)
// {
// AllLinkedList.phoneReciveLink.add(me);
// AllLinkedList.s=1;
// }

System.out.println("ReqNo:"+me.getHmesgReqNo()+"\tmesgType:"+me.getBmesgType()+"\tSenderMDN:"+me.getBSenderMDN()+"\tRecverMDN"+me.getBRecverMDN()+"\tsmsID:"+me.getBsmsID()+"\tsmsResult"+me.getBsmsResult()+"\t");

}
System.out.println("ppppsize:"+AllLinkedList.phoneReciveLink.size());

}

}
else
{
out.println("<errorstatus>");
out.println("<error>"+"2"+"</error>");
out.println("<remark>用户名或密码错误</remark>");
out.println("</errorstatus>");

}
}
else
{
out.println("<errorstatus>");
out.println("<error>"+"1"+"</error>");
out.println("<remark>用户名或密码不能为空</remark>");
out.println("</errorstatus>");

}

}
else
{
out.println("<errorstatus>");


out.println("<error>"+"4"+"</error>");
out.println("<remark>"+"参数不正确"+"</remark>");
out.println("</errorstatus>");

}

out.println("</returnsms>\r\n");


out.flush();
out.close();
}



这是一个servlet里的代码,我是通过url地址访问这个servlet的,然后获取out.println();的值,现在有一个问题就是,我在浏览器里直接访问这个url地址,如果队列里有值的话我能够在浏览器中看到,没值就只显示开头和结尾了!
有一个短信操作的平台,是用C#做的,我自己在Java里调用这个url地址的时候可以获得值,但是不知道为什么在这个短信操作的平台上就获取不到我的值了!我自己测试了半天,发现好像是他第一次访问我这个url地址的时候娶不到我的值,第二次的时候才可以取到!可是我是使用的队列存的值,第一次访问的时候值已经取出去了!第二次就没值了!现在想问下这中间是因为什么原因而让他第一次取不到我的值呢?我代码里有什么问题吗?各位大牛们帮忙给看下! Java
[解决办法]
现在有一个问题就是,我在浏览器里直接访问这个url地址,如果队列里有值的话我能够在浏览器中看到,没值就只显示开头和结尾了!

没值不现实头尾显示什么?

==============================
我自己测试了半天,发现好像是他第一次访问我这个url地址的时候娶不到我的值,第二次的时候才可以取到!可是我是使用的队列存的值,第一次访问的时候值已经取出去了!第二次就没值了

后台打个log看看

读书人网 >J2EE开发

热点推荐