packagecom.jwglxt.data;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.json.JSONArray;importorg.json.JSONObject;
@WebServlet("/getStudent")public class getStudent extendsHttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//设置编码格式
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/json; charset=utf-8");//连接数据库
Connection connection=null;
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=tjl";//数据源 !!!注意若出现加载或者连接数据库失败一般是这里出现问题
String Name="sa";
String Pwd="19990713";
ResultSet rs=null;//定义JSON数组,用于保存从数据库查出来的数据
JSONArray array = newJSONArray();try{
Class.forName(driverName);
connection=DriverManager.getConnection(dbURL,Name,Pwd);
System.out.println("连接数据库成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("连接失败");
}
Statement stmt= null;try{
stmt=connection.createStatement();
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}/*//增删改操作
String sql_1="insert into student values('990403','佩奇','男','12','1','2101')";
int count_1 = 0;
try {
count_1 = stmt.executeUpdate(sql_1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//返回值表示增删改几条数据
//处理结果
if(count_1>0){
System.out.println("更新成功!");
}*/
//查询操作
String sql_2="select * from student";try{
rs=stmt.executeQuery(sql_2);//获取列数
ResultSetMetaData metaData =rs.getMetaData();int columnCount =metaData.getColumnCount();while(rs.next()) {
JSONObject jsonObj= newJSONObject();//遍历每一列
for (int i = 1; i <= columnCount; i++) {
String columnName=metaData.getColumnLabel(i);
String value=rs.getString(columnName);
jsonObj.put(columnName, value);
}
array.put(jsonObj);
}
}catch(SQLException e1) {
e1.printStackTrace();
}//关闭
try{if(rs!=null) rs.close();
stmt.close();
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
PrintWriter out=response.getWriter();
out.println(array);
}protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
doGet(request, response);
}
}