Jawaban atas masalah yang mungkin Anda temui di JSP
1. Bagaimana cara menggabungkan Jsp dan SSI #include?
HTML murni dapat dimasukkan dalam JSP sebagai berikut:
< !--#termasuk file="data.inc"-- >
Namun jika data.inc berisi KODE JSP, kita dapat menggunakan:
< <A href=" mailto:%@include">%@include</A > file="data.inc"% > </P>
2. Bagaimana cara menjalankan JSP yang aman untuk thread?
Cukup tambahkan perintah berikut
< %@ halaman isThreadSafe="false" % > </P>
3. Bagaimana JSP memproses data dalam FORMULIR HTML?
Cukup gunakan objek permintaan bawaan, sebagai berikut:
<%
String item = permintaan.getParameter("item");
int howMany = Integer baru(request.getParameter("unit")).intvalue();
% ></P>
4. Bagaimana cara memasukkan file statis di JSP?
Penyertaan statis adalah sebagai berikut: < %@ include file="copyright.html" % >
Penyertaan dinamis adalah sebagai berikut: < jsp:include page="copyright.html" flush="true"/ > </P>
5. Bagaimana cara menggunakan komentar di JSP?
Ada empat metode utama:
1. < %-- dan --% >
2. //
3. /**Dan**/
4. < !--dan-- > </P>
6. Bagaimana cara melakukan pengalihan penelusuran di JSP?
Gunakan metode berikut: respon.sendRedirect(" <A href=" http://ybwen.home.chinaren.com/index.html">http://ybwen.home.chinaren.com/index.html</ A >");
Anda juga dapat mengubah atribut HTTP HEADER secara fisik, sebagai berikut:
<%
respon.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn="/newpath/index.html";
respon.setHeader("Lokasi",newLocn);
% ></P>
7. Bagaimana mencegah output di JSP atau SERVLET disimpan di CACHE oleh BROWSER?
Cukup tambahkan skrip berikut ke awal file JSP:
<%
respon.setHeader("Kontrol Cache","tidak ada penyimpanan"); //HTTP 1.1
respon.setHeader("Pragma","tanpa cache"); //HTTP 1.0
respon.setDateHeader("Kedaluwarsa", 0); //mencegah cache di server proxy
% ></P>
8. Bagaimana cara mengatur COOKIE di JSP?
COOKIE dikirim sebagai bagian dari HTTP HEADER dan dapat diatur sebagai berikut:
<%
Cookie mycookie = Cookie baru("aName","avalue");
respon.addCookie(cookie saya);
% ></P>
9. Bagaimana cara menghapus COOKIE di JSP?
<%
Cookie killMyCookie = Cookie baru("cookie saya", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/");
respon.addCookie(killMyCookie);
% ></P>
10. Cara menghentikan eksekusi JSP pada saat pemrosesan request JSP adalah sebagai berikut:
<%
jika (permintaan.getParameter("wen") != null) {
//melakukan sesuatu
} kalau tidak {
kembali;
}
% ></P>
11. Cara mendefinisikan metode di JSP Anda dapat mendefinisikan metode, tetapi Anda tidak dapat mengakses objek bawaan JSP secara langsung, tetapi meneruskannya melalui metode parameter. sebagai berikut:
<%!
string publik howBadFrom(permintaan HttpServletRequest) {
HttpSession ses = req.getSession();
...
kembalikan req.getRemoteHost();
}
%>
<%
out.print("secara umum,lao lee bukanlah orang jahat");
%>
< %= bagaimanaBadFrom(permintaan) % > </P>
12. Jika BROWSER telah mematikan COOKIES, bagaimana cara membuka SESSION di JSP untuk melacak dan menggunakan penulisan ulang URL, sebagai berikut:
halo1.jsp
< %@ halaman sesi="benar" % >
<%
Bilangan bulat = Bilangan bulat baru(100);
session.putvalue("angka",angka);
String url =response.encodeURL("hello2.jsp");
%>
< a href=< %=url% > >hello2.jsp< /a > </P>
halo2.jsp
< %@ halaman sesi="benar" % >
<%
Bilangan bulat i= (Bilangan Bulat )sesi.getvalue("angka");
out.println("Nilai angka dalam sesi adalah "+i.intvalue());
% ></P>
13. Bisakah EMAIL dikirim dalam JSP? Anda dapat menggunakan paket khusus SUN: paket sun.net.smtp. Skrip berikut menggunakan kelas SmtpClient untuk mengirim EMAIL.
< %@ halaman import="sun.net.smtp.SmtpClient, java.io.*" % >
<%
String dari=" <A href=" mailto:[email protected]">[email protected]</A >";
String ke=" <A href=" mailto:[email protected]">[email protected]</A >, <A href=" mailto:[email protected]">[email protected]. cn</A >";
mencoba{
Klien SmtpClient = SmtpClient baru("mail.xxxx.xxx");
klien.dari(dari);
klien.ke(ke);
Pesan PrintStream = klien.startMessage();
pesan.println("Kepada: "+ke);
message.println("Subjek: Mengirim email dari JSP!");
message.println("Ini dikirim dari halaman JSP!");
pesan.println();
message.println("Keren! :-)");
pesan.println();
pesan.println("Anak Baik");
message.println("Saya di genius.com");
pesan.println();
klien.closeServer();
}
tangkapan (IOException e){
System.out.println("KESALAHAN PENGIRIMAN EMAIL:"+e);
}
% ></P>
14. Bisakah saya memanggil halaman kesalahan JSP di SERVLET? Tentu saja tidak ada masalah. Berikut ini adalah cara memanggil halaman kesalahan JSP di unit logika kontrol SERVLET.
dilindungi batal sendErrorRedirect(permintaan HttpServletRequest,
Respons HttpServletResponse, String errorPageURL,
Dapat dibuang e)
melempar ServletException, IOException {
request.setAttribute("javax.servlet.jsp.jspException", e);
getServletConfig().getServletContext().
getRequestDispatcher(errorPageURL).maju(permintaan,
tanggapan);
} </P>
public void doPost(Permintaan HttpServletRequest, respons HttpServletResponse) {
mencoba {
//melakukan sesuatu
} catch (Pengecualian misalnya) {
mencoba {
sendErrorRedirect(permintaan,respons,"/jsp/MyErrorPage.jsp",ex);
} tangkapan (Pengecualian e) {
e.printStackTrace();
}
}
} </P>
15. Bagaimana JSP dan APPLET berkomunikasi?
Bagaimana JSP berkomunikasi dengan EJB SessionBean Cuplikan kode berikut memberikan demonstrasi yang bagus
< %@ halaman import="javax.naming.*, javax.rmi.PortableRemoteObject,
foo.AccountHome, foo.Account" % >
<%!
//Tentukan referensi global ke instance antarmuka SessionBeanHome
Beranda Akun accHome=null;
kekosongan publik jspInit() {
//Dapatkan contoh antarmuka Beranda
InitialContext cntxt = InitialContext baru( );
Referensi objek= cntxt.lookup("java:comp/env/ejb/AccountEJB");
accHome = (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
}
%>
<%
//Instansiasi SessionBean
Akun akun = accHome.create();
//Panggil metode jarak jauh
acct.lakukan Apapun(...);
// dan seterusnya
% ></P>
16. Bagaimana cara mencegah agar kolom dengan kolom "null" tidak ditampilkan di kolom teks masukan HTML saat saya menggunakan kumpulan hasil?
Fungsi sederhana dapat didefinisikan untuk mencapai tujuan, sebagai berikut:
<%!
String kosongnull(String s) {
kembali (s == nol) ?
}
% ></P>
Kemudian di FORM JSP bisa digunakan seperti ini
< masukan type="teks" nama="ukuran sepatu" value="< %=blanknull(ukuran sepatu)% >" > </P>
17. Bagaimana cara mendownload file (seperti: biner, teks, executable) di SERVLET atau JSP?
Dua solusi kini tersedia:
J: Gunakan HTTP,
B: Di Servlet, ini bisa dilakukan dengan mengatur ContentType dan menggunakan Stream dan kelas lain dari paket java.io.
respon.setContentType("aplikasi/x-msword");
Kemudian tulis saja sesuatu di buffer keluaran. </P>
18. Bagaimana cara menerima parameter inisialisasi saat menginisialisasi BEAN menggunakan flag useBean?
< jsp:getProperty name="wenBean" property="someProperty"/ >
< jsp:setProperty name="wenBean" property="someProperty" value="somevalue"/ > </P>
19. Bagaimana cara mendapatkan informasi browser pelanggan menggunakan JSP?
Cukup gunakan permintaan.getHeader(String)</P>
20. Bisakah JSP dipanggil seperti subrutin?
Tentu saja bisa, gunakan< jsp:include page="relativeURL" flush="true"/ > </P>
21. Setelah saya mengkompilasi ulang kelas yang digunakan oleh JSP saya, mengapa JVM tetap menggunakan CLASS lama saya? </P>
Apa perbedaan antara < <A href=" mailto:%@include">%@include</A > file="abc.jsp"% > dan < jsp:include page="abc.jsp"/ >?
Yang pertama adalah inklusi statis, sedangkan yang kedua adalah inklusi dinamis</P>
22. Kekurangan JSP?
1. Tidak ada hal baik tentang men-debug program JAVA
2. Karena kebanyakan mesin servlet tidak mendukung connection pooling
3. Tidak ada standar untuk mesin Servlet
4. Interaksi antara JSP dan bahasa skrip lainnya</P>
23. Bisakah JSP melakukan panggilan rekursif?
Tentu saja bisa, jika Anda mengirimkan formulir ke halaman ini</P>
34. Bagaimana mewujudkan internasionalisasi JSP?
Cukup sediakan file properti kumpulan sumber daya untuk berbagai versi</P>
25. Bagaimana cara menulis file teks di JSP?
Gunakan objek PrintWriter, seperti:
< %@ halaman import="java.io.*" % >
<%
String str = "cetak saya";
String namaOfTextFile = "/usr/anil/imp.txt";
mencoba {
PrintWriter pw = PrintWriter baru(FileOutputStream baru(nameOfTextFile));
pw.println(str);
pw.close();
} tangkapan(IOException e) {
keluar.println(e.getMessage());
}
% ></P>
26. Bagaimana cara memasukkan file jalur absolut di JSP?
Cukup gunakan URLConnection. </P>
27. Bisakah objek sesi dibagikan antara servlet dan JSP?
Tentu,
Sesi HttpSession = request.getSession(true);
sesi.putvalue("variabel","nilai");</P>
28. Bisakah variabel Javascript disalin ke JSP SESSION? </P>
29. Bagaimana cara mengatur cookie agar kedaluwarsa setelah waktu tertentu?
Gunakan Cookie.setMaxAge(int) </P>
30. Bagaimana cara mendapatkan jumlah sesi saat ini?
Anda dapat menggunakan HttpSessionBindingListeners untuk melacak</P>
31. Dapatkah saya mengatur beberapa kode untuk dijalankan pada semua file JSP saya? Kalau iya, apakah bisa dibagikan?
Tentu saja, Anda dapat menentukan alias untuk file JSP Anda: /jsp/=ybwen.genius.myPreprocessingServlet, dan file yang diawali dengan /jsp/ dapat digunakan</P>
32. Untuk halaman JSP, jika beberapa klien memintanya secara bersamaan, apakah sinkronisasi dapat dilakukan?
Apa manfaat menggunakan beanName dalam sintaksis jsp:useBean?
beanName menggunakan Beans.instantiate() untuk menginisialisasi Bean </P>
33. Saat saya menggunakan < jsp:forward >, bilah alamat browser tidak berubah?
Gunakan respon.sendRedirect("newURL") </P>
34. Bagaimana cara mengkonversi file versi JSP 0.9 ke JSP1.1?
Cukup gunakan sed/awk</P>
35. Bisakah Anda menggunakan JSP untuk mengatur fokus kolom input dalam FORMULIR HTML tanpa menggunakan Javascript?
Tidak mungkin</P>
36. Apa cara terbaik untuk terhubung ke buffer pool koneksi database menggunakan JSP?
1. Gunakan Driver dengan layanan ini di JDBC2.0
2. Gunakan server Aplikasi yang menyediakan layanan ini