powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / insert на сервлете
30 сообщений из 30, показаны все 2 страниц
insert на сервлете
    #38519718
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте уважаемые форумчане!
пожалуйста проверьте этот код и подскажите в чем у меня ошибка?
краце о задаче: есть таблица "U" на нем "ID", "NIK", "PASSWORD";
создана sequence S_U;
задача является из сервлета выполнить sql запрос
Код: plsql
1.
insert into u values (s_u.nextval, "nik", "pass");


Код: 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.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
package qwerty.qwe;

import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import java.sql.Statement;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.servlet.*;
import javax.servlet.http.*;

public class Regist extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       
        String nik = "";
        String pass = "";
        try {
            nik = request.getParameter("nik");
            pass = request.getParameter("pass");
        } catch (Exception e) {
            e.printStackTrace();
        }

        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>S1</title></head>");
        out.println("<body>");
        Connection conn = null;
        Context ctx = null;
        ResultSet rs = null;
        PreparedStatement stmt = null;
       String sql = "insert into u (id,nik,pass) values (s_u.nextval,?1,?2);";
        try {
            ctx = new InitialContext();
            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1522:orcl", "test", "test");
       
            stmt.setString(1, request.getParameter("nik"));
            stmt.setString(2, request.getParameter("pass"));
        
            stmt.executeUpdate();
            //conn.commit();

        } catch (Exception e) {
            // TODO: Add catch code
            out.println("<br/>-----------"+e);
        } finally {
            try {
                rs.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                ctx.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                stmt.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                conn.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
        }

        out.println("</body></html>");
        out.close();
    }
}



P.S. Заранее благодарен!
...
Рейтинг: 0 / 0
insert на сервлете
    #38519758
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон ребята
одну строку пропустил после подключения к БД
Код: java
1.
stmt = conn.prepareStatement(sql);


и в конечном итоге получаю Exception типа java.sql.SQLSyntaxErrorException: ORA-00917: отсутствует запятая
вот и не могу понять какую ошибку делаю... :(
помогите разобраться ПЛИЙЗ
...
Рейтинг: 0 / 0
insert на сервлете
    #38519767
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар, номера попробуйте убрать у параметров запроса.
...
Рейтинг: 0 / 0
insert на сервлете
    #38519866
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerМузаффар, номера попробуйте убрать у параметров запроса.
типа
Код: java
1.
String sql = "insert into u (id,nik,pass) values (s_u.nextval,?,?);";

?
в этом случае выдает Exception ------> java.sql.SQLSyntaxErrorException: ORA-00911: неверный символ
...
Рейтинг: 0 / 0
insert на сервлете
    #38519969
Sherst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарjavapeckerМузаффар, номера попробуйте убрать у параметров запроса.
типа
Код: java
1.
String sql = "insert into u (id,nik,pass) values (s_u.nextval,?,?);";

?
в этом случае выдает Exception ------> java.sql.SQLSyntaxErrorException: ORA-00911: неверный символ
Точку с запятой уберите в конце.
...
Рейтинг: 0 / 0
insert на сервлете
    #38519970
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар, и точку с запятой
...
Рейтинг: 0 / 0
insert на сервлете
    #38520138
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sherst, javapecker,

вы были правы все заработала :)
для получения таблицы т.е. для запроса
Код: plsql
1.
select * from u


что должен сделать или должен использовать?
вектор или списку или без них можно как нибудь?
...
Рейтинг: 0 / 0
insert на сервлете
    #38520285
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар, ResultSet
...
Рейтинг: 0 / 0
insert на сервлете
    #38522773
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerМузаффар, ResultSet

спасибо сделал.
ещё одна просьба если можно :)
можете проверит мой код с точки зрения стиля программирования на языке JAVA, я только начинаю изучить этот язык и мне хотелось бы из начала я правильно программировал :)

Код: 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.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
package qwerty.qwe;

import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import java.sql.Statement;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.servlet.*;
import javax.servlet.http.*;

public class Regist extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String nik = "";
        String pass = "";
        try {
            nik = request.getParameter("nik");
            pass = request.getParameter("pass");
        } catch (Exception e) {
            e.printStackTrace();
        }

        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>S1</title></head>");
        out.println("<body>");

        int i = 0;
        Connection conn = null;
        Context ctx = null;
        ResultSet rs = null;
        PreparedStatement stmt = null;
        PreparedStatement st = null;
        String sql1 = "select count (*) as kolvo from u where nik = ?";
        String sql2 = "insert into u values (s_u.nextval,?,?)";
        try {
            ctx = new InitialContext();
            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1522:orcl", "test", "test");
        
//определяем количество записи
            st = conn.prepareStatement(sql1);
            st.setString(1, request.getParameter("nik"));
            rs = st.executeQuery();
            while (rs.next()) {
                i = rs.getInt("kolvo");
            }
     
//если запрос возвратил не 0, то пользователь с таким ником существует и сервлет перенаправляет на страницу reg.jsp
//иначе вводиться новые данные в БД
            if (i != 0) {
                out.println("<br/> выберите другой ник ... ");
                request.getRequestDispatcher("reg.jsp").forward(request, response);
            } else {
                stmt = conn.prepareStatement(sql2); //"insert into u values (q" + ",'" + nik + "','" + pass+"';");
                stmt.setString(1, request.getParameter("nik"));
                stmt.setString(2, request.getParameter("pass"));
                
                stmt.executeUpdate();
                conn.commit();
                out.println("<br/>Все отлично");
            }


        } catch (Exception e) {
            // TODO: Add catch code
            out.println("<br/>-----------" + e);
        } finally {
            try {
                rs.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                ctx.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                stmt.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
            try {
                conn.close();
            } catch (Exception e) {
                // TODO: Add catch code
                e.printStackTrace();
            }
        }

        out.println("</body></html>");
        out.close();
    }
}


и возможно есть альтернативные варианты и более легкие...
...
Рейтинг: 0 / 0
insert на сервлете
    #38522889
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смешивая джава код и разметку далеко не уедешь
нужно применять mvc и узнать что такое jsp

p.s. и вообще на сервлетах далеко не уедешь,
все равно прийдется осваивать какой-нибудь web-фреймворк
...
Рейтинг: 0 / 0
insert на сервлете
    #38523099
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174p.s. и вообще на сервлетах далеко не уедешь,
все равно прийдется осваивать какой-нибудь web-фреймворк
на сколько я знаю сервлеты это основа или я ошибаюсь?

rema174смешивая джава код и разметку далеко не уедешь
нужно применять mvc и узнать что такое jsp
а по конкретнее можете объяснить?(в этом деле я только начал изучить прошла только неделя :))
...
Рейтинг: 0 / 0
insert на сервлете
    #38523140
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на сколько я знаю сервлеты это основа или я ошибаюсь?
основа, но эта технология уже давно переросла в фреймворки, которые могут существенно отличаться от того как это реализовано в сервлетах, хотя в глубине всех этих фреймворков всё те же классы, на которых работают сервлеты

а по конкретнее можете объяснить?(в этом деле я только начал изучить прошла только неделя :))
тогда возьми любую нормальну книгу по сервлетам, там это все есть
...
Рейтинг: 0 / 0
insert на сервлете
    #38523347
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot rema174]основа, но эта технология уже давно переросла в фреймворки, которые могут существенно отличаться от того как это реализовано в сервлетах, хотя в глубине всех этих фреймворков всё те же классы, на которых работают сервлеты

Можете посоветовать хороший фреймворк, и вообще чтоб совместима была с средой JDeveloper желательно :)
тогда возьми любую нормальну книгу по сервлетам, там это все есть
и ХОРОШИХ книг посоветуйте если Вам не трудно
P.S. заранее СПАСИБО!
...
Рейтинг: 0 / 0
insert на сервлете
    #38523354
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар
Код: sql
1.
insert into u values (s_u.nextval, "nik", "pass");

Даже если в вашей таблице всего три поля, пишут:
Код: sql
1.
insert into таблица( колонка1, колонка2, колонка3 ) values( значение1, значение2, значение3 )


Ну и терминатор требуется интерактивной среде, а не SQL-серверу.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523360
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovНу и терминатор требуется интерактивной среде, а не SQL-серверу.
хорошо учту
...
Рейтинг: 0 / 0
insert на сервлете
    #38523479
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Музаффар]rema174пропущено...

Можете посоветовать хороший фреймворк, и вообще чтоб совместима была с средой JDeveloper желательно :)
пропущено...

и ХОРОШИХ книг посоветуйте если Вам не трудно
P.S. заранее СПАСИБО!

тем про фреймворки на форуме чуть более чем полно,
а из книг по сервлетам «Head First Servlets and JSP»
...
Рейтинг: 0 / 0
insert на сервлете
    #38523489
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174а из книг по сервлетам «Head First Servlets and JSP»
а на русском есть? желательно :)
...
Рейтинг: 0 / 0
insert на сервлете
    #38523503
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
возьми элементарное
http://ynni.edu.cn/examples/jsp/index.html
т.к. когда пойдёт ГУИ, там развилка на очень много технологий.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523526
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Музаффарrema174а из книг по сервлетам «Head First Servlets and JSP»
а на русском есть? желательно :)
на русском есть раздел в книге «Java. Промышленное программирование»
...
Рейтинг: 0 / 0
insert на сервлете
    #38523528
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как часто вообще в жизни приходится сервлетами рисовать полновесный html вместо выдачи какого-нибудь json/xml?
...
Рейтинг: 0 / 0
insert на сервлете
    #38523534
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wstА как часто вообще в жизни приходится сервлетами рисовать полновесный html вместо выдачи какого-нибудь json/xml?
wstА как часто вообще в жизни приходится сервлетами рисовать полновесный html вместо выдачи какого-нибудь json/xml?
- как Вместо, если это 3 разных формата?
- сервлетами удобно делать API для запросов по AJAX с клиента.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523535
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wstА как часто вообще в жизни приходится сервлетами рисовать полновесный html вместо выдачи какого-нибудь json/xml?
wstА как часто вообще в жизни приходится сервлетами рисовать полновесный html вместо выдачи какого-нибудь json/xml?
- как Вместо, если это 3 разных формата?
- сервлетами удобно делать API для запросов по AJAX с клиента.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523550
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wst,
...глючит веб...
например...JS по AJAX получаем инфу
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
function onmapfoiMouse_Click(point, foi) {
	try {
		var htmlString = GetInfoPOIDB(foi.attrs[0]);
		mapview.displayInfoWindow(point, htmlString, 220, 100,
				"MVInfoWindowStyle1");
	} catch (e) {
		alert(e.description + " (onmapfoiMouse_Click(point, foi))");
	}
}


htmlString - голимый HTML формат
mapview.displayInfoWindow - компонент от оракла принимает и показывает его в своём окошке над картой.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523558
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Музаффар,
возьми элементарное
http://ynni.edu.cn/examples/jsp/index.html
т.к. когда пойдёт ГУИ, там развилка на очень много технологий.

интересный сайт спасибо :)
...
Рейтинг: 0 / 0
insert на сервлете
    #38523564
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже некорректно спросил. Смысл был как раз про выдачу всей страницы либо выдачу данных для скрипта на странице. В учебном проекте можно прямо из jsp и в базу данных слазить и всю страничку нарисовать, а как оно чаще бывает в жизни:
- jsp/jstl, рисующие страницы целиком
- странички со скриптами дергающими сервлеты-вебсокеты
- смесь того и другого
- или что-то еще?
...
Рейтинг: 0 / 0
insert на сервлете
    #38523568
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wst,
нет золотой пули...
- выше я привёл когда удобно imho
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
insert на сервлете
    #38523577
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wstПохоже некорректно спросил. Смысл был как раз про выдачу всей страницы либо выдачу данных для скрипта на странице. В учебном проекте можно прямо из jsp и в базу данных слазить и всю страничку нарисовать, а как оно чаще бывает в жизни
все таки надо отделить логику от интерфейса или нет?
...
Рейтинг: 0 / 0
insert на сервлете
    #38523591
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это теория, по ней логика отдельно, интерфейс отдельно, данные отдельно, проекты делаются в срок, без ошибок и за копейки. Вопрос был про то как это все оказывается на практике.
...
Рейтинг: 0 / 0
insert на сервлете
    #38523632
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wstЭто теория, по ней логика отдельно, интерфейс отдельно, данные отдельно, проекты делаются в срок, без ошибок и за копейки. Вопрос был про то как это все оказывается на практике.
т.е. лучше все в одном JSP или еще лучше c помощью JSF технологии?
...
Рейтинг: 0 / 0
insert на сервлете
    #38523651
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не "как лучше", а "что скорее можно увидеть в продакшене"? Все таки сильно разные вещи.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / insert на сервлете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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