Articoli

JSP con accesso SQL, Come gestire l’accesso a un DB sql in una Java Server Page

Qualora fosse necessario accedere a un RDBMS, con Java Server Page è possibile. In questo post andremo a vedere come accedere a un database SQL con JSP. Prima di iniziare con pagine JSP con accesso SQL, assicurati di avere una corretta configurazione dell’ambiente JDBC insieme a un database SQL.

Operazione SELECT

L’esempio seguente mostra come eseguire l’ istruzione SQL SELECT utilizzando JTSL nella programmazione JSP con accesso SQL. Consideriamo di utilizzare il driver ODBC di mysql

<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
 
<html>
   <head>
      <title>SELECT Operation in JSP PAGE</title>
   </head>

   <body>
      <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://localhost/Sqlfromjsp"
         user = "root"  password = "pwd"/>
 
      <sql:query dataSource = "${snapshot}" var = "result">
         SELECT * from Countries;
      </sql:query>
 
      <table border = "1" width = "100%">
         <tr>
            <th>Contry ID</th>
            <th>Name</th>
            <th>Capital Town</th>
            <th>NumbResidents</th>
         </tr>
         
         <c:forEach var = "row" items = "${result.rows}">
            <tr>
               <td><c:out value = "${row.id}"/></td>
               <td><c:out value = "${row.name}"/></td>
               <td><c:out value = "${row.capital}"/></td>
               <td><c:out value = "${row.numbresidents}"/></td>
            </tr>
         </c:forEach>
      </table>
 
   </body>
</html>

La query implementata in questa pagina JSP con accesso SQL ci consente di leggere dalla tabella “Countries” l’elenco delle Nazioni con la capitale e gli abitanti della capitale.

Operazione INSERT

L’esempio seguente mostra come eseguire l’istruzione SQL INSERT utilizzando utilizzando JTSL nella programmazione JSP. Consideriamo di utilizzare il driver ODBC di mysql

<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
 
<html>
   <head>
      <title>JINSERT Operation in JSP PAGE</title>
   </head>
   
   <body>
      <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://localhost/Sqlfromjsp"
         user = "root"  password = "pwd"/>
         <sql:update dataSource = "${snapshot}" var = "result">
         INSERT INTO Countries VALUES (99, 'Italy', 'Rome', 2873000);
      </sql:update>
 
      <sql:query dataSource = "${snapshot}" var = "result">
         SELECT * from Countries;
      </sql:query>
 
      <table border = "1" width = "100%">
         <tr>
            <th>Contry ID</th>
            <th>Name</th>
            <th>Capital Town</th>
            <th>NumbResidents</th>
         </tr>
         
         <c:forEach var = "row" items = "${result.rows}">
            <tr>
               <td><c:out value = "${row.id}"/></td>
               <td><c:out value = "${row.name}"/></td>
               <td><c:out value = "${row.capital}"/></td>
               <td><c:out value = "${row.numbresidents}"/></td>
            </tr>
         </c:forEach>
      </table>
 
   </body>
</html>

In questo esempio viene inserito un nuovo record con Country “Italy”, Capital “Rome” e numero di abitanti. Successivamente viene fatta una query dove si potrà vedere la nuova riga inserita.

Operazione DELETE

L’esempio seguente mostra come eseguire l’ istruzione SQL DELETE utilizzando JTSL nella programmazione JSP. Consideriamo di utilizzare il driver ODBC di mysql

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
 
<html>
   <head>
      <title>DELETE Operation in JSP PAGE</title>
   </head>
   
   <body>
      <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://localhost/Sqlfromjsp"
         user = "root"  password = "pwd"/>
 
      <c:set var = "countryId" value = "99"/>
 
      <sql:update dataSource = "${snapshot}" var = "count">
         DELETE FROM Countries WHERE Id = ?
         <sql:param value = "${countryId}" />
      </sql:update>
 
      <sql:query dataSource = "${snapshot}" var = "result">
         SELECT * from Countries;
      </sql:query>
 
      <table border = "1" width = "100%">
         <tr>
            <th>Contry ID</th>
            <th>Name</th>
            <th>Capital Town</th>
            <th>NumbResidents</th>
         </tr>
         
         <c:forEach var = "row" items = "${result.rows}">
            <tr>
               <td><c:out value = "${row.id}"/></td>
               <td><c:out value = "${row.name}"/></td>
               <td><c:out value = "${row.capital}"/></td>
               <td><c:out value = "${row.numbresidents}"/></td>
            </tr>
         </c:forEach>
      </table>
 
   </body>
</html>

In questo esempio viene cancellato un record nella tabella Country, e in particolare “Italy”, Capital “Rome” e numero di abitanti. Successivamente viene fatta una query dove si potrà vedere che la riga è stata cancellata.

Operazione UPDATE

L’esempio seguente mostra come eseguire l’ istruzione SQL UPDATE utilizzando JTSL nella programmazione JSP. Consideriamo di utilizzare il driver ODBC di mysql

<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
 
<html>
   <head>
      <title>UPDATE Operation in JSP PAGE</title>
   </head>
   
   <body>
      <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://localhost/TEST"
         user = "root" password = "pass123"/>
 
      <c:set var = "countryId" value = "98"/>
 
      <sql:update dataSource = "${snapshot}" var = "count">
         UPDATE Countries SET capital = 'Rome' WHERE Id = ?
         <sql:param value = "${countryId}" />
      </sql:update>
 
      <sql:query dataSource = "${snapshot}" var = "result">
         SELECT * from Countries;
      </sql:query>
 
      <table border = "1" width = "100%">
         <tr>
            <th>Contry ID</th>
            <th>Name</th>
            <th>Capital Town</th>
            <th>NumbResidents</th>
         </tr>
         
         <c:forEach var = "row" items = "${result.rows}">
            <tr>
               <td><c:out value = "${row.id}"/></td>
               <td><c:out value = "${row.name}"/></td>
               <td><c:out value = "${row.capital}"/></td>
               <td><c:out value = "${row.numbresidents}"/></td>
            </tr>
         </c:forEach>
      </table>
 
   </body>
</html>

In questo esempio viene modificato un record nella tabella Country, e in particolare la riga con ID=99 viene impostato il campo Capital con il valore “Rome”. Successivamente viene fatta una query dove si potrà vedere che la riga è stata modificata.


Ercole Palmeri

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Articoli recenti

Come usare le visualizzazioni e il layout in PowerPoint

Microsoft PowerPoint fornisce diversi tipi di strumenti per rendere le presentazioni fruibili, interattive e adatte a diversi scopi. Gli strumenti…

20 Maggio 2024

Apprendimento automatico: confronto tra Random Forest e albero decisionale

Nel mondo del machine learning, sia gli algoritmi random forest che decision tree svolgono un ruolo fondamentale nella categorizzazione e…

17 Maggio 2024

Come migliorare le presentazioni Power Point, consigli utili

Esistono molti suggerimenti e trucchi per fare ottime presentazioni. L'obiettivo di queste regola è di migliorare l'efficacia, la scorrevolezza di…

16 Maggio 2024

È ancora la velocità la leva nello sviluppo dei prodotti, secondo il report di Protolabs

Pubblicato il rapporto "Protolabs Product Development Outlook". Esamina le modalità in cui oggi vengono portati i nuovi prodotti sul mercato.…

16 Maggio 2024

I quattro pilastri della Sostenibilità

Il termine sostenibilità è oramai molto usato per indicare programmi, iniziative e azioni finalizzate alla preservazione di una particolare risorsa.…

15 Maggio 2024

Come consolidare i dati in Excel

Una qualsiasi operazione aziendale produce moltissimi dati, anche in forme diverse. Inserire manualmente questi dati da un foglio Excel a…

14 Maggio 2024

Analisi trimestrale Cisco Talos: mail aziendali nel mirino dei criminali Manifatturiero, Istruzione e Sanità i settori più colpiti

La compromissione delle mail aziendali sono aumentate nei primi tre mesi del 2024 più del doppio rispetto all’ultimo trimestre del…

14 Maggio 2024

Principio di segregazione dell’interfaccia (ISP), quarto principio S.O.L.I.D.

Il principio di segregazione dell'interfaccia è uno dei cinque principi SOLID della progettazione orientata agli oggetti. Una classe dovrebbe avere…

14 Maggio 2024

Leggi Innovazione nella tua Lingua

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Seguici