Menggunakan JSPInit dan InitParam

JSP dapat menggunakan inisiasi parameter yang dapat digunakan sebagai nilai awal sebuah parameter untuk mencegah exception. inisiasi parameter JSP dapat dilakukan dengan menggunakan deployment descriptor(web.xml) yang artinya inisiasi tersebut sudah diset sebelum aplikasi dijalankan. Berikut contoh inisiasi parameter jsp.
Web.xml

<?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" id="WebApp_ID" version="3.0">
  <display-name>ContohWeb</display-name>
  <welcome-file-list>
    <welcome-file>JSPInit.jsp</welcome-file>    
  </welcome-file-list>
  <servlet>
  	<servlet-name>JSPInit</servlet-name>
  	<jsp-file>/JSPInit.jsp</jsp-file>
  	<init-param>
  		<param-name>defaultUser</param-name>
  		<param-value>Default User Name</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>JSPInit</servlet-name>
  	<url-pattern>/JSPInit.jsp</url-pattern>
  </servlet-mapping>
</web-app>

dari sourcecode diatas, terdapat sebuah JSP dengan nama file JSPInit.jsp. konfigurasi servlet dari file tersebut adalah dengan nama init param “defaultUser” dengan nilai “Default User Name”.

JSPInit.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Init Param</title>
</head>
<body>
	<%!
		 public void jspInit(){
			String defaultUser = getServletConfig().getInitParameter("defaultUser");
			ServletContext context = getServletContext();
			context.setAttribute("defaultUser", defaultUser);
		} 
	%>
	
	Default User Servlet Config : <%=getServletConfig().getInitParameter("defaultUser") %>
	<br />
	Nilai variabel user setelah jspInit override : <%=getServletContext().getAttribute("defaultUser") %>
</body>
</html>

Output :

Berdasarkan source code diatas, initial parameter dapat diperoleh dengan getServletConfig().getInitParameter(“KEY”). Kemudian, method jspInit() digunakan untuk mengoverride parent class dari JSP itu sendiri agar supaya setiap class JSPInit diakses, initial parameter dapat dijadikan sebagai default parameter dalam servlet context.

Tagged: , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: