socket服务端报java.lang.NullPointerException异常? 400 报错 我这个socket服务端主要用于接收浏览器的http请求参数,在浏览器输入
http://127.0.0.1:9999/printLabel?userName=中国人&orderNo=1354&areaNo=2 回车后socket服务端能拿到想要的参数。但是等一会之后就会抛出以下异常停止运行了。这是怎么回事?
userName=中国人,orderNo=1354,areaNo=2
Exception in thread "main" java.lang.NullPointerException
at java.net.URLDecoder.decode(URLDecoder.java:119)
at com.gougoujp.www.ws.server.main(server.java:25)
socket服务端代码如下:
public class server { public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(9999);
// 等待客户端请求
while (true) {
Socket s = null;
// 接受客户端请求
s = ss.accept();
//System.out.println("---success.....");
// 获取客户端发送过来的数据
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String data = in.readLine();
try {
data = URLDecoder.decode(data, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// System.out.println("客户端传过来的数据为:" + data);
if (data.startsWith("GET")) {
String a = data.split("HTTP")[0];
String sid = a.split("\?")[1];
String[] sts = sid.split("&");
String userName = sts[0].split("=")[1];
String orderNo = sts[1].split("=")[1];
String areaNo = sts[2].split("=")[1];
System.out.println("userName=" + userName + "," + "orderNo="
+ orderNo + "," + "areaNo=" + areaNo);
}
// 关闭socket
s.close();
}
}
浏览器断开了网络连接吧!######
输入网址回车后先出来这三行:
s=Socket[addr=/127.0.0.1,port=63669,localport=9999]
userName=中国人,orderNo=1354,areaNo=2
s=Socket[addr=/127.0.0.1,port=63670,localport=9999]
然后就还是一样的报错。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。