import java.io.IOException;
/*import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;*/
import java.util.Enumeration;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class TestTransport extends HttpServlet{
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
String[] s = null;
Enumeration<String> paramNames = request.getParameterNames();
for(int i=0;paramNames.hasMoreElements();i++) {
String paramName = (String) paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
s[i] = paramValues[0];
System.out.print(paramName+": ");
System.out.println(paramValues[0]);
}
}
}
这个代码中间我想用一个数组s取出每次循环中的paramValues[0]的值,但是总是出现空指针错误是怎么回事啊 有什么方法可以做到啊

解决方案 »

  1.   

    报空指针了,要不paramValues[0]值本身就是null ,空值;还有paramValues[0]赋错变量来!你检查看看!
      

  2.   

    但是如果除掉给数组s的赋值语句 paramValues[0]的值是可以打印出来的啊 说明它确实是在页面中取到数据了 
      

  3.   

    你直接将S[]数组赋值为null,那么你永远得到的都是null。数组要指定长度赋初值。
      

  4.   

     String[] s = null;这个问题啊
      

  5.   

    避免空指针,可以做下判断if(request.getParameterValues(paramName)!=null)
    {
    String[] paramValues = request.getParameterValues(paramName);}