Test.java
package com.example.oracle;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
public class Test extends HttpServlet {
/**
* Constructor of the object.
*/
public Test() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//数据库连接
String DriverName="oracle.jdbc.driver.OracleDriver";
String URL="jdbc:oracle:thin:@localhost:1521:ORCL";
String UserName="system";
String PassWord="wzyzy";
java.sql.Connection conn;
try{
Class.forName(DriverName);
conn=DriverManager.getConnection(URL, UserName, PassWord);
System.out.println("OK");
Statement State=conn.createStatement();
String sql="select *from HR.EMPLOYEES";
ResultSet rs=State.executeQuery(sql);
String name = null;
int id = 0,sale = 0;
while(rs.next()){
sale=rs.getInt("SALARY");//获取Oracle中需要的数据
id=rs.getInt("EMPLOYEE_ID");
name=rs.getString("LAST_NAME");
name=new String(name.getBytes("ISO-8859-1"),"GB2312");
System.out.println(id+"\t"+name+"\t"+sale);
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
Result result=new Result();
//json数据构造
result.setResult(1);
List<Sqldata>list=new ArrayList<Sqldata>();
result.setPersonsData(list);
Sqldata person1=new Sqldata();
person1.setiD(id);
person1.setLastname(name);
person1.setSale(sale);
list.add(person1);
Gson gson=new Gson();//使用Gson封装数据
System.out.println(gson.toJson(result));
out.println(gson.toJson(result));
}
rs.close();
conn.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
Result.java
package com.example.oracle;
import java.util.List;
/**
* Created by Administrator on 2018/5/27.
*/
//json构造
public class Result {
private int result;
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
public List<Sqldata> getPersonsData() {
return personsData;
}
public void setPersonsData(List<Sqldata> personsData) {
this.personsData = personsData;
}
private List<Sqldata>personsData;
}
Sqldata.java
package com.example.oracle;
//数据库所需数据
public class Sqldata {
private String lastname;
private int iD,sale;
public int getSale() {
return sale;
}
public void setSale(int sale) {
this.sale = sale;
}
public int getiD() {
return iD;
}
public void setiD(int iD) {
this.iD = iD;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
}