Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsp实现Android与MySql的连接_Java_Android_Jsp - Fatal编程技术网

Java 使用jsp实现Android与MySql的连接

Java 使用jsp实现Android与MySql的连接,java,android,jsp,Java,Android,Jsp,我正在用JSP开发一个web应用程序。对于同一个项目,我正在开发一个Android应用程序。该web应用程序使用ApacheTomcat和MySQL。现在我想制作Android应用程序的注册表单和登录表单,它们和同一个MySQL数据库接口。但是怎么做呢 我确实找到了很多教程,但都使用PHP脚本。我正在使用Eclipse进行web开发,使用Android Studio进行Android应用。这至少需要4个步骤 创建一个表示数据的POJO public class LoginData impleme

我正在用JSP开发一个web应用程序。对于同一个项目,我正在开发一个Android应用程序。该web应用程序使用ApacheTomcat和MySQL。现在我想制作Android应用程序的注册表单和登录表单,它们和同一个MySQL数据库接口。但是怎么做呢


我确实找到了很多教程,但都使用PHP脚本。我正在使用Eclipse进行web开发,使用Android Studio进行Android应用。

这至少需要4个步骤

  • 创建一个表示数据的POJO

    public class LoginData implements Serializable{
    
    public String loginName;
    public String loginPassword;
    //all other attributes that you need to send over HTTP
    }
    
  • 创建一个简单的HTTP客户端(使用JavaAPI、ApacheHTTP客户端或其他库)。我的例子是使用Apache

    //您只需要一个客户端,所以将其设置为静态

    public static DefaultHttpClient getHttpClient(int timeout) {
    
     DefaultHttpClient client = null;
     SchemeRegistry Current_Scheme = new SchemeRegistry();
     Current_Scheme.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
     HttpParams Current_Params = new BasicHttpParams();
     //set initial params
     HttpConnectionParams.setConnectionTimeout(Current_Params, timeout);
     HttpConnectionParams.setSoTimeout(Current_Params, timeout);
     ThreadSafeClientConnManager Current_Manager = new ThreadSafeClientConnManager(Current_Params, Current_Scheme);
     client = new DefaultHttpClient(Current_Manager, Current_Params);
     return client;
    } 
    
  • 为了发送POJO,您应该首先序列化它(第一个参数是Object,这样它就可以接受任何类型,而不仅仅是LoginData) //数据将以这种方式格式化为application/x-www-form(顺便说一句,web应用默认使用此格式)

  • 您可以将objectMapper初始化为

        objectMapper=new ObjectMapper();
        objectMapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    

    您的servlet应该连接到数据库并进行所有处理,而不是JSP页面。

    但是如何制作与MySql workbench连接的android应用程序的注册表单?
    public void checkLogin(LoginData data)throws Exception 
    {
     String url = "localhost:8080/myApp/login";
     HttpPost request=null;
     try{
        request=new HttpPost(url);
        request.setEntity(serializePOJO(data));
    
        HttpResponse response=getHttpClient(10000).execute(hg);
        if(response.getStatusLine().getStatusCode()!=200){
            //handle exception
        }
    }finally{
        if(request!=null){
            request.releaseConnection();
        }
    }
    }
    
        objectMapper=new ObjectMapper();
        objectMapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);