Berikut ini penggunaan ServletContext dan Listener menggunakan editor netbeans
- Buatlah sebuah project dengan tipe web application di netbeans
- di file index.html, setelah tag <body> tambahkan kode berikut :
view servlet context
- kemudian tambahkan sebuah servlet dengan nama ServletContextClass, jangan lupa untuk mencentang "Add information to deployment descriptor (web.xml)".
- Setelah dibuat ubah method doGet menjadi seperti ini
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
ServletContext ctx = getServletContext();
ctx.setAttribute("name", "Eresha Wikrama");
out.print(ctx.getAttribute("name"));
Enumeration temp = ctx.getAttributeNames();
while(temp.hasMoreElements()){
String attrName = (String) temp.nextElement();
out.print("
Attribut " + attrName + " , nilainya = " + ctx.getAttribute(attrName));
}
out.print("
getServletContextName() : " + ctx.getServletContextName());
out.print("
" + ctx.getInitParameter("bhs1"));
Enumeration temp2 = ctx.getInitParameterNames();
while(temp2.hasMoreElements())
{
String paramName = (String) temp2.nextElement();
out.print("
Attribut " + paramName + " , nilainya = " + ctx.getInitParameter(paramName));
}
out.print("
getServerInfo() : " + ctx.getServerInfo());
out.print("
getRealPath() : " + ctx.getRealPath(""));
ctx.log("Hello world");
ctx.setAttribute("name", "Eresha Wikrama Bogor, Teknik Informatika");
ctx.setAttribute("name", null);
request.setAttribute("word", "never say give up in this world");
request.setAttribute("word", "do your best and let God do the rest");
request.setAttribute("word", null);
HttpSession session = request.getSession();
session.setAttribute("userSession", "EreshaWikramaSession");
session.setAttribute("userSession", "Mari belajar JAVA");
session.setAttribute("userSession", null);
}
- kemudian tambahkan 6 buah class untuk mengimplementasikan interface listener
- tambahkan sebuah Web Application Listener dengan nama ServletContextListenerClass, kemudian di bagian "interface to implement" centang bagian "Context Listener"
- di bagian method contextInitialized, ubah kode nya menjadi seperti berikut ini
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext();
if (ctx != null) {
ctx.log("Context : " + ctx.getServletContextName() + " sudah diinisialisasi");
}
}
- di bagian method contextDestroyed, ubah kode nya menjadi seperti berikut ini
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext();
if (ctx != null) {
ctx.log("Context : " + ctx.getServletContextName() + " sudah dihancurkan");
}
}
- tambahkan Web Application Listener ke 2 dengan nama ServletContextAttributeListenerClass, kemudian di bagian "interface to implement" centang bagian "Context Attribute Listener"
- di bagian method attributeAdded, ubah kode nya menjadi seperti berikut
@Override
public void attributeAdded(ServletContextAttributeEvent event) {
ServletContext ctx = event.getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah ditambahkan");
}
}
- di bagian method attributeRemoved, ubah kode nya seperti berikut
@Override
public void attributeRemoved(ServletContextAttributeEvent event) {
ServletContext ctx = event.getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah dihapus");
}
}
- di bagian method attributeReplaced, ubah kode nya seperti berikut
@Override
public void attributeReplaced(ServletContextAttributeEvent event) {
ServletContext ctx = event.getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah diubah");
}
}
- selanjutnya tambahkan lagi Web Application Listener dengan nama ServletRequestListenerClass, kemudian di bagian "interface to implement" centang bagian "Request Listener (J2EE 1.4)"
- di bagian method requestDestroyed, ubah kode nya seperti berikut
@Override
public void requestDestroyed(ServletRequestEvent sre) {
ServletContext ctx = sre.getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "request " + sre.getServletRequest() + " sudah dihancurkan");
}
}
- di bagian method requestInitialized, ubah kode nya seperti berikut
@Override
public void requestInitialized(ServletRequestEvent sre) {
ServletContext ctx = sre.getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "request " + sre.getServletRequest() + " sudah diinisialisasi");
}
}
- tambahkan Web Application Listener dengan nama ServletRequestAttributeListenerClass, kemudian di bagian "interface to implement" centang bagian "Request Attribute Listener"
- di bagian method attributeAdded, ubah kode nya seperti berikut
@Override
public void attributeAdded(ServletRequestAttributeEvent srae) {
System.out.println("Attribute ditambahkan " + srae.getName() + " = " + srae.getValue());
}
- di bagian method attributeRemoved, ubah kode nya seperti berikut
@Override
public void attributeRemoved(ServletRequestAttributeEvent srae) {
System.out.println("Attribute dihapus " + srae.getName() + " = " + srae.getValue());
}
- di bagian method attributeReplaced, ubah kode nya seperti berikut
@Override
public void attributeReplaced(ServletRequestAttributeEvent srae) {
System.out.println("Attribute diganti " + srae.getName() + " = " + srae.getValue());
}
- tambahkan Web Application Listener dengan nama HttpSessionListenerClass, kemudian di bagian "interface to implement" centang bagian "Http Session Listener"
- di bagian method sessionCreated, ubah kode nya seperti berikut
@Override
public void sessionCreated(HttpSessionEvent se) {
ServletContext ctx = se.getSession().getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "session " + se.getSession().getId() + " sudah dibuat");
}
}
- di bagian method sessionDestroyed, ubah kode nya seperti berikut
@Override
public void sessionDestroyed(HttpSessionEvent se) {
ServletContext ctx = se.getSession().getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "session " + se.getSession().getId() + " sudah dihancurkan");
}
}
- tambahkan Web Application Listener dengan nama HttpSessionAttributeListenerClass, kemudian di bagian "interface to implement" centang bagian "Http Session Attribute Listener"
- di bagian method attributeAdded, ubah kode nya seperti berikut
@Override
public void attributeAdded(HttpSessionBindingEvent event) {
ServletContext ctx = event.getSession().getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "session attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah ditambahkan");
}
}
- di bagian method attributeRemoved, ubah kode nya seperti berikut
@Override
public void attributeRemoved(HttpSessionBindingEvent event) {
ServletContext ctx = event.getSession().getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "session attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah dihapus");
}
}
- di bagian method attributeReplaced, ubah kode nya seperti berikut
@Override
public void attributeReplaced(HttpSessionBindingEvent event) {
ServletContext ctx = event.getSession().getServletContext();
if (ctx != null) {
ctx.log("Context " + ctx.getServletContextName() + ", "
+ "session attribute " + event.getName() + " dengan nilai : " + event.getValue()
+ " sudah diubah");
}
}
- selanjutnya ubah web.xml dengan kode berikut
bhs1
Java
bhs2
C++
bhs3
C
bhs4
VB.Net
bhs5
JSP
ServletContextListener
ServletContextListenerClass
ServletContextAttributeListener
ServletContextAttributeListenerClass
RequestListener
ServletRequestListenerClass
HttpSessionListener
HttpSessionListenerClass
RequestAttributeListener
HttpSessionAttributeListenerClass
ServletContext
ServletContext
ServletContextClass
ServletContextClass
ServletContext
/ServletContext
ServletContextClass
/ServletContextClass
30
No comments:
Post a Comment