majoritatea dintre noi știm deja că aplicațiile normale pot fi ușor construite folosind concepte Java de bază. Dar, când vine vorba de dezvoltarea de aplicații web, fundamentele Java avansate, cum ar fi JSP, Servlets, JDBC etc., poate adăuga la capacitățile și caracteristicile aplicației și, prin urmare, sunt esențiale pentru dezvoltatori. Prin intermediul acestui blog pe Advanced Java Tutorial, vă voi oferi o perspectivă completă asupra conceptelor fundamentale ale Advance Java.
-
- Introducere în Java avansată
- JDBC
- ce este JDBC?
- arhitectura JDBC
- pași pentru crearea aplicației JDBC
- tipuri de drivere JDBC & conexiuni
- Java Servlets
- Introducere în Java Servlets
- ciclul de viață Servlet
- pași pentru a crea Servlet
- urmărirea sesiunii în Servlets
- JSP
- Introducere în JSP
- ciclul de viață al JSP
- JSP Scripting elemente
de asemenea, puteți parcurge această înregistrare a tutorialului Java avansat, unde puteți înțelege subiectele într-un mod detaliat cu exemple.
Advance Java Tutorial / J2EE, Java Servlets, JSP, JDBC | formare de certificare Java / Edureka
Tutorial Java Avansat: Introducere în Java avansată
Java avansată este tot ceea ce merge dincolo de Core Java – cel mai important API-urile definite în Java Enterprise Edition, include programare Servlet, servicii Web, API persistența, etc. Este un web & Enterprise application development platform care urmează practic client & arhitectura serverului.
avansat Java Tutorial: nevoie de avans Java
mai jos am enumerat câteva avantaje majore ale avans Java:
- Advance Java adică. JEE (Java Enterprise Edition) vă oferă Biblioteca pentru a înțelege arhitectura Client-Server pentru dezvoltarea de aplicatii Web care Core Java nu are suport.
- J2EE este Independent de platforma, Java Mediu centric pentru dezvoltarea, construirea & implementarea aplicațiilor bazate pe Web on-line. De asemenea, constă dintr-un set de servicii, API-uri și protocoale, care oferă funcționalitatea necesară pentru dezvoltarea aplicațiilor bazate pe web pe mai multe niveluri.
- veți putea lucra cu servere Web și aplicații precum Apache Tomcat, Glassfish etc. și veți înțelege comunicarea prin protocolul HTTP. Dar, în Core Java, nu este posibil.
- există o mulțime de cadre Java avansate, cum ar fi Spring, JSF, Struts etc. ceea ce vă permite să dezvoltați aplicații web bazate pe tranzacții sigure pentru domenii precum comerțul electronic, bancar, juridic, financiar, asistență medicală, inventar etc.
- pentru a lucra și a înțelege tehnologiile fierbinți precum Hadoop și serviciile Cloud, ar trebui să fiți pregătiți cu concepte Java de bază și avansate.
sper că ați înțeles de ce Java avansată este esențială. Pentru o mai bună înțelegere, am împărțit acest articol în trei secțiuni. Fiecare dintre aceste secțiuni tratează unul dintre cele mai importante concepte ale Java avansat:
- JDBC (conectivitate bază de date Java)
- Servleturi Java
- JSP (pagini servlet Java)
Deci, acum să începem discuția noastră și să înțelegem conceptul de conectivitate a bazei de date Java, Un instrument util pentru a interacționa cu baza de date.
Tutorial Java Avansat: Introducere în JDBC
JDBC este un API Java Standard pentru o conectivitate independentă de baze de date între limbajul de programare Java și o gamă largă de baze de date. Această interfață program de aplicație vă permite să codifica declarațiile cerere de acces, în Structured Query Language (SQL). Acestea sunt apoi transmise programului care gestionează baza de date. Aceasta implică în principal deschiderea unei conexiuni, crearea unei baze de date SQL, executarea interogărilor SQL și apoi sosirea la ieșire.
putem folosi JDBC API pentru a accesa datele tabulare stocate în orice bază de date relațională. Cu ajutorul JDBC API, putem salva, actualiza, șterge și prelua date din bazele de date. Este similar cu Open Database Connectivity (ODBC) furnizat de Microsoft.
pentru o mai bună înțelegere a funcționării JDBC, să ne scufundăm mai adânc în subiect și să înțelegem arhitectura care se află în spatele conectivității bazei de date Java.
Tutorial Java avansat: arhitectura JDBC
API-ul JDBC acceptă atât modele de procesare pe două niveluri, cât și pe trei niveluri pentru accesul la baza de date, dar, în general, arhitectura JDBC este formată din două straturi−
- JDBC API: Aceasta oferă conexiunea manager application-to-JDBC.
- JDBC Driver API: aceasta acceptă conexiunea JDBC Manager-la-Driver.
API-ul JDBC utilizează un manager de driver și drivere specifice bazei de date pentru a oferi conectivitate transparentă la baze de date eterogene. Managerul de driver JDBC asigură că driverul corect este utilizat pentru a accesa fiecare sursă de date. Managerul de drivere este capabil să suporte mai multe drivere concurente conectate la mai multe baze de date eterogene.
Tutorial Java avansat: componente JDBC comune
API-ul JDBC oferă următoarele interfețe și clase−
- DriverManager este utilizat pentru a gestiona o listă de drivere de baze de date. Primul driver care recunoaște un anumit subprotocol sub JDBC va fi utilizat pentru a stabili o conexiune la baza de date.
- driverul este o interfață care gestionează comunicațiile cu serverul bazei de date. De asemenea, rezumă detaliile asociate cu lucrul cu obiectele șoferului.
- conexiunea este o interfață care constă în toate metodele necesare pentru conectarea la o bază de date. Obiectul conexiune reprezintă contextul de comunicare, adică, toate de comunicare cu baza de date este prin obiect conexiune numai.
acum să trecem la următorul subiect și să analizăm pașii necesari pentru a crea o aplicație JDBC.
Tutorial Java avansat: pași pentru a crea aplicația JDBC
pentru a crea aplicația JDBC, trebuie să urmăm câțiva pași. Să vedem ce sunt.
- importați pachetele: trebuie să includeți pachetele care conțin clasele JDBC necesare pentru programarea bazei de date. Cel mai adesea, folosind import java.sql.* va fi suficient.
- înregistrați driverul JDBC: aici trebuie să inițializați un driver astfel încât să puteți deschide un canal de comunicare cu baza de date.
- deschideți o conexiune: aici, puteți utiliza metoda getConnection() pentru a crea un obiect de conexiune, care reprezintă o conexiune fizică cu baza de date.
- executați o interogare: necesită utilizarea unei instrucțiuni obiect de tip pentru construirea și trimiterea unei instrucțiuni SQL la baza de date.
- extrageți date din setul de rezultate: necesită utilizarea metodei getXXX() corespunzătoare pentru a prelua datele din setul de rezultate.
- curățați mediul: necesită închiderea explicită a tuturor resurselor bazei de date față de bazarea pe colectarea gunoiului JVM.
acum, după cum ați văzut diferiți pași implicați pentru a crea o aplicație JDBC, să vedem un exemplu de cod pentru a crea o bază de date și a stabili o conexiune.
package Edureka;import java.sql.*;import java.sql.DriverManager;public class Example {// JDBC driver name and database URLstatic final String JDBC_DRIVER = "com.mysql.jdbc.Driver";static final String DB_URL = "jdbc:mysql://localhost/emp";// Database credentialsstatic final String USER = "root";static final String PASS = "";public static void main(String args) {Connection conn = null;Statement stmt = null;try{//STEP 2: Register JDBC driverClass.forName("com.mysql.cj.jdbc.Driver");//STEP 3: Open a connectionSystem.out.println("Connecting to database...");conn = DriverManager.getConnection(DB_URL,"root","");//STEP 4: Execute a querySystem.out.println("Creating statement...");stmt = conn.createStatement();String sql;sql = "SELECT id, first, last, age FROM Employees";ResultSet rs = stmt.executeQuery(sql);//STEP 5: Extract data from result setwhile(rs.next()){//Retrieve by column nameint id = rs.getInt("id");int age = rs.getInt("age");String first = rs.getString("first");String last = rs.getString("last");//Display valuesSystem.out.print("ID: " + id);System.out.print(", Age: " + age);System.out.print(", First: " + first);System.out.println(", Last: " + last);}//STEP 6: Clean-up environmentrs.close();stmt.close();conn.close();}catch(SQLException se){//Handle errors for JDBCse.printStackTrace();}catch(Exception e){//Handle errors for Class.forNamee.printStackTrace();}finally{//finally block used to close resourcestry{if(stmt!=null)stmt.close()}catch(SQLException se2){}// nothing can be donetry{if(conn!=null)conn.close();}catch(SQLException se){se.printStackTrace();}//end finally try}//end trySystem.out.println("Goodbye!");}//end main} // end Example
codul de mai sus creează un tabel în baza de date localhost. Pentru a insera valorile în baza de date creată, puteți consulta codul de mai jos. Voi scrie codul doar pentru pasul 4. Restul codului rămâne același ca mai sus.
//STEP 4: Execute a querySystem.out.println("Creating table in given database...");stmt = conn.createStatement();String sql = "CREATE TABLE EMPLOYEES " +"(id INTEGER not NULL, " +" first VARCHAR(255), " +" last VARCHAR(255), " +" age INTEGER, " +" PRIMARY KEY ( id ))";stmt.executeUpdate(sql);System.out.println("Created table in given database...");System.out.println("Inserting records into the table...");stmt =conn.createStatement();String sql ="INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18)";stmt.executeUpdate(sql);sql = "INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees (102, 'Taylor', 'Swift', 30)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees VALUES(103, 'Linkin', 'Park', 28)";stmt.executeUpdate(sql);System.out.println("Inserted records into the table...");
deci, acesta este modul în care puteți stabili o conexiune la baza de date și puteți insera valori în tabele. Acum să mergem mai departe și să înțelegem diferite tipuri de drivere JDBC
Tutorial Java Avansat: Tipuri de drivere JDBC
driverele JDBC implementează interfețele definite în API-ul JDBC, pentru interacțiunea cu serverul bazei de date. În esență, un driver JDBC face posibilă realizarea a trei lucruri:
1. Stabiliți o conexiune cu o sursă de date.
2. Trimiteți interogări și instrucțiuni de actualizare la sursa de date.
3. Procesați rezultatele.
de exemplu, utilizarea driverelor JDBC vă permite să deschideți o conexiune de bază de date pentru a interacționa cu aceasta trimițând comenzi SQL sau baze de date.
există 4 tipuri de drivere, și anume:
tip 1: JDBC-ODBC Bridge Diver
în driverul de tip 1, un JDBC bridge accesează driverele ODBC instalate pe fiecare mașină client. Mai mult, ODBC configurează numele sursei de date (DSN) care reprezintă baza de date țintă.
când Java a ieșit pentru prima dată, acesta a fost un driver util, deoarece majoritatea bazelor de date au acceptat doar accesul ODBC, dar acum acest tip de driver este recomandat doar pentru utilizare experimentală sau când nu este disponibilă altă alternativă.
tipul 2: JDBC-API nativ
într-un driver de tip 2, apelurile API JDBC sunt convertite în apeluri API native C/C++, care sunt unice pentru baza de date. Aceste drivere sunt de obicei furnizate de furnizorii de baze de date și utilizate în același mod ca podul JDBC-ODBC. Driverul specific furnizorului trebuie instalat pe fiecare mașină client.
driverul Oracle Call Interface (OCI) este un exemplu de driver de tip 2.
Type 3: JDBC-Net pure Java
într-un driver de tip 3, o abordare pe trei niveluri este utilizată pentru a accesa bazele de date. Clienții JDBC folosesc prize de rețea standard pentru a comunica cu un server de aplicații middleware. Informațiile socket este apoi tradus de serverul de aplicații middleware în formatul de apel cerute de SGBD și transmise la serverul de baze de date.
acest tip de driver este extrem de flexibil, deoarece nu necesită cod instalat pe client și un singur driver poate oferi de fapt acces la mai multe baze de date. Vă puteți gândi la serverul de aplicații ca la un „proxy” JDBC, ceea ce înseamnă că face apeluri pentru aplicația client. Ca rezultat, aveți nevoie de cunoștințe despre configurația serverului de aplicații pentru a utiliza eficient acest tip de driver. Serverul de aplicații poate utiliza un tip 1, 2 sau 4 drivere pentru a comunica cu baza de date.
Tip 4: 100% pur Java
într-un driver de tip 4, un driver pur bazat pe Java comunică direct cu baza de date a furnizorului printr-o conexiune socket. Acesta este cel mai mare driver de performanță disponibil pentru baza de date și este de obicei furnizat chiar de furnizor.
acest tip de driver este extrem de flexibil, nu trebuie să instalați software special pe client sau server. Mai mult, aceste drivere pot fi descărcate dinamic.
driverul conector/J MySQL este un driver de tip 4. Datorită naturii proprietare a protocoalelor lor de rețea, furnizorii de baze de date furnizează de obicei drivere de tip 4.
Abonați-vă la canalul nostru youtube pentru a obține noi actualizări..!
Deci, aici vine întrebarea, Care șofer ar trebui folosit?
- dacă accesați un tip de bază de date, cum ar fi Oracle, Sybase sau IBM, tipul de driver preferat este 4.
- dacă aplicația Java accesează mai multe tipuri de baze de date în același timp, tipul 3 este driverul preferat.
- driverele de tip 2 sunt utile în situațiile în care un driver de tip 3 sau de tip 4 nu este încă disponibil pentru baza dvs. de date.
- driverul de tip 1 nu este considerat un driver la nivel de implementare și este de obicei utilizat numai în scopuri de dezvoltare și testare.
acum, să trecem la ultimul subiect al JDBC și să înțelegem diferite tipuri de conexiuni.
Tutorial Java avansat: conexiuni JDBC
- Import pachete JDBC: adăugați declarații de import la Programul Java pentru a importa clasele necesare în codul Java.
- înregistrați driverul JDBC: acest pas determină JVM să încarce implementarea driverului dorit în memorie, astfel încât să poată îndeplini solicitările dvs. Există 2 abordări pentru înregistrarea unui șofer.
- cea mai comună abordare pentru înregistrarea unui driver este utilizarea metodei forName()a Java pentru a încărca dinamic fișierul clasei driverului în memorie, care îl înregistrează automat. Această metodă este preferabilă deoarece vă permite să faceți înregistrarea driverului configurabilă și portabilă. Consultați codul de mai jos.
try {Class.forName("oracle.jdbc.driver.OracleDriver");}catch(ClassNotFoundException ex) {System.out.println("Error: unable to load driver class!");System.exit(1);}
- a doua abordare pe care o puteți utiliza pentru a înregistra un driver este utilizarea metodei static registerDriver ().
try { Driver myDriver = new oracle.jdbc.driver.OracleDriver(); DriverManager.registerDriver( myDriver ); }catch(ClassNotFoundException ex){ System.out.println("Error: unable to load driver class!");System.exit(1);}
- cea mai comună abordare pentru înregistrarea unui driver este utilizarea metodei forName()a Java pentru a încărca dinamic fișierul clasei driverului în memorie, care îl înregistrează automat. Această metodă este preferabilă deoarece vă permite să faceți înregistrarea driverului configurabilă și portabilă. Consultați codul de mai jos.
ar trebui să utilizați metoda registerDriver() dacă utilizați un JVM non-JDK compatibil, cum ar fi cel furnizat de Microsoft.
- formularea URL-ului bazei de date: aceasta este pentru a crea o adresă corect formatată care indică baza de date la care doriți să vă conectați. După ce ați încărcat driverul, puteți stabili o conexiune utilizând DriverManager.getConnection () metodă. DriverManager.getConnection () metodele sunt−
- getConnection (String url)
- getConnection (String url, Properties prop)
- getConnection (String url, string user, String password)
aici fiecare formular necesită o adresă URL a bazei de date. O adresă URL a bazei de date este o adresă care indică baza de date.
A table lists down the popular JDBC driver names and database URL.
RDBMS | JDBC Driver Name | URL |
1. MYSQL | com.mysql.jdbc.Driver | jdbc:mysql://hostname/ databaseName |
2. Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname:port Number:databaseName |
3. Sybase | com.Sybase.jdbc.SybDriver | jdbc:sybase:Tds:hostname: numărul portului/numele bazei de date |
- crearea unui obiect de conexiune
puteți pur și simplu să creați sau să deschideți o conexiune utilizând adresa URL a bazei de date, numele de utilizator și parola și, de asemenea, utilizând obiectul proprietăți. Un obiect proprietăți deține un set de perechi de cuvinte cheie-valoare. Este folosit pentru a transmite proprietățile driverului șoferului în timpul unui apel către metoda getConnection ().
- Close
la sfârșitul programului JDBC, trebuie să închidem toate conexiunile bazei de date pentru a încheia fiecare sesiune de baze de date. Cu toate acestea, dacă uitați, colectorul de gunoi Java va închide conexiunea atunci când curăță obiecte învechite.
conn.close();// Used to close the connection
asta a fost totul despre conectivitatea bazei de date Java. Dacă doriți să aflați mai multe despre JDBC, puteți consulta aceste întrebări de interviu. Acum mergeți mai departe și învățați Servleturi.
Tutorial Java avansat: Introducere în Servleturi
un servlet este o clasă de limbaj de programare Java care este utilizată pentru a extinde capacitățile serverelor care găzduiesc aplicații accesate prin intermediul unui model de programare cerere-răspuns. Deși servleturile pot răspunde la orice tip de solicitare, acestea sunt utilizate în mod obișnuit pentru a extinde aplicațiile găzduite de serverele web.
servletul poate fi descris după cum urmează:
-
- Servlet este o tehnologie care este utilizată pentru a crea o aplicație web.
- este un API care oferă multe interfețe și clase, inclusiv documentația.
- Servlet este o interfață care trebuie implementată pentru crearea oricărui Servlet.
- este, de asemenea, o clasă care extinde capacitățile serverelor și răspunde solicitărilor primite. Poate răspunde la orice solicitare.
- Servlet este o tehnologie care este utilizată pentru a crea o aplicație web.
Tutorial Java avansat: ciclul de viață Servlet
întregul ciclu de viață al unui Servlet este gestionat de containerul Servlet care utilizează javax.servlet.Interfață Servlet pentru a înțelege obiectul Servlet și a-l gestiona.
etapele ciclului de viață al servletului: ciclul de viață al servletului trece în principal prin patru etape,
- încărcarea unui Servlet.
- inițializarea servletului.
- manipularea solicitării
- distrugerea servletului.
să ne uităm la fiecare dintre aceste etape în detalii:
- încărcarea unui Servlet: prima etapă a ciclului de viață al servletului implică încărcarea și inițializarea servletului de către containerul Servlet. Containerul web sau containerul Servlet poate încărca servletul la oricare dintre următoarele două etape :
- inițializarea contextului, la configurarea servletului cu o valoare întreagă zero sau pozitivă.
- dacă servletul nu precede etapa, poate întârzia procesul de încărcare până când containerul web determină că acest Servlet este necesar pentru a deservi o solicitare.
- inițializarea unui Servlet: după ce servletul este instanțiat cu succes, containerul Servlet inițializează obiectul servlet instantiat. Containerul inițializează obiectul Servlet invocând metoda init (ServletConfig) care acceptă Referința obiectului ServletConfig ca parametru.
- solicitare de manipulare: După inițializare, instanța Servlet este gata să servească cererile clientului. Containerul Servlet efectuează următoarele operații când instanța Servlet este localizată pentru a deservi o solicitare:
- creează ServletRequest și ServletResponse. În acest caz, dacă aceasta este o cerere HTTP, atunci containerul web creează obiecte HttpServletRequest și HttpServletResponse care sunt subtipuri ale obiectelor ServletRequest și ServletResponse respectiv.
- distrugerea unui Servlet: Când un container Servlet decide să distrugă Servlet-ul, acesta efectuează următoarele operații,
- permite tuturor firelor care rulează în prezent în metoda de service a instanței Servlet să-și finalizeze lucrările și să fie eliberate.
- după ce firele care rulează în prezent și-au finalizat lucrările, containerul Servlet apelează metoda destroy() pe instanța Servlet.
după ce metoda destroy () este executată, containerul Servlet eliberează toate referințele acestei instanțe Servlet astfel încât să devină eligibil pentru colectarea gunoiului.
acum că ați înțeles elementele de bază ale unui servlet, să mergem mai departe și să înțelegem care sunt pașii implicați pentru a crea o aplicație Servlet.
Tutorial Java avansat: pași pentru a crea Servlet
- creați o structură de directoare
- creați un Servlet
- compilați Servlet
- adăugați mapări la web.fișier xml
- Porniți serverul și implementați proiectul
- accesați servletul
acum, pe baza pașilor de mai sus, să scriem un program și să înțelegem cum funcționează servletul.
Pasul 1: Pentru a rula un program servlet, ar trebui să avem Apache tomcat server instalat și configurat. Odată ce serverul este configurat, puteți începe cu programul.
Pasul 2: pentru un program servlet, aveți nevoie de 3 fișiere – index.fișier html, fișier de clasă Java și web.fișier xml. Primul pas este să creați un proiect web dinamic și apoi să continuați mai departe
Pasul 3: acum să vedem cum să adăugați 2 numere folosind servleturi și să afișați ieșirea în browser.
în primul rând, voi scrie index.fișier html
<!DOCTYPE html><html><body><form action ="add"> Enter 1st number: <input type="text" name="num1"> Enter 2nd number: <input type="text" name="num2"><input type ="submit"> </form></body></html>
programul de mai sus creează un formular pentru a introduce numerele pentru operația de adăugare.
Pasul 4: Acum, Fără fișierul de clasă Java, nu puteți efectua adăugarea pe 2 numere. Deci, să scriem un fișier de clasă.
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Add extends HttpServlet{ public void service(HttpServletRequest req, HttpServletResponse res) throws IOException { int i = Integer.parseInt(req.getParameter("num1")); int j = Integer.parseInt(req.getParameter("num2"); int k= i+j; PrintWriter out = res.getWriter(); out.println("Result is"+k); }}
Pasul 5: după scrierea fișierului clasei Java, ultimul pas este să adăugați mapări pe web.fișier xml. Să vedem cum se face asta.
Pasul 6: web.fișierul xml va fi prezent în folderul WEB-INF al conținutului dvs. web. Dacă nu este prezent, atunci puteți face clic pe Descriptor de implementare și faceți clic pe Generare Descriptor de implementare Stub.
Pasul 7: după aceea, puteți continua și adăuga mapările la acesta.
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=<"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"</em> version=<em>"3.0"</em>> <display-name>Basic</display-name> <servlet> <servlet-name>Addition</servlet-name> <servlet-class>edureka.Add</servlet-class> </servlet> <servlet-mapping> <servlet-name>Addition</servlet-name> <url-pattern>/add</url-pattern></servlet-mapping><welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list></web-app>
Pasul 8: După toate acestea, puteți rula programul pornind serverul. Veți obține ieșirea dorită în browser.
practic, acesta este modul în care servlet ar trebui să fie configurat. Acum să mergem mai departe și să înțelegem conceptul de urmărire a sesiunilor.
urmărirea sesiunii
sesiunea înseamnă pur și simplu un anumit interval de timp. Și urmărirea sesiunii este o modalitate de a menține starea (datele) unui utilizator. Este, de asemenea, cunoscut sub numele de managementul sesiunii în servlet. Știm că protocolul Http este apatrid, așa că trebuie să menținem starea folosind tehnici de urmărire a sesiunii. De fiecare dată când utilizatorul solicită serverul, serverul tratează cererea ca noua cerere. Deci, trebuie să menținem starea unui utilizator pentru a recunoaște un anumit utilizator.
puteți vedea în figură când trimiteți o solicitare, aceasta este considerată o nouă solicitare.
în scopul de a recunoaște utilizatorul special, avem nevoie de urmărire sesiune. Deci, acest lucru a fost totul despre Servlets.
acum, să ne scufundăm în ultima secțiune a blogului nostru și să înțelegem ce este JSP.
Tutorial Java Avansat: Java Server Pages
JSP sau Java Server Pages este o tehnologie care este utilizată pentru a crea aplicații web la fel ca tehnologia Servlet. Este o extensie la Servlet – deoarece oferă mai multe funcționalități decât servlet, cum ar fi limbajul expression, JSTL etc. O pagină JSP este format din Tag-uri HTML și tag-uri JSP. Paginile JSP sunt mai ușor de întreținut decât Servlet, deoarece putem separa proiectarea și dezvoltarea. Oferă câteva caracteristici suplimentare, cum ar fi limbajul expresiei, etichetele personalizate etc.
acum să vedem diferite caracteristici ale JSP cu ajutorul figura de mai jos.
- portabil: tag-uri JSP va procesa și executa de container web partea de server, astfel încât acestea sunt browser independent și J2EE server independent.
- puternic: JSP constă din bytecode, astfel încât toate caracteristicile Java să fie aplicabile în cazul JSP, cum ar fi robust, dinamic, sigur, independent de platformă.
- flexibil: acesta permite definirea tag-uri personalizate, astfel încât dezvoltatorul poate umple conferrable de a utiliza orice fel, tag-uri de marcare bazate pe cadru în JSP.
- Dezvoltare Rapidă: Dacă pagina JSP este modificat, nu avem nevoie pentru a recompila și redistribui proiectul. Codul Servlet trebuie actualizat și recompilat dacă trebuie să schimbăm aspectul aplicației.
- urmărirea utilizatorului: JSP ne permite să urmărim selecțiile făcute de utilizator în timpul interacțiunii utilizatorului cu site-ul web prin menținerea informațiilor din sesiune sau cookie-uri
- ușor: JSP este ușor de învățat, ușor de înțeles și ușor de dezvoltat. JSP-urile sunt mai convenabile de scris decât servleturile, deoarece vă permit să încorporați codul Java direct în paginile dvs.
acum, că ați înțeles ce este JSP, să vedem cum JSP și Servlets diferă unele de altele și de ce JSP este mai bun decât Servlets cu ajutorul tabelul de mai jos.
JSP | Servleturi |
extensie la Servlet | nu este o extensie la servlet |
ușor de întreținut | pic complicat |
nu este nevoie să recompilați sau să redistribuiți | codul trebuie recompilat |
mai puțin cod decât un servlet | mai mult cod în comparație cu JSP |
acum, să săpăm mai adânc în paginile serverului Java și să înțelegem ciclul de viață al JSP.
Tutorial Java Avansat: Ciclul de viață al JSP
paginile JSP urmează aceste faze:
- traducerea paginii JSP
- compilarea paginii JSP
- Classloading (încărcătorul de clase încarcă fișierul clasei)
- instanțiere (obiectul servletului generat este creat)
- inițializare ( containerul invocă jspInit())
- procesare cerere ( containerul invocă _jspservice())
- distruge ( containerul invocă Jspdestroy())
așa cum este descris în diagrama de mai sus, o pagină JSP este tradusă în Servlet cu ajutorul JSP translator. Și apoi, JSP translator este o parte a serverului web care este responsabil pentru traducerea paginii JSP în Servlet. După aceea, pagina Servlet este compilat de compilator și devine convertit în fișierul de clasă. Mai mult, toate procesele care se întâmplă în Servlet sunt efectuate pe JSP mai târziu, cum ar fi inițializarea, comiterea răspunsului la browser și distrugerea.
Advanced Java Tutorial: JSP Scripting Elements:
elementele de scripting oferă posibilitatea de a insera codul java în interiorul JSP. Există trei tipuri de elemente de scripting:
- scriptlet tag – un tag scriptlet este folosit pentru a executa codul sursă Java în JSP.
sintaxa este: < % codul sursă java%> - etichetă de Expresie-codul plasat în eticheta de Expresie JSP este scris în fluxul de ieșire al răspunsului. Deci, nu trebuie să scrieți.print() pentru a scrie date. Este utilizat în principal pentru a imprima valorile variabilei sau metodei.
sintaxă: < % = declarație %> - etichetă de declarație – eticheta de declarație JSP este utilizată pentru a declara câmpuri și metode. Codul scris în interiorul etichetei de declarație JSP este plasat în afara metodei service () a unui servlet generat automat. Deci nu primește memorie la fiecare cerere.
sintaxă: <%! declarație de câmp sau metodă %>
dacă doriți să aflați mai multe despre JSP, puteți consulta aceste întrebări de interviu.
acest lucru ne aduce la sfârșitul blogului nostru pe Tutorial Java avansat. Sper că ați găsit acest blog informativ și valoare adăugată cunoștințelor dvs.
consultați instruirea de certificare Java de către Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de cursanți mulțumiți răspândiți pe tot globul. Cursul de instruire și certificare Java J2EE și SOA al Edureka este conceput pentru studenții și profesioniștii care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.