использование сервлета для добавления значений в базу данных - PullRequest
0 голосов
/ 28 июня 2011

Я новичок в использовании сервлетов, поэтому, пожалуйста, прости мое невежество. Я разработал класс, который вставляет значения в таблицу в БД, и я хотел бы использовать метод InsertValue в сервлете, чтобы значения, введенные в форму, были вставлены непосредственно в таблицу.

Если это как-то помогает, вот код метода InsertValue:

public class InsetValue {
{

try {
    Statement stmt; 
    Connectionx cx = new Connectionx();
    Connection con= cx.Connexion("com.mysql.jdbc.Driver","jdbc:mysql://localhost/jiradb4.3","root","root");        
    stmt = (Statement) con.createStatement();

    int ID = 10200;
    String s = new String("PAYROLL");
    String url = new String("");
    String lead = new String ("amira.jouida");
    String desc = new String ("projet payroll");
    String key = new String ("PROLL");
    int pcount = 0;
    int asstype = 2;
    int avatar = 10011;

    stmt.executeUpdate("INSERT INTO project " +" VALUES ('"+ ID +"','"+ s +"','"+ url +"','"+ lead +"','"+ desc +"','"+ key +"','"+ pcount +"','"+ asstype +"','"+ avatar +"');");
    stmt.close();

    System.out.println ("Done");
         }
        catch (SQLException ex) {

          }    

   }
}

Это прекрасно работает для меня. Я перечитал некоторые документы о servlets, но мне все еще интересно, как решить эту проблему.

Спасибо за вашу помощь. Привет

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

В вашем коде SQL-инъекция .Вы должны использовать Подготовленные заявления.

1 голос
/ 28 июня 2011

Ваш сервлет будет обеспечивать функции doGet и doPost.

Оба имеют параметры 'request' и 'response'.

Позвоните вашему сервлету через браузер и вызовите «doGet». Для создания страницы напишите в ответ HTML-код.

response.getWriter().print(SOME HTML);

Эта страница должна содержать форму с полями (например, "привести"). Кнопка отправки формы может снова вызвать сервлет. Если метод отправки POST, вызывается doPost.

Вы можете получить значения формы по имени поля:

String lead = request.getParameter("lead");

И теперь вы готовы выполнить подготовленный оператор ... базовый материал!

0 голосов
/ 28 июня 2011

Что такое Connectionx?

Если вы разрабатываете веб-приложение и развертываете его на веб-сервере, вам следует использовать пул соединений, предоставляемый сервером.

...