首先新建一个项目:(这种情况下可能没有新建工程,将
)在新建一个工程:
然后记得装Tomcat:
然后右键这个jar包,进行Build path:
接下来就是代码了,但是你首先得有个数据库,我用的是mysql,下载一个mysql软件,创建好数据库及表后:、
在Eclipse中新建一个类:(用来连接数据库)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlUtils {
// 加载数据库驱动com.mysql.jdbc.Driver
private static String dbdriver = "com.mysql.jdbc.Driver";
// 获取mysql连接地址
private static String dburl = "jdbc:mysql://127.0.0.1:3306/beautiful_girl?serverTimezone=GMT%2B8&useSSL=false";
// 数据名称
private static String username = "root";
// 数据库密码
private static String userpassword = "new password";
// 获取一个数据的连接
public static Connection conn = null;
//数据库查询语句
String sql = "select * from Picture";
//连接数据库
public Connection connect() {
Connection conn = null;
try {
Class.forName(dbdriver);
conn = DriverManager.getConnection(dburl, username, userpassword);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//断开数据库
public void disconnect(ResultSet rs, PreparedStatement ps,
Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
然后新建一个类,用来写Bean类,保存数据库查询的字段:
public class Bean {
private int id;
private String imgUrl;
public Bean(int id,String imgUrl) {
this.id = id;
this.imgUrl = imgUrl;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getImgUrl() {
return imgUrl;
}
public void setImgUrl(String imgUrl) {
this.imgUrl = imgUrl;
}
}
接下来就是主方法里的代码块了:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
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.google.gson.Gson;
/**
* Servlet implementation class Test
*/
@WebServlet("/Test")
public class Test extends HttpServlet {
private ArrayList<Bean> list = new ArrayList<Bean>();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Test() {
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
response.setContentType("text/json; charset=utf-8");
PreparedStatement content = null;
Connection con = null;
ResultSet result = null;
String json = null;
String page = "1";
//获取操作网页对象
PrintWriter out = response.getWriter();
//“page”是浏览器要传输到后台的参数
page = request.getParameter("page");
MysqlUtils mysql = new MysqlUtils();
//获取数据库操作对象
con = mysql.connect();
try {
//判断前台传输的数据是否为空
if(page!=null) {
//每次查十条
content = con.prepareStatement("select * from Picture limit "+(Integer.parseInt(page) - 1)*10+",10");
result = content.executeQuery();
ResultSetMetaData meta = result.getMetaData();
int coliumn = meta.getColumnCount();
//判断查找的数据是否有下一条
while(result.next()) {
list.add(new Bean(result.getInt("id"),result.getString("imgUrl")));
Gson gson = new Gson();
json = gson.toJson(list);
}
out.println(json);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//将集合中的原始数据清空
list.clear();
}
// response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
当我们代码写完后,就可以在浏览器上看我们生成的json串了