1. Ikhtisar
Dalam aplikasi Web, pembuatan beberapa laporan mungkin memerlukan waktu lama untuk dihitung oleh database; beberapa situs web menyediakan informasi cuaca, yang memerlukan akses ke server jarak jauh untuk membuat panggilan SOAP guna memperoleh informasi suhu. Semua ini adalah contoh informasi yang kompleks. Menambahkan terlalu banyak informasi kompleks ke halaman Web dapat menyebabkan server Web dan server database kelebihan beban. jsp (pilihan pertama untuk aplikasi tingkat perusahaan SUN) (pilihan pertama untuk aplikasi tingkat perusahaan SUN) buffering blok kode memberi pengembang kebebasan untuk menambahkan berbagai informasi kompleks sesuka hati.
jsp (pilihan pertama untuk aplikasi tingkat perusahaan SUN) (pilihan pertama untuk aplikasi tingkat perusahaan SUN) dapat merangkum dan menjalankan kode Java yang kompleks di perpustakaan tag, yang menjadikan jsp (pilihan pertama untuk aplikasi tingkat perusahaan SUN) (pilihan pertama untuk aplikasi tingkat perusahaan SUN) halaman File lebih mudah dipelihara, sehingga lebih nyaman bagi pengembang non-profesional untuk menggunakan jsp (pilihan pertama untuk aplikasi tingkat perusahaan SUN) (pilihan pertama untuk SUN perusahaan- aplikasi tingkat) file halaman. Sudah ada banyak perpustakaan tag, baik produk komersial maupun produk sumber terbuka. Namun sebagian besar produk ini hanya menggunakan pustaka tag untuk mengimplementasikan fungsi yang dapat diimplementasikan dengan Java Scriptlet sederhana. Beberapa produk menggunakan tag khusus dengan cara yang kreatif untuk menyediakan jsp (aplikasi tingkat perusahaan SUN) Pilihan pertama) (pilihan pertama untuk Aplikasi tingkat perusahaan SUN) pustaka tag khusus hampir mustahil dicapai sebelumnya.
Pustaka tag OSCache dirancang oleh OpenSymphony. Ini adalah aplikasi tag kustom jsp (pilihan pertama aplikasi tingkat perusahaan SUN) (pilihan pertama aplikasi tingkat perusahaan SUN) yang inovatif yang menyediakan kemampuan untuk menggunakan jsp yang ada (aplikasi tingkat perusahaan SUN yang pertama). choice)( Pilihan pertama untuk aplikasi tingkat perusahaan SUN) mewujudkan fungsi buffering memori cepat di dalam halaman. Meskipun ada beberapa vendor yang menawarkan produk caching dalam berbagai bentuk, semuanya merupakan produk khusus vendor. OSCache dapat berjalan di jsp apa pun (pilihan pertama aplikasi tingkat perusahaan SUN) (pilihan pertama aplikasi tingkat perusahaan SUN) 1.1 server yang kompatibel. OSCache tidak hanya dapat menyimpan cache jsp yang ada (pilihan pertama aplikasi tingkat perusahaan SUN) (aplikasi tingkat perusahaan SUN ) untuk semua pengguna. Blok kode pilihan pertama untuk aplikasi), dan dapat di-buffer berdasarkan per pengguna. OSCache juga menyertakan beberapa fitur lanjutan untuk meningkatkan skalabilitas, seperti buffering ke disk, buffer flushing yang dapat diprogram, kontrol pengecualian, dll. Selain itu, seperti produk OpenSymphony lainnya, kode OSCache didistribusikan secara bebas di bawah lisensi sumber terbuka.
Artikel ini mengambil contoh proses desain situs lelang imajiner untuk memperkenalkan proses kerja OSCache. Situs Web imajiner ini akan mencakup: halaman manajemen yang melaporkan aktivitas lelang terkini; halaman beranda yang berfungsi penuh dengan berbagai informasi promosi; dan bilah navigasi khusus yang berisi informasi tentang semua aktivitas lelang pengguna yang belum diselesaikan.
2. Halaman manajemen
Situs lelang berisi laporan manajemen, dan server database memerlukan beberapa detik untuk membuat laporan tersebut. Penting agar laporan membutuhkan waktu lama untuk dibuat, karena kami mungkin memiliki banyak administrator yang memantau pengoperasian sistem, dan kami ingin menghindari pembuatan ulang laporan setiap kali administrator berkunjung. Untuk mencapai hal ini, kami akan merangkum seluruh halaman ke dalam tag buffer tingkat aplikasi yang disegarkan setiap jam. Beberapa produk dari vendor lain mempunyai fungsi serupa, hanya saja OSCache melakukannya lebih baik dari mereka.
Demi kesederhanaan, kami tidak akan terlalu fokus pada masalah pemformatan. Saat menulis halaman manajemen, pertama-tama kita menambahkan deklarasi perpustakaan tag ke halaman:
<%@ taglib uri="cachetags" prefix="cache" %>
Selanjutnya kita harus mengelilingi seluruh halaman dengan tag cache. Waktu cache default untuk tag cache adalah 1 jam.
<cache:cache> .... Laporan manajemen yang kompleks.... </cache:cache>
Halaman manajemen kini telah di-cache. Jika administrator mengakses halaman yang sama lagi dalam waktu satu jam setelah halaman dibuat, dia akan melihat halaman yang di-cache sebelumnya, dan server database tidak perlu membuat laporan ini lagi.
3. Halaman Beranda
Halaman beranda situs lelang menampilkan aktivitas situs web dan mempromosikan lelang yang akan segera berakhir. Kami ingin menampilkan jumlah lelang yang sedang berlangsung, jumlah pengguna yang login saat ini, daftar lelang yang akan berakhir dalam waktu dekat, dan waktu saat ini. Pesan-pesan ini memiliki persyaratan akurasi waktu yang berbeda. Lelang di website biasanya berlangsung selama beberapa hari, jadi kita bisa mengatur waktu buffer jumlah lelang yang valid menjadi 6 jam. Jumlah pengguna jelas akan lebih sering berubah, tapi di sini kita akan buffer nilai ini selama 15 menit setiap kalinya. Terakhir, kami ingin waktu saat ini yang ditampilkan pada halaman selalu sama dengan waktu saat halaman diakses.
Setelah mendeklarasikan perpustakaan tag di halaman beranda, pertama-tama kita langsung menampilkan tanggal saat ini tanpa buffering:
sekarang menjadi: <%=new java.util.Date()%>
Selanjutnya, kita ingin menampilkan daftar tanggal yang akan dilelang yang berakhir dalam jangka pendek:
<cache:cache> <ul> <% // Buatlah Iterator yang berisi lelang terbaru Iterator Auctions = .... while (auctions.hasMore()) { Auction Auction = (Auction) Auctions .next(); %><li><%=lelang%></li%< } %> </ul> </cache:cache>