背景
APICloud是一款制作app的软件,它提供后台服务器,功能十分的强大。一般的企业都会自己的服务器,这个就涉及到后台界面了!本人学习的语言是java,所以自然采用java做apicloud的后台!
界面原理
APICloud前台页面通过ajax请求到java后台的servlet页面
servlet页面通过把资料封装成JSON的格式返回给APICloud的前台页面
由于请求地址如果不正确的话,就会让人不知道是APICloud的页面ajax的请求地址有问题,还是servlet封装JSON资料返回有问题,所以用postman来判断url是否正确是最合适不过的
APICloud页面
表单页面程式码原理:通过点选提交按钮,触发js中onclick事件,把使用者名称和密码的文字框内容返回到后台
1、url是可以在浏览器上输入这个地址就可以访问得到的相应servlet的地址
2、提交方式要么是post要么是get
3、 dataType:\'JSON\',这个很重要,因为JSON是可以跨平台的文字语言是js的分支
4、 returnAll:true,是否返回资料,是
java后台,由于是测试,程式码尽可能的简单些
我只写了一个servlet
注意web.xml里面要配置servlet
package cn.com.servlet;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.com.bean.User;
import net.sf.json.JSONArray;
public class RegeditServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//ServletContext ser = getServletContext();
//ApplicationContext ioc = (ApplicationContext) ser.getAttribute("app");
doPost(request, response);
//Regedit re=ioc.getBean(Regedit.class);
//re.login();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String user=request.getParameter("name");
String pass=request.getParameter("pass");
System.out.println("使用者名称:"+user);
System.out.println("密码:"+pass);
//将List转化为JSON
System.out.println("----------");
String ty="java与apicloud的前后台互动!!";
ArrayList list=new ArrayList();
list.add(ty);
JSONArray json=JSONArray.fromObject(list);
//设定编码
response.setCharacterEncoding("utf-8");
//写入到前台
response.getWriter().write(json.toString());
}
}
测试阶段
在后台开启java这个专案的服务器,servlet是一个执行绪,只要有httpservlet请求过来都会执行的!
学了快一年的java,我现在才知道servlet是一个多执行绪
apicloud需要在真机模拟环境或者是在海马玩上面执行
输入使用者名称和密码,点选提交,看看是不是会返回java的资料
myeclispe/eclispe控制台上是不是有打印的资料,就知道这个界面和apicloud互动有没有问题了!