数据库—servlet—android
android是不能直接访问数据库的,所以可以通过servlet来访问数据库显示到android界面。通常如果你的电脑运行内存还行的话,就用两个eclipse,我就用了两个eclipse,一个用于servlet连接数据库,就是有web项目的eclipse,另一个是用于android的,就是得有SDK和ADT的android项目。
先讲第一个,也就是数据库-servlet
这是数据库的设计建表
包括一个输入校验表和一个界面主表显示
第一部分代码,也就是第一个有动态web的eclipse中的代码(由于代码较多,其他的都放在了我的网盘里,网盘放的就是我的整个项目)
链接:https://pan.baidu.com/s/1Xw2O2-C5UMIcRjNaNibBCg 提取码:jzw8
现在我展示的是servlet连接数据库的代码
responseJsonData.java
package com.bai;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
/**
* Servlet implementation class responseJsonData
*/
@WebServlet("/responseJsonData")
public class responseJsonData extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public responseJsonData() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost( request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Connection con;
Statement sql;
ResultSet rs;
PrintWriter out =response.getWriter();
try{
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();}
catch(Exception e){
out.print(e);}
try{
String uri="jdbc:mysql://localhost:3306/android?useSSL=false&serverTimezone=UTC";
con=DriverManager.getConnection(uri,"root","199735");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM student");
ArrayList<student> arrList = new ArrayList<student>();
while(rs.next())
{
student s = new student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSage(rs.getString("sage"));
s.setSbirth(rs.getDate("sbirth").toString());
arrList.add(s);
}
String js1 = JSONObject.toJSONString(arrList);
System.out.println(js1);
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
out.print(js1);
con.close();
}
catch(SQLException e1){
out.print(e1);}
}
}
在eclipse里运行,这里面有默认的浏览器,服务器Tomcat也加进去了,就直接运行了
这样,就通过servlet访问连接到了数据库
第二部分,servlet-android
android项目代码,我在这儿展示的是连接访问servlet的代码,其他代码可以去看我网盘:(整个项目在网盘:链接:https://pan.baidu.com/s/1qFMYx7NXWQvrtnvnvhfafA 提取码:kemv)
RegisterAct.java,这个用于连接loginservlet,进行输入校验
package com.example