powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить данные из базы и передать их в javascript
7 сообщений из 7, страница 1 из 1
Получить данные из базы и передать их в javascript
    #37911437
Lasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите разобраться, пожалуйста.
Дали мне задачу написать зимлет для Zimbra. Зимлет - это javascript.
Суть - зная email обратиться в базу данных (Postgresql), выполнить запрос, получить из базы три строковых значения и передав эти значения в строку url как параметры, открыть новое окно.
В зимлете обратится к базе данных нельзя. Единственное, что я нагуглила, это вот такой совет
1. You should create one jsp which opens Mysql connection to DB, takes the information form the HTTP request and saves the information.
2. From JS you crate GET/POST request to the jsp from point 1 with information in HTTP request
Вот мой код, пример jsp нашла в интернете. С java никогда в жизни не сталкивалась, может тут какя-то очевидная для специалистов нелепость, из-за чего не срабатывает код.
jsp
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<%
 		java.sql.Connection con;
		java.sql.Statement s;
		java.sql.ResultSet rs;
		java.sql.PreparedStatement pst;

		con = null;
		s = null;
		pst = null;
		rs = null;

		String url = "jdbc:postgresql://ххх.0.0.1:5451/dbphone";
		String id = "postgres";
		String pass = "";

	             Class.forName("postgresql.Driver");
		con = java.sql.DriverManager.getConnection(url, id, pass);

		String domainUser = (String) request.getParameter("userEmail");

		String sql = "SELECT domain, extension, password FROM v_extensions WHERE description='web' AND user_list='|"
				+ domainUser + "|'";

		try {
			s = con.createStatement();
			rs = s.executeQuery(sql);

			while (rs.next()) {
				request.setAttribute("domain", rs.getString("domain"));
				request.setAttribute("extension", rs.getString("extension"));
				request.setAttribute("password", rs.getString("password"));
			}

		} catch (Exception e) {
		} finally {
			if (rs != null)
				rs.close();
			if (s != null)
				s.close();
			if (con != null)
				con.close();
		} 
	%>
</body>
</html>



zimlet
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
imogo_zimbra_call_HandlerObject.prototype._click =
    function() {
        var userEmail = this.getUsername();
        var jspUrl = this.getResource("PostgresRequest.jsp");
        var jspUrlWithParameter = jspUrl + "?userEmail=" + userEmail;
        var response = AjxRpc.invoke(null, jspUrlWithParameter, null, null, true);
        if(response.success == true){
          imogodomain = response.getAttribute("domain");
          imogoextension = response.getAttribute("extension");
            imogopassword = response.getAttribute("password");
        }
        var stringUrl = "http://webgui.imogo.com/ImogoWebPhone/webphone.php?domain=" + imogodomain+ "&extension=" +imogoextension+"&password"+imogopassword;
        window.open(stringUrl, "Imogo Call", "menubar=1,resizable=1,width=235,height=480");
    }


1. В java срабатывает ClassNotFoundException. Message : postgresql.Driver
2. Для теста я убрала вообще базу данных и установила значения атрибутов, как строки: request.setAttribute("domain", "domainname"));
Тогда на javascript выдает ошибку "Нет такой функции response.getAttribute()"
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37911461
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lasa,

Код: java
1.
2.
3.
...
Class.forName("org.postgresql.Driver");
...



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
...
String url = "jdbc:postgresql://localhost/test";
Properties props = new Properties();
props.setProperty("user","fred");
props.setProperty("password","secret");
props.setProperty("ssl","true");
Connection conn = DriverManager.getConnection(url, props);
...



, или

Код: java
1.
2.
3.
4.
...
String url = "jdbc:postgresql://localhost/test?user=fred&password=secret&ssl=true";
Connection conn = DriverManager.getConnection(url);
...
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37911464
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам и java тут нафиг не нужна - я бы простенький php скрипт накатал. Хотя если у вас на сервере уже есть java - ну тогда да.
Насчет response.getAttribute() -- эта штука отрабатывает на сервере, поэтому javascript иругается
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37911466
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
++ обновите zimlet до 7.2 .
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37912765
Lasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanov-void, Спасибо, к базе теперь обращается.

забыл ник, А как же можно передать значения из jsp в javascript?
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37913379
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lasa А как же можно передать значения из jsp в javascript?
Через http вернее всего.
Ибо jsp - суть сервлет, а js - клиент.
...
Рейтинг: 0 / 0
Получить данные из базы и передать их в javascript
    #37913400
milton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lasa,

Я с zimlet не работал, но думаю, что в Вашем случае лучше было бы логику получения данных из БД обернуть в веб-сервис, а в JavaScript работать с возвращаемым веб-сервисом json.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить данные из базы и передать их в javascript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]