Я хочу отправить некоторые данные из моего апплета на определенный сервлет, который должен подключаться к базе данных MySQL и хранить переданные данные. В Applet стороны я использовал этот метод для передачи данных из апплета сервлета:Мой апплет не может подключиться к сервлету и передавать данные
public void sendData() {
try {
URL postURL = new URL("http://localhost:8080/MyApplet/mydb");
HttpURLConnection conn = (HttpURLConnection) postURL.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.connect();
String param1 = "data1";
String param2 = "data2";
String param3 = "data3";
PrintWriter out = new PrintWriter(conn.getOutputStream());
out.write("param1=" + URLEncoder.encode(param1, "UTF-8")
+ "¶m2=" + URLEncoder.encode(param2, "UTF-8")
+ "¶m3=" + URLEncoder.encode(param3, "UTF-8"));
out.flush();
} catch (Exception e) {
System.err.println(e.getMessage());
JOptionPane.showMessageDialog(GameApplet.this, e.getMessage(), "Exception", JOptionPane.ERROR_MESSAGE);
}
}
Какого MyApplet/MYDB путь моего Selrvet. и в Servlet стороны я написал этот код:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String parameter1 = request.getParameter("param1");
String parameter2 = request.getParameter("param2");
String parameter3 = request.getParameter("param3");
connectToDB();
insert(parameter1, parameter2, parameter3);
// insert("X", "Y", "Z");
closeDB();
}
которые processRequest()
звонков с doGet()
и doPost()
. Сервлет правильно работает, когда я вызываю его непосредственно из его http-ссылки и без проблем заполняю базу данных, но когда я вызываю ее из апплета, ничего не происходит и даже без каких-либо исключений! честно говоря, они не могут общаться друг с другом, и я действительно смущен.
Попробуйте использовать 'URLConnection', как показано в примере [здесь] (http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html) –
Я пробовал это, но я не могу общаться с сервлет через апплет еще! Кажется, что что-то не так, когда сервлет хочет получить данные или когда Applet хочет отправить, потому что оба класса работают правильно, когда я тестирую их отдельно! : -? –