用java给php写个万能接口
2024-10-12 02:35:20
package helloworld; import java.io.IOException;
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 org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement; /**
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L; private String diverClass;
private String userName;
private String password;
private String url; /**
* Default constructor.
*/
public HelloWorld() {
// TODO Auto-generated constructor stub } public String resultSetToJson(ResultSet rs) throws SQLException,JSONException
{
// json数组
JSONArray array = new JSONArray(); // 获取列数
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount(); // 遍历ResultSet中的每条数据
while (rs.next()) {
JSONObject jsonObj = new JSONObject(); // 遍历每一列
for (int i = 1; i <= columnCount; i++) {
String columnName =metaData.getColumnLabel(i);
String value = rs.getString(columnName);
jsonObj.put(columnName, value);
}
array.put(jsonObj);
} return array.toString();
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection conn = null; Statement stmt = null; ResultSet rs = null; response.setContentType("text/html"); response.setCharacterEncoding("gb2312"); PrintWriter out = response.getWriter(); diverClass = /* getServletConfig(). */getServletContext().getInitParameter("driver");
userName = /* getServletConfig(). */getServletContext().getInitParameter("username");
password = /* getServletConfig(). */getServletContext().getInitParameter("password");
url = /* getServletConfig(). */getServletContext().getInitParameter("url"); String sql = request.getParameter("sql");
if (sql==null){
sql="SELECT * FROM ANIMALS";
} try { Class.forName(diverClass); //conn = DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=root&password=12345678"); conn = DriverManager.getConnection(url, userName,password); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); HelloWorld hello = new HelloWorld();
try {
String data = hello.resultSetToJson(rs);
out.println(data);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if(rs != null) { rs.close(); rs = null; } if(stmt != null) { stmt.close(); stmt= null; } if(conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter();
out.println("<div style='width:100px;height:100px;background-color:red'>123123</div>"); } }
最新文章
- jdbc执行预处理,批处理,LOB字段处理,调用存储过程
- 02Spring_Ioc和DI介绍
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
- 天天模拟器 和 Genymotion 设置代理
- 使用u32过滤器设置基于mac地址的下载限制
- Ubuntu 14.04 安装flash插件
- 谈谈final、finally、finalize的区别
- web版扫雷小游戏(二)
- python_安装工具easy_install和pip
- 无法安装或运行此应用程序。该应用程序要求首先在";全局程序集缓存(GAC)";中安装程序集
- android搭建环境错误 daemon not running. starting it now on port 5037 ADB server didn&#39;t ACK
- 别样JAVA学习(五)继承上(1.0)Object类equals()
- [译]Java 设计模式之命令
- 学习GDI+ (1)
- sqlserver数据库发送邮箱
- Cocos Creator学习五:触摸和重力传感响应事件
- NetSec2019 20165327 Exp0 Kali安装 Week1
- 9、js扩展
- 利用Django构建web应用及其部署
- SQL-根据多个条件更新数据