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

url地址的请求有关问题

2013-08-14 
url地址的请求问题!public void doGet(HttpServletRequest request, HttpServletResponse response)throws

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看看

热点排行