JDBC Возвращать результаты через программу записи в клиентскую программу? - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь вернуть результат mySQL моей клиентской программе.Я думаю, что он не соединяется, так как я могу вернуть ошибку соединения, но я считаю, что все настройки правильны, и использовал их раньше при подключении PHP?

Вот полный код, который полностью работает, если вы просто хотитевернуть строку:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;

public class TestDatabase extends HttpServlet {

    private static String message = "Error during Servlet processing";
    private static String inputStream;
    ResultSet rs;

    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
        try {
            int len = req.getContentLength();
            byte[] input = new byte[len];

            ServletInputStream sin = req.getInputStream();
            int c, count = 0;
            while ((c = sin.read(input, count, input.length - count)) != -1) {
                count += c;
            }

            sin.close();
            String inString = new String(input);
            int index = inString.indexOf("=");
            String value = inString.substring(index + 1);
            inputStream = URLDecoder.decode(value, "UTF-8");

        } catch (IOException e) {

        }

        try {
            responseWriter(resp);
        } catch (SQLException e) {

            e.printStackTrace();
        }
    }// end of requestReader

    public void responseWriter(HttpServletResponse resp) throws SQLException {



        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://server.co.uk:port/dbName?user=UserName&password=PassWord");

            Statement st = (Statement) con.createStatement();
            rs = st.executeQuery("SELECT * FROM MyTable;");

        } catch (Exception e){
            System.out.println("fail");
        }

        while (rs.next()){
            String output = rs.getString("column_name");
        }

        try {
            resp.setStatus(HttpServletResponse.SC_OK);
            OutputStreamWriter writer = new OutputStreamWriter(
            resp.getOutputStream());
            writer.write(output);
            writer.flush();
            writer.close();

        } catch (IOException e) {

        }

    }// end of responseWriter

}// end of class

РЕДАКТИРОВАТЬ: я выбрасываю исключение ClassNotFoundException, я считаю.

1 Ответ

0 голосов
/ 22 ноября 2011

В публичный метод void doPost () вы не бросаете выдает SQLException, IOException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...