以前总是不知道怎么建立服务器,安卓没有服务器是等于一具尸体,有了服务器就有了灵魂,就成了一个活人,能跟我们对话。
正话:以前不知道为什么要学javaee,我觉得应该服务器端有关,现在才知道怎么建立服务器跟安卓端数据交互,是我智商太低了,领悟的太慢了么。
1.建立一个dynamic web project,选择tomcat服务
2.建立一个servlet
相信学过javaee 是知道一个单独servlet就可以处理数据的交互的 连接为/help
其实我项目中有几个工具架包 连通数据库 数据库查询的 dbUtils 都是操作数据库,其他的都是操作json
先看一个bean
package com.xiaoxin.dao;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;
import com.xiaoxin.utils.DataSourceManager;
/**
* 帮助处理
* @author Administrator
*
*/
public class HelpDaoImpl {
private QueryRunner runner=new QueryRunner(DataSourceManager.getDataSource());
/**
* 获取帮助列表
* @param version
*/
public List<Map<String, Object>> getHelpList(int version){
//dbutils
//配置信息
//查询-QueryRunnnn r
String sql="SELECT id,title FROM help WHERE state=1 and version>?";
try {
// MapListHandler 返回一个map集合
return runner.query(sql, new MapListHandler(), version);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
然后一个Test 看下数据
package com.xiaoxin.test;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import com.xiaoxin.dao.HelpDaoImpl;
public class HelpTest {
@Test
public void testGetHelpList(){
HelpDaoImpl daoImpl=new HelpDaoImpl();
List<Map<String,Object>> helpList = daoImpl.getHelpList(1);
System.out.println("");
}
}
查询结果
这说明第一步跟数据库是成功的连接了,并查询出了数据
然后通过servlet进行操作
package com.xiaoxin.servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.commons.collections.map.HashedMap;
import com.xiaoxin.dao.HelpDaoImpl;
import com.xiaoxin.utils.CommonUtil;
/**
* Servlet implementation class HelpServlet
*/
public class HelpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("测试");
data(request,response);
}
private void data(HttpServletRequest request, HttpServletResponse response) {
//数据库查询
int version=0;
try{
version = Integer.parseInt(request.getParameter("version"));
}catch(Exception e){
}
//数据库操作
HelpDaoImpl daoImpl=new HelpDaoImpl();
List<Map<String,Object>> helpList = daoImpl.getHelpList(version);
Map<String,Object>data=new HashMap<String,Object>();
data.put("response", "help");
data.put("version", "12");
data.put("helpList", helpList);
// JSONObject object=JSONObject.fromObject(data);
// System.out.println(object.toString());
// response.getWriter().write(object.toString());
// response.getWriter().flush();
<span style="white-space:pre"> </span>//工具类 等于上面四句话
CommonUtil.renderJson(response, data);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
源码里还有一个很好理解的例子