Diposting oleh poster asli: 17-06-2008 15:26:20
lJBS
1. Sebutkan 10 kelebihan bahasa JAVA
a: Gratis, sumber terbuka, lintas platform (kemandirian platform), mudah digunakan, fungsi lengkap, berorientasi objek, kuat, multi-utas, struktur netral, platform matang untuk aplikasi perusahaan, aplikasi nirkabel
2. Sebutkan 10 istilah pemrograman berorientasi objek di JAVA
a: paket, kelas, antarmuka, objek, atribut, metode, konstruktor, pewarisan, enkapsulasi, polimorfisme, abstraksi, paradigma
3. Sebutkan 6 paket yang umum digunakan di JAVA
Java.lang;java.util;java.io;java.sql;java.awt;java.net;java.applet;javax.swing
4. Apa fungsi dan ciri-ciri identifier pada JAVA? Fungsi : Identifier digunakan untuk memberi nama pada variabel, kelas dan metode. Ciri-ciri : Selain diawali dengan huruf, karakter garis bawah "_" dan "$" juga dapat diikuti dengan karakter "$". huruf, Garis bawahi karakter atau angka "_" dan "$".
Java peka terhadap huruf besar-kecil, dan pengidentifikasi tidak terkecuali
5.Apa karakteristik kata kunci di JAVA? Cantumkan minimal 20 kata kunci
Beberapa kata dalam bahasa Jawa yang diberi arti tertentu dan digunakan untuk tujuan khusus disebut kata kunci
Semua kata kunci Java menggunakan huruf kecil, TURE, FALSE, NULL, dll. Bukan kata kunci Java;
goto dan const, meskipun tidak pernah digunakan, dicadangkan sebagai kata kunci Java;
Ada total 51 kata kunci Java di •
abstrak menegaskan boolean break byte lanjutkan
case catch char kelas const double
default do extends else final float
untuk waktu yang lama jika mengimplementasikan impor
antarmuka int instanceof null baru yang asli
paket pengembalian publik yang dilindungi swasta pendek
saklar super strictfp statis menyinkronkan ini
sementara void throw melempar percobaan sementara
tidak stabil
6.Bagaimana tipe data diklasifikasikan dalam JAVA?
Dapat dibagi menjadi tipe data sederhana dan tipe data referensi:
Tipe data sederhana: tipe numerik (byte, short, int, long, float double), tipe karakter (char), tipe Boolean (boolean);
Tipe data referensi: kelas, antarmuka, array.
7. Klasifikasi dan contoh operator di JAVA
'Pemisah:,,;,[],()
•
•
•
& #8226; Operator bit: &, |, ^, ~, >>, < <, >>>
•
& #8226;
& #8226;
8.Fungsi dan penggunaan kata kunci super dan ini
• Gunakan super di kelas Java untuk merujuk ke komponen kelas induk
– Dapat digunakan untuk mengakses atribut super yang ditentukan di kelas induk
– Dapat digunakan untuk memanggil metode anggota yang super ditentukan di kelas induk
– Dapat digunakan untuk memanggil konstruktor kelas super super di konstruktor subkelas
– Ketertelusuran tidak terbatas pada kelas induk langsung super
Untuk memecahkan masalah konflik penamaan dan ketidakpastian variabel, kata kunci "ini" diperkenalkan untuk mewakili objek saat ini dari metode di mana variabel tersebut berada. Jawa
– Konstruktor mengacu pada objek baru yang dibuat oleh konstruktor
– Metode mengacu pada objek yang memanggil metode tersebut
•
– Referensi variabel instan dan metode kelas dalam metode atau konstruktor kelas itu sendiri
– Meneruskan objek saat ini sebagai parameter ke metode atau konstruktor lain
– Digunakan untuk memanggil konstruktor kelebihan beban lainnya
9. Apa yang dimaksud dengan ekspresi di JAVA? Apa fungsinya?
• Ekspresi adalah kombinasi operator dan operan, dan merupakan komponen kunci dari bahasa pemrograman apa pun
• Ekspresi memungkinkan programmer untuk melakukan perhitungan matematis, perbandingan nilai, operasi logika dan manipulasi objek di Java.
•
-X
– X+10
– Y=x+10
–Arr[10]
– pelajar.geName()
10. Buatlah tabel yang mencantumkan semua pengubah di JAVA dan cakupan penerapannya (dapatkah mereka memodifikasi konstruktor, properti, blok bebas, dll.)
pembuat metode atribut kelas blok bebas kelas dalam
publik YYY Y Y
dilindungi YY Y Y
(Bawaan) YYYYYY
pribadi YY Y Y
terakhir YY Y Y
abstrak Y Y Y
statis Y YY
11. Tulis metode untuk mencetak tabel perkalian menggunakan perulangan for
/**
*Perulangan for mencetak tabel perkalian
*/
publicvoid sembilanSembilanMultiTable()
{
untuk (int i = 1,j = 1; j <= 9; i++) {
Sistem.keluar.cetak(i+"*"+j+"="+i*j+" ");
jika(saya==j)
{
saya=0;
j++;
Sistem.keluar.println();
}
}
}
12. Diberikan objek java.util.Date, cara mengubahnya menjadi string dalam format "22-3-2007 20:23:22"
/**
*Ubah tanggal menjadi string dalam format tetap
*@paramdate
*@returnstr
*/
String publik dateToStr(java.util.Tanggal tanggal)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(tanggal);
kembalikan str;
}
13. Tuliskan metode yang dapat menentukan apakah suatu bilangan bulat adalah bilangan prima.
/**
* Tentukan apakah suatu bilangan bulat adalah bilangan prima
*@paramn
*@returnboolean
*/
publicboolean isPrimes(int n)
{
for (int i = 2; i <= Math.sqrt(n); i++) {
jika(n%i==0)
{
kembali salah;
}
}
kembali benar;
}
14. Tulis metode yang memasukkan bilangan bulat apa pun dan mengembalikan faktorialnya
/**
*Dapatkan faktorial dari bilangan bulat apa pun
*@paramn
*@kembali !
*/
faktorial publicint (int n)
{
//rekursi
jika(n==1)
{
kembali 1;
}
return n*faktorial(n-1);
//non-rekursif
// int multi = 1;
// untuk (int i = 2; i <= n; i++) {
// multi*=saya;
// }
// mengembalikan banyak;
}
15. Tulis metode yang menggunakan pencarian biner untuk menentukan apakah ada bilangan bulat dalam larik bilangan bulat. Jika ada, kembalikan posisi indeksnya dalam larik.
/**
*Pencarian biner untuk posisi bilangan bulat tertentu dalam array bilangan bulat (rekursif)
*@paramdataset
*@paramdata
*@parambeginIndex
*@paramendIndex
*@returnindex
*/
publicint binerSearch(int[] kumpulan data,int data,int startIndex,int endIndex)
{
int midIndex = (beginIndex+endIndex)/2;
if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1;
if(data <kumpulan data[indeks tengah])
{
kembalikan binerSearch(kumpulan data,data,beginIndex,midIndex-1);
}elseif(data>kumpulan data[indeks tengah])
{
kembalikan binerSearch(kumpulan data,data,midIndex+1,endIndex);
}kalau tidak
{
kembali pertengahan Indeks;
}
}
/**
*Pencarian biner untuk posisi bilangan bulat tertentu dalam array bilangan bulat (non-rekursif)
*@paramdataset
*@paramdata
*@returnindex
*/
publicint binerSearch(int[] kumpulan data,int data)
{
int mulaiIndeks = 0;
int endIndex = kumpulan data.panjang - 1;
int indeks tengah = -1;
if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1;
while(beginIndex <= endIndex) {
midIndex = (beginIndex+endIndex)/2;
if(data <kumpulan data[indeks tengah]) {
endIndex = pertengahanIndex-1;
} elseif(data>kumpulan data[indeks tengah]) {
startIndex = indeks tengah+1;
}kalau tidak
{
kembali pertengahan Indeks;
}
}
kembali -1;
}
16. Contoh seorang peternak yang memberikan makanan kepada hewan mencerminkan pemikiran berorientasi objek di JAVA dan kegunaan antarmuka (kelas abstrak)
paket com.softeem.demo;
/**
*@penulisleno
* Antarmuka hewan
*/
antarmuka Hewan
{
publikbatalkan makan(Makanan makanan);
}
/**
*@penulisleno
*jenis binatang: kucing
*/
kelas Cat mengimplementasikan Animal
{
publikvoid makan(Makanan makanan)
{
System.out.println("Anak kucing makan"+makanan.getName());
}
}
/**
*@penulisleno
*jenis binatang: anjing
*/
kelas Anjing mengimplementasikan Hewan
{
publikvoid makan(Makanan makanan)
{
System.out.println("Anak Anjing Mengunyah"+makanan.getName());
}
}
/**
*@penulisleno
*Kelas abstrak makanan
*/
kelas abstrakMakanan
{
nama String yang dilindungi;
String publik getName() {
nama kembali;
}
publicvoid setName(Nama string) {
ini.nama = nama;
}
}
/**
*@penulisleno
*Kelompok makanan: ikan
*/
kelas Ikan memperluas Makanan
{
Ikan publik(Nama string) {
ini.nama = nama;
}
}
/**
*@penulisleno
*Kelompok makanan: tulang
*/
kelas Bone memperluas Makanan
{
Tulang publik(Nama string) {
ini.nama = nama;
}
}
/**
*@penulisleno
*Kategori peternak
*
*/
pengumpan kelas
{
/**
*Peternak memberikan jenis makanan tertentu kepada jenis hewan tertentu
*@paramanimal
*@paramfood
*/
pakan publicvoid(Hewan hewan,Makanan makanan)
{
hewan.makan(makanan);
}
}
/**
*@penulisleno
*Uji peternak yang memberi makanan pada hewan
*/
Pengumpan Tes kelas publik {
publicstaticvoid main(String[] args) {
Pengumpan pengumpan=Pengumpan baru();
Hewan hewan=Anjing baru();
Makanan makanan=Tulang baru("tulang daging");
feeder.feed(animal,food); //Memberi makan tulang daging ke anjing
hewan=Kucing baru();
makanan=Ikan baru("ikan");
feeder.feed(animal,food); //Memberi makan ikan ke kucing
}
}
18. Buat kelas mode tunggal dan hanya memuat file properti satu kali
paket com.softeem.demo;
impor java.io.FileInputStream;
impor java.io.FileNotFoundException;
impor java.io.IOException;
impor java.io.InputStream;
impor java.util.Properti;
/**
*@penulisleno
*Mode tunggal, memastikan bahwa file properti konfigurasi hanya dimuat satu kali selama keseluruhan aplikasi
*/
kelas publik Singleton {
contoh Privatestatic Singleton;
privatestaticfinal String CONFIG_FILE_PATH = "E:\config.properties";
konfigurasi Properti pribadi;
pribadi Singleton()
{
config = Properti baru();
Aliran Masukan adalah;
mencoba {
adalah = FileInputStream baru(CONFIG_FILE_PATH);
config.load(adalah);
adalah.close();
} tangkapan (FileNotFoundException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
} tangkapan (IOException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
getInstance Singleton publikstatis()
{
jika(contoh==null)
{
contoh = new Singleton();
}
contoh kembali;
}
Properti publik getConfig() {
konfigurasi kembali;
}
publicvoid setConfig(Konfigurasi properti) {
ini.config = konfigurasi;
}
}
aku J2SE
19. Salin direktori (file) ke jalur yang ditentukan
/**
*Salin direktori atau file ke jalur yang ditentukan
*@paramsource
*@paramtarget
*/
salinan publicvoid (Sumber file, Target file)
{
File tarpath = File baru(target,source.getName());
if(sumber.isDirectory())
{
tarpath.mkdir();
File[] dir = source.listFiles();
for (int i = 0; i < dir.length; i++) {
salin(dir[i],tarpath);
}
}kalau tidak
{
mencoba {
InputStream adalah = FileInputStream baru(sumber);
OutputStream os = FileOutputStream baru(tarpath);
byte[] buf = byte baru[1024];
int len = 0;
while((len = is.read(buf))!=-1)
{
os.write(buf,0,len);
}
adalah.close();
os.close();
} tangkapan (FileNotFoundException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
} tangkapan (IOException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
}
20. Contoh masalah penarikan bank menggunakan multi-threading di JAVA
packagecom.softeem.demo;
/**
*@penulisleno
*Jenis akun
*Ada saldo secara default dan Anda dapat menarik uang
*/
kelas Akun {
saldofloat pribadi = 1000;
publicfloat getBalance() {
saldo kembali;
}
publicvoid setBalance(saldo mengambang) {
this.saldo = saldo;
}
/**
*Metode penarikan perlu disinkronkan
*@parammoney
*/
penarikan batal yang disinkronkan secara publik (uang mengambang)
{
if(saldo>=uang)
{
System.out.println("Diambil"+uang+"Yuan!");
mencoba {
Thread.tidur(1000);
} tangkapan (InterruptedException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
saldo-=uang;
}
kalau tidak
{
System.out.println("Maaf, saldo tidak mencukupi!");
}
}
}
/**
*@penulisleno
*kartu bank
*/
kelas TestAccount1 memperluas Thread {
akun Akun pribadi;
TestAccount1 publik(Akun akun) {
this.account = akun;
}
@Mengesampingkan
menjalankan publicvoid() {
akun.penarikan(800);
System.out.println("Saldonya adalah:"+akun.getBalance()+"Yuan!");
}
}
/**
*@penulisleno
*Buku Tabungan
*/
kelas TestAccount2 memperluas Thread {
akun Akun pribadi;
TestAccount2 publik(Akun akun) {
this.account = akun;
}
@Mengesampingkan
menjalankan publicvoid() {
akun.penarikan(700);
System.out.println("Saldonya adalah:"+akun.getBalance()+"Yuan!");
}
}
Tes kelas publik
{
publicstaticvoid main(String[] args) {
Akun akun = Akun baru();
TestAccount1 testAccount1 = TestAccount1 baru(akun);
tesAkun1.mulai();
TestAccount2 testAccount2 = TestAccount2 baru(akun);
tesAkun2.mulai();
}
}
21. Gunakan multi-threading di JAVA untuk contoh masalah penjualan tiket stasiun kereta
paket com.softeem.demo;
/**
*@penulisleno
*Penjualan tiket
*/
kelas SaleTicket mengimplementasikan Runnable {
tiket masuk = 100;
menjalankan publicvoid() {
while (tiket > 0) {
penjualan();
//Atau implementasikan seperti ini
// disinkronkan (ini) {
// if (tiket > 0) {
// System.out.println(Thread.currentThread().getName() + "Jual yang pertama"
//+(100 - tiket +1)+"tiket");
// tiket--;
// }
// }
}
}
penjualan yang disinkronkan secara publik() {
jika (tiket > 0) {
System.out.println(Thread.currentThread().getName() + "Jual dulu"
+ (100 - tiket + 1) + "tiket");
tiket--;
}
}
}
kelas publik TestSaleTicket {
publicstaticvoid main(String[] args) {
SaleTicket st = SaleTicket baru();
Thread baru(st, "Jendela No. 1").start();
Thread baru(st, "Jendela No. 2").start();
Thread baru(st, "Jendela No. 3").start();
Thread baru(st, "Jendela No. 4").start();
}
}
22. Contoh permasalahan produsen dan konsumen yang menggunakan multi-threading di JAVA
paket com.softeem.demo;
kelas Produser mengimplementasikan Runnable
{
tumpukan SyncStack pribadi;
Produser publik (tumpukan SyncStack) {
this.stack = tumpukan;
}
menjalankan publicvoid() {
untuk (int i = 0; i < stack.getProducts().length; i++) {
String produk = "produk"+i;
tumpukan.push(produk);
System.out.println("Diproduksi: "+produk);
mencoba
{
Thread.tidur(200);
}
menangkap(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
kelas Konsumen mengimplementasikan Runnable
{
tumpukan SyncStack pribadi;
Konsumen publik (tumpukan SyncStack) {
this.stack = tumpukan;
}
menjalankan publicvoid() {
for(int i=0;i <stack.getProducts().panjang;i++)
{
Produk string =stack.pop();
System.out.println("Dikonsumsi: "+produk);
mencoba
{
Thread.tidur(1000);
}
menangkap(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
kelas SyncStack
{
pribadi String[] produk = String baru[10];
indeks pribadi;
publicsynchronizedvoid push (produk string)
{
if(indeks==produk.panjang())
{
mencoba {
Tunggu();
} tangkapan (InterruptedException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
memberitahu();
produk[indeks]=produk;
indeks++;
}
String pop yang disinkronkan secara publik()
{
jika(indeks==0)
{
mencoba {
Tunggu();
} tangkapan (InterruptedException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
memberitahu();
indeks--;
String produk = produk[indeks];
pengembalian produk;
}
String publik[] getProduk() {
pengembalian produk;
}
}
kelas publik TestProducerConsumer {
publicstaticvoid main(String[] args) {
Tumpukan SyncStack=SyncStack baru();
Produser p=Produser baru(tumpukan);
Konsumen c=Konsumen baru(tumpukan);
Utas baru(p).mulai();
Utas baru(c).mulai();
}
}
23. Pemrograman untuk merealisasikan transmisi objek Student (sno, sname) yang berseri pada jaringan
paket com.softeem.demo;
impor java.io.IOException;
impor java.io.ObjectInputStream;
impor java.io.ObjectOutputStream;
import java.io.Serializable;
impor java.net.ServerSocket;
impor java.net.Socket;
kelas Siswa mengimplementasikan Serializable {
int pribadi;
nama String pribadi;
Siswa publik(int sno, String sname) {
ini.sno = sno;
this.sname = nama;
}
publik int getSno() {
kembalikan salju;
}
kekosongan publik setSno(int sno) {
ini.sno = sno;
}
String publik getNama() {
kembalikan nama;
}
public void setSname(String sname) {
this.sname = nama;
}
@Mengesampingkan
String publik keString() {
return "Nomor Siswa:" + sno + ";Nama:" + nama;
}
}
kelas Klien Saya memperluas Thread {
@Mengesampingkan
menjalankan kekosongan publik() {
mencoba {
Soket s = Soket baru("localhost", 9999);
ObjectInputStream ois = ObjectInputStream baru(s.getInputStream());
Siswa stu = (Siswa) ois.readObject();
System.out.println("Program klien menerima objek siswa yang ditransfer dari program server >> " + stu);
ois.close();
s.close();
} tangkapan (IOException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
} tangkapan (ClassNotFoundException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
}
kelas MyServer memperluas Thread {
@Mengesampingkan
menjalankan kekosongan publik() {
mencoba {
ServerSocket ss = ServerSocket baru(9999);
Soket s = ss.accept();
Operasi ObjectOutputStream = new ObjectOutputStream(s.getOutputStream());
Siswa stu = Siswa baru(1, "Zhao Benshan");
ops.writeObject(stu);
ops.close();
s.close();
ss.tutup();
} tangkapan (IOException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
}
}
TesTransfer kelas publik {
public static void main(String[] args) {
Server Saya baru().start();
Klien Saya baru().mulai();
}
}
aku JDBC
24. Gunakan komponen dom4j untuk mengurai file berformat XML berikut:
<?xml versi="1.0" pengkodean="UTF-8"?>
<generator>
<nama tabel="login" operasi="1">
<nama kolom="nama pengguna" handle="0">aaa </kolom>
<nama kolom="kata sandi" handle="0">123 </kolom>
</tabel>
<nama tabel="login" operasi="2">
<nama kolom="id" handle="1">1 </kolom>
<kolom nama="nama pengguna" handle="0">bbb </kolom>
<nama kolom="kata sandi" handle="0">444 </kolom>
</tabel>
<nama tabel="login" operasi="3">
<nama kolom="id" handle="1">4 </kolom>
</tabel>
</generator>
Aturan: <tabel>operasi 1 penyisipan tabel, pembaruan tabel 2, penghapusan tabel 3.
<column>handle 1 tabel digunakan sebagai kondisi dimana, 0 tabel digunakan sebagai field operasi.
Persyaratan: Hasilkan tiga pernyataan SQL sesuai aturan! (Artinya, buat metode untuk mengurai file xml untuk menghasilkan string yang berisi tiga pernyataan SQL)
/**
*Parsing file XML untuk menghasilkan string yang berisi pernyataan SQL yang dapat dieksekusi
*@paramxmlNamaFile
*@returnSQL
*/
String publik parseXmltoSQL(String xmlNamaFile) {
StringBuffer sbsql = StringBuffer baru();
Pembaca SAXReader = SAXReader baru();
mencoba {
Dokumen dokumen = reader.read(File baru(xmlFileName));
Elemen elemen = document.getRootElement();
Iterator it = elemen.elementIterator("tabel");
while (itu.hasNext()) {
elemen = (Elemen) it.next();
//Dapatkan operasi di atas meja
String oper = elemen.attributeValue("operasi");
//Dapatkan nama tabel
String tableName = elemen.attributeValue("nama");
if ("1".sama dengan(oper)) {
sbsql.append("masukkan ke dalam ").append(namatabel);
Iterator it2 = elemen.elementIterator("kolom");
String nama kolom1 = null;
String kolomNilai1 = null;
String nama kolom2 = null;
String kolomNilai2 = null;
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName1 = elemen.attributeValue("nama");
kolomValue1 = elemen.getText();
}
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName2 = elemen.attributeValue("nama");
kolomValue2 = elemen.getText();
}
sbsql.append("("+columnName1+","+columnName2+")"+" value('"+columnValue1+"','"+columnValue2+"')n");
} elseif ("2".sama dengan(oper)) {
sbsql.append("perbarui").append(namatabel);
Iterator it2 = elemen.elementIterator("kolom");
String nama kolom1 = null;
String kolomNilai1 = null;
String nama kolom2 = null;
String kolomNilai2 = null;
String nama kolom3 = null;
String kolomNilai3 = null;
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName1 = elemen.attributeValue("nama");
kolomValue1 = elemen.getText();
}
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName2 = elemen.attributeValue("nama");
kolomValue2 = elemen.getText();
}
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName3 = elemen.attributeValue("nama");
kolomValue3 = elemen.getText();
}
sbsql.append(" set "+columnName2+"='"+columnValue2+"',"+columnName3+"='"+columnValue3+"' di mana "+columnName1+"="+columnValue1+"n");
}elseif ("3".sama dengan(oper)) {
sbsql.append("hapus dari ").append(namatabel);
Iterator it2 = elemen.elementIterator("kolom");
String nama kolom1 = null;
String kolomNilai1 = null;
jika (it2.hasNext()) {
elemen = (Elemen) it2.next();
ColumnName1 = elemen.attributeValue("nama");
kolomValue1 = elemen.getText();
}
sbsql.append(" di mana "+namakolom1+"="+nilaikolom1);
}
}
} tangkapan (DocumentException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}
kembalikan sbsql.toString();
}
lJSP/SERVLET
25. Tuliskan objek bawaan JSP dan jelaskan fungsinya
request:request mewakili objek HttpServletRequest. Ini berisi informasi tentang permintaan browser dan menyediakan beberapa metode berguna untuk mendapatkan data cookie dan header. respon:response mewakili objek HttpServletResponse dan menyediakan beberapa metode untuk mengatur respons yang dikirim kembali ke browser (seperti cookie, informasi header, dll.) objek out:out adalah turunan dari javax.jsp.JspWriter dan menyediakan beberapa Metode yang Anda dapat digunakan untuk mengirim output kembali ke browser. pageContext: pageContext mewakili objek javax.servlet.jsp.PageContext. Ini adalah API yang digunakan untuk memfasilitasi akses ke berbagai cakupan namespace dan objek terkait servlet, dan membungkus metode fungsi umum terkait servlet. session:session mewakili objek javax.servlet.http.HttpSession yang diminta. Sesi dapat menyimpan informasi status pengguna application:applicaton mewakili objek javax.servle.ServletContext. Ini membantu dalam menemukan informasi tentang mesin servlet dan lingkungan servlet config:config mewakili objek javax.servlet.ServletConfig. Objek ini digunakan untuk mengakses parameter inisialisasi instance servlet. page:page mewakili instance servlet yang dihasilkan dari halaman ini.
pengecualian: Objek pengecualian adalah objek pengecualian. Ketika pengecualian terjadi selama menjalankan halaman, objek ini dihasilkan. Jika halaman JSP ingin menggunakan objek ini, ia harus menyetel isErrorPage ke true, jika tidak, maka tidak dapat dikompilasi. Ini sebenarnya adalah mitra dari java.lang.Throwable