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

Articoli correlati
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

Amazon lancia nuovi corsi di formazione gratuiti sull’intelligenza artificiale generativa

L'iniziativa "AI Ready" di Amazon, offre lezioni online per sviluppatori e altri professionisti tecnici, nonché per studenti delle scuole superiori…

29 Novembre 2023

Cos’è l’intelligenza artificiale generativa: come funziona, vantaggi e pericoli

L’intelligenza artificiale generativa è l’argomento di discussione tecnologico più caldo del 2023. Cos’è l’intelligenza artificiale generativa, come funziona e di…

28 Novembre 2023

Rainbow, la soluzione di telefonia e collaborazione basata su cloud di Alcatel-Lucent Enterprise, ottiene la prestigiosa certificazione CSPN da ANSSI

Alcatel-Lucent Enterprise è orgogliosa di annunciare che la sua piattaforma di collaborazione, Rainbow™ by Alcatel-Lucent Enterprise ha ottenuto la Certificazione…

28 Novembre 2023

BYD arriva a quota 6 milioni di veicoli a nuova energia prodotti

BYD ha centrato un risultato storico: sei milioni di veicoli a nuova energia usciti dalla catena di montaggio dello stabilimento…

28 Novembre 2023

Veracode rivoluziona la sicurezza cloud-native con un duo dinamico: DAST Essentials e Veracode GitHub App

Il leader della sicurezza nell'ambito dei software intelligenti presenta una difesa unificata contro le minacce dalla programmazione al cloud in…

28 Novembre 2023

Il software di finanza autonoma di HighRadius riceve il sesto brevetto IA per la funzionalità di acquisizione di dati da documenti

HighRadius ha creato oltre 25 brevetti registrati e in corso di registrazione; quello più recente è stato concesso per modelli…

28 Novembre 2023

Reply si aggiudica due AWS Partner Awards 2023: System Integrator Partner of the Year EMEA e Energy and Utilities Partner of the Year Global

Reply è stata premiata come System Integration Partner of the Year EMEA e Industry Partner of the Year Energy and…

28 Novembre 2023

Dialogare con Luigi Einaudi oggi è possibile, grazie all’intelligenza artificiale

Fondazione Einaudi, Fondazione Compagnia di San Paolo e Reply insieme per rendere l’eredità culturale di Luigi Einaudi accessibile a tutti.…

28 Novembre 2023

bp sceglie AssetWise Lifecycle Information Management e AssetWise Reliability come standard per la gestione delle informazioni e l’integrità degli asset

Per un approccio a livello aziendale alla gestione delle informazioni sugli asset in parallelo con la gestione dell'integrità strutturale e…

27 Novembre 2023

Innovazioni basate sull’intelligenza artificiale all’#RSNA23 che consentono agli operatori sanitari di concentrarsi sulla cura dei pazienti

Le nuove innovazioni aiutano gli ospedali e i sistemi sanitari a fornire costantemente ai pazienti cure accessibili e di alta…

26 Novembre 2023