안드로이드에서 앱엔진 쪽에 정보보내서 db에 저장 하는것 까진 했습니다. 근데 문제는 이 DB내용을 전부 받아오고 싶은데
널포인트 오류나고 그러네요 ㅠㅠ
안드로이드에서 요청을 보내면 서블릿을 통해서 데이터를 JSP로보내고 거기에서 JSON형식으로 안드로이드에 보내주려고 합니다.
TelesalesServlet .java 일부
String query = "select from " + Account.class.getName();
List<Account> accounts = (List<Account>) pm.newQuery(query).execute();
request.setAttribute("accounts", accounts);
ServletContext context = getServletContext();
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/eql.jsp");
dispatcher.forward(request, response);
책에 있는 예제를 따라하면서 하는중인데 리스트는 데이터를 넣을 배열리스트이고 그 정보를 리퀘스트에 넣어서 eql.jsp 로 보내고 거기에서 안드로이드로 받아가게끔 했습니다
그런데 jsp에서 accounts정보를 받는데 널포인터 에러가 뜹니다
eql.jsp
TelesalesServlet sv = new TelesalesServlet();
sv.doGet(request,response);
List<Account> accounts = (List<Account>)request.getAttribute("accounts");
Account a = (Account)accounts.get(0);
String t = request.getParameter("action");
JSONObject jsonMain = new JSONObject();
JSONArray jArray = new JSONArray();
JSONObject jObject = new JSONObject();
for (int i = 0;i<accounts.size();i++) {
Account a = (Account)accounts.get(i);
jObject = new JSONObject();
jObject.put("band0",a.getband0());
}
jObject.put("test",t);
jArray.put(0, jObject);
jsonMain.put("List", jArray);
out.println(jsonMain.toString());