2016-06-15 1 views
-1

Я попытался написать ниже код, где в двух соединениях БД открываются и закрываются, так что будет ли проблема с точки зрения проблемы с МНОГИМ СОЕДИНЕНИЕМ? Я не получаю никаких ошибок, но просто хотел подтвердить, есть ли какие-либо проблемы в нижнем коде.JSP - Можем ли мы открыть два соединителя DB на одном JSP, закрыв каждый

<% 
         Class.forName("com.mysql.jdbc.Driver"); 
         connection = DriverManager.getConnection(connectionURL, username, password); 
         statement = connection.createStatement(); 
         try { 
          rs1 = statement.executeQuery("SELECT QUERY"); 
       if (rs1.next()) { 
           try { 

            PreparedStatement ps1 = DriverManager.getConnection(connectionURL, username, password).prepareStatement("UPDATE QUERY); 
            ps1.execute(); 
            ps1.close(); 

           } catch (Exception e) { 
            out.println(e); 
           } 
          } else { 
           rs1 = statement.executeQuery("SELECT QUERY"); 

       if (rs1.next()) { 

          CONDITION..... 

      } 
       } 
      rs1.close(); 
         } 
        } 


         finally { 
       if (!connection.isClosed() && connection != null) { 
          connection.close(); 
         } 
        } 

       %> 

       Some HTML CODE.....HERE 


       <% 
         Class.forName("com.mysql.jdbc.Driver"); 
         connection = DriverManager.getConnection(connectionURL, username, password); 
         statement = connection.createStatement(); 
         try { 
          rs1 = statement.executeQuery("SELECT QUERY"); 
       if (rs1.next()) { 
           try { 

            PreparedStatement ps1 = DriverManager.getConnection(connectionURL, username, password).prepareStatement("UPDATE QUERY); 
            ps1.execute(); 
            ps1.close(); 

           } catch (Exception e) { 
            out.println(e); 
           } 
          } else { 
           rs1 = statement.executeQuery("SELECT QUERY"); 

       if (rs1.next()) { 

          CONDITION..... 

      } 
       } 
      rs1.close(); 
         } 
        } 


         finally { 
       if (!connection.isClosed() && connection != null) { 
          connection.close(); 
         } 
        } 

       %> 
+0

никогда, никогда не управляйте своей БД соединение в JSP: - ((( – JimHawkins

+0

Как мне это сделать, через пул соединений? .. – arjunhitachi

+0

см. ответ от @Sagar Kadu ... вам нужно узнать некоторые основы о шаблоне MVC, JSP, обработке DB ... – JimHawkins

ответ

1

Прежде всего логика обработки базы данных в JSP плохая практика ... Избегайте скриптлетов столько, сколько possible..Also вы можете столкнуться с проблемами, параллелизм как JSP-х по умолчанию не являются поточно safe..I бы написать DAO для обработки логики базы данных, которая вернет соответствующие данные для контроллера действий. Контроллер установит эти данные в виде атрибутов запроса/сеанса, которые вы можете переслать JSP в вопрос.

Смежные вопросы