微信BAE链接Mysql 数据查询

来源:互联网 发布:舞泡网知乎 编辑:程序博客网 时间:2024/04/30 22:51

BAE官方mysql文档自行查阅,建立ceshi表,字段title和content。

package test;import java.io.IOException;import java.io.PrintWriter;import java.sql.*;import javax.servlet.ServletException;import javax.servlet.ServletInputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.dom4j.Document;import org.dom4j.io.SAXReader;import com.baidu.bae.api.util.BaeEnv;public class HelloWorldServlet extends HttpServlet {/** *  */private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stub resp.setContentType("text/html;charset=UTF-8");        PrintWriter pw = resp.getWriter();        String echo = req.getParameter("echostr");        echo = new String(echo.getBytes("ISO-8859-1"),"UTF-8");        pw.println(echo);}   public voiddoPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.setCharacterEncoding("utf-8");req.setCharacterEncoding("utf-8");ServletInputStream weixinstr = req.getInputStream();SAXReader Reader = new SAXReader();try {Document document = Reader.read(weixinstr);String fromusername=document.selectSingleNode("//FromUserName").getText();String tousername=document.selectSingleNode("//ToUserName").getText();String msgtype=document.selectSingleNode("//MsgType").getText();String createtime=document.selectSingleNode("//CreateTime").getText();           String reply = null ;  if(msgtype.equals("text")){           String content=document.selectSingleNode("//Content").getText();                    Connection connection = null;      Statement stmt = null;      ResultSet rs = null;           String sql = null;           /*****1. 替换为你自己的数据库名(可从管理中心查看到)*****/String databaseName = "JkkdaftNaPjcXusGLNAL"; /******2. 从环境变量里取出数据库连接需要的参数******/String host = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_IP);String port = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_PORT);String username = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_AK);String password = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_SK);String driverName = "com.mysql.jdbc.Driver";String dbUrl = "jdbc:mysql://";String serverName = host + ":" + port + "/";         String connName = dbUrl + serverName + databaseName;         /******3. 接着连接并选择数据库名为databaseName的服务器******/         try {Class.forName(driverName);connection = DriverManager.getConnection(connName, username, password);         stmt = connection.createStatement();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}         sql = "select * from ceshi where title='"+content+"'";rs = stmt.executeQuery(sql);                        while(rs.next())            {                         String answer=rs.getString("content");                 reply=answer;                  }                           }           else{          reply="功能未开发";          } StringBuffer respMessage = new StringBuffer();respMessage.append(("<xml><ToUserName><![CDATA["+fromusername+"]]></ToUserName><FromUserName><![CDATA["+tousername+"]]></FromUserName><CreateTime><![CDATA["+createtime+"]]></CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA["+reply+"]]></Content><FuncFlag>0</FuncFlag></xml>"));PrintWriter pw = resp.getWriter();pw.println(respMessage);   } catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }}


原创粉丝点击