废话不多说,直接上代码。

一、服务端



1、使用连接MySQL数据库,具体配置如下:

在项目根目录下创建配置文件conf.mxl;代码如下:

<?xml version="1.0" encoding="UTF-8"?>
2、配置mapper的方法,只要实现了数据库的增删查改功能;

<?xml version="1.0" encoding="UTF-8" ?>              insert into login(name,password)               values(#{name},#{password})                      update login set name=#{name},password=#{password} where id=#{id}                    delete from login where id=#{id}    
其中UserService.java是方便数据库查询而写的一个增删查改的一个接口

public User selectUserById(int id);//根据id查询用户信息public List selectUsersByName(String userName);//根据用户名查询用户信息public void addUser(User user);//插入用户public void updateUser(User user);//更新用户public void deleteUser(int id);//删除用户
最后就是直接新建servlet,响应客户端,返回json就可以了,下面是Login的servlet:

public class Login extends HttpServlet {private static final long serialVersionUID = 1L;private static SqlSessionFactory sqlSessionFactory;static {try {// mybatis的配置文件String resource = "conf.xml";// 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)InputStream is = Test2.class.getClassLoader().getResourceAsStream(resource);// 构建sqlSession的工厂sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);} catch (Exception e) {e.printStackTrace();}}public static SqlSessionFactory getSession() {return sqlSessionFactory;}/** * @see HttpServlet#HttpServlet() */public Login() {super();}@Overridepublic void init() throws ServletException {// TODO Auto-generated method stubsuper.init();}/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse *      response) */protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse *      response) */protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// 设置响应内容类型response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");// 实际的逻辑是在这里PrintWriter out = response.getWriter();Map map = new HashMap();JSONObject jsonObject = new JSONObject();String name = request.getParameter("name");String password = request.getParameter("password").trim();if (Login.getUserList(name, password)) {map.put("message", "成功");map.put("code", "100");map.put("name", name);map.put("password", password);jsonObject.put("map", map);out.write(jsonObject.toString());} else {map.put("message", "参数错误");map.put("code", "101");map.put("name", name);map.put("password", password);jsonObject.put("map", map);out.write(jsonObject.toString());}}@Overridepublic void destroy() {super.destroy();}public static boolean getUserList(String userName, String password) {SqlSession session = sqlSessionFactory.openSession();try {UserService userService = session.getMapper(UserService.class);List users = userService.selectUsersByName(userName);for (User user : users) {if (user.getPassword().equals(password)) {return true;}}} finally {session.close();}return false;}}


二、客户端就更简单了,


为了方便我直接使用volley请求的,

private void Login() {        String url = "http://192.168.56.1:8080/TestLogin/Login";        StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener() {            @Override            public void onResponse(String response) {                Log.e("response", response);                JSONObject jsonObject;                try {                    jsonObject = new JSONObject(response);                    JSONObject jsonObject1 = jsonObject.getJSONObject("map");                    String message = jsonObject1.getString("message");                    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();                } catch (JSONException e) {                    e.printStackTrace();                }            }        }, null) {            @Override            protected Map getParams() throws AuthFailureError {                Map map = new HashMap<>();                map.put("name", name.getText().toString());                map.put("password", password.getText().toString().trim());                return map;            }        };        mQueue.add(request);    }
我主要实现了注册和登陆这连个功能的,经本人测试,成功;

附上服务器代码:点击打开链接

更多相关文章

  1. Develop--Training(七)Getting Started--支持不同的设备
  2. 【Android】Handler应用(二):从服务器端加载JSON数据的优化
  3. 安卓通过recyclerview进行全表增删改查
  4. Android(安卓)学习笔记1
  5. Android(安卓)Studio 环境搭建、配置和基本使用
  6. FileProvider的使用
  7. Appium环境搭建教程
  8. Android(安卓)studio 如何引用aar
  9. Android(安卓)任务模式注意点

随机推荐

  1. Android使用AIDL跨进程数据共享
  2. 为android电源键添加重启项
  3. android view的xml属性
  4. Android各种类型Dialog点击空白处自动关
  5. Android(安卓)XML解析器的问题
  6. 给android 2.3 提供鼠标支持
  7. Android模拟器使用SD卡
  8. Android(安卓)2.2开始支持安装APP2SD卡上
  9. Android(安卓): 一键分享(纲领)
  10. Android中padding与layout_margin的区别