Membuat Login dan User management basic menggunakan struts
Posted by sars4world on June 12, 2009
Halo para java lover,
Ijinkan pemula ini menuliskan sedikit hasil belajarnya. Tulisan ini mengenai penggunaan fitur java yaitu teknologi menggunakan struts untuk membuat user login dan user management. Adapun dalam tutorial ini, penulis hanya menyajikan fungsionalitas struts sebagai controller, untuk tampilan dan penanganan lebih dalam, bisa anda kembangkan sendiri. Dalam tutorial ini, penulis menggunakan IDE eclipse ganymede. Oke, sebelum kita mulai, pastikan sudah menyiapkan peripheral berikut :
- JDK 1.5 keatas (download disini kalo belum punya)
- Tomcat 5.x. keatas atau container lainnya (download disini disini kalo belum punya)
- Eclipse 3.2.x keatas (download disini disini kalo belum punya)
- Struts JAR files:(download disini).
Pastikan library berikut ini sudah ditambahkan.
* struts.jar
* common-logging.jar
* common-beanutils.jar
* common-collections.jar
* common-digester.jar
oke, mari kita mulai, Buka IDE eclipse –> File –> New –> Project, kemudian pilih dynamic web project

Kemudian kasih nama projek web anda, terserah anda

Setelah selesai, tambahkan server/container yang anda gunakan, dalam tutorial ini saya menggunakan tomcat 5. Maka tampilan struktur projek anda akan tampak seperti ini

setelah itu tambahkan librari librari yang dibutuhkan pada folder lib di dalam folder web-inf, kalau folder lib nya belum ada, maka silahkan anda buat terlebih dahulu

Langkah selanjutnya adalah menambahkan servlet config pada web.xml yang dengan menembak kelas dari framework struts yang ada pada org.apache.struts.action.ActionServlet
Buka web.xml, kemudian tambahkan code berikut :
<servlet>
<servlet-name>action</servlet-name>
<servlet-class> org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Kemudian buatlah 2 package untuk class bean dan class actionnya, seperti contoh berikut :

Kemudian, buatlah kelas bean pada package bean untuk login, untuk mempermudah anda, copykan code berikut :
package com.sars.bean;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
public class LoginForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = 1L;
private String userName;
private String password;
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors actionErrors = new ActionErrors();
if (userName == null || userName.trim().equals(“”)) {
actionErrors.add(“userName”, new ActionMessage(“error.username”));
}
try {
if (password == null || password.trim().equals(“”)) {
actionErrors.add(“password”,
new ActionMessage(“error.password”));
}
} catch (Exception e) {
e.printStackTrace();
}
return actionErrors;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Kemudian di package actionnya tambahkan kelas login actionnya, seperti code berikut ini :
package com.sars.struts_action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.sars.bean.LoginForm;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String target = null;
LoginForm loginForm = (LoginForm) form;
if (loginForm.getUserName().equals(“sarwo”)
&& loginForm.getPassword().equals(“oke”)) {
target = “success”;
request.setAttribute(“message”, loginForm.getUserName());
} else {
target = “failure”;
}
return mapping.findForward(target);
}
}
Kemudian buat package untuk resource properties dan juga buatkan file properties seperti berikut

Kemudian di file properties yang anda buat tadi, tambahkan code berikut :
label.username = Login Detail
label.password = Password
label.welcome = Welcome
error.username =Username is not entered.
kemudian buat halaman jsp
1. modifikasi index.jsp dibawah webcontent seperti berikut ini :
<%@taglib uri=”http://jakarta.apache.org/struts/tags-html” prefix=”html”%>
<%@taglib uri=”http://jakarta.apache.org/struts/tags-bean” prefix=”bean” %>
<!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>Login Page</title>
</head>
<body>
<h1>Login</h1>
<html:form action=”login”>
<bean:message key=”label.username” />
<html:text property=”userName”></html:text>
<html:errors property=”userName”/>
<br/>
<bean:message key=”label.password”/>
<html:password property=”password”></html:password>
<html:errors property=”password”/>
<html:submit/>
<html:reset/>
<br/>
</html:form>
</body>
</html>
2. welcome.jsp dibawah folder WEB-INF –> page (kalau belum ada, buatlah folder ini)

code jsp anda akan seperti berikut ini
<%@ 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>Login Page using struts by super sars</title>
</head>
<body>
<%
String message = (String)request.getAttribute(“message”);
%>
<h1>Welcome <%= message %></h1>
</body>
</html>
3.failure.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>Login Page using struts by super sars</title>
</head>
<body>
<%
String message = (String)request.getAttribute(“message”);
%>
<h1>Welcome <%= message %></h1>
<br>
</body>
</html>
Kemudian, buatlah file xml dengan nama struts-config.xml, dan tambahkan code berikut ini :
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE struts-config PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 1.2//EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd”>
<struts-config>
<data-sources>
</data-sources>
<form-beans>
<form-bean name=”LoginForm” type=”com.sars.bean.LoginForm”/>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
</global-forwards>
<action-mappings>
<action path=”/login” name=”LoginForm” type=”com.sars.struts_action.LoginAction” validate=”true” input=”/index.jsp”>
<forward name=”success” path=”/WEB-INF/pages/welcome.jsp”/>
<forward name=”failure” path=”/WEB-INF/pages/failure.jsp”/>
</action>
</action-mappings>
<message-resources parameter=”MessageResource”/>
</struts-config>
sekarang, run on server



mudah kan
cheer…
sekarang tambahan untuk user managementnya
buat class baru pada package action

kemudian, masukkan code berikut pada class yang telah anda buat :
package com.sars.struts_action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class UserManagementAction extends DispatchAction {
public ActionForward create(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute(“message”, “User created succesfully”);
return mapping.findForward(“success”);
}
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute(“message”, “User deleted successfully”);
return mapping.findForward(“success”);
}
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute(“message”, “User updated successfully”);
return mapping.findForward(“success”);
}
public ActionForward block(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute(“message”, “User blocked successfully”);
return mapping.findForward(“success”);
}
}
kemudian editlah struts-config.xml, hingga seperti berikut :
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE struts-config PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 1.2//EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd”>
<struts-config>
<data-sources>
</data-sources>
<form-beans>
<form-bean name=”LoginForm” type=”com.sars.bean.LoginForm”/>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
</global-forwards>
<action-mappings>
<action path=”/login” name=”LoginForm” type=”com.sars.struts_action.LoginAction” validate=”true” input=”/index.jsp”>
<forward name=”success” path=”/WEB-INF/pages/welcome.jsp”/>
<forward name=”failure” path=”/WEB-INF/pages/failure.jsp”/>
</action>
<action path=”/user” type=”com.sars.struts_action.UserManagementAction” parameter=”parameter”>
<forward name=”success” path=”/WEB-INF/pages/UserSuccess.jsp”/>
<forward name=”failure” path=”/WEB-INF/pages/failure.jsp”/>
</action>
</action-mappings>
<message-resources parameter=”MessageResource”/>
</struts-config>
kemudian buatlah halaman jsp berikut di bawah Webcontent
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE struts-config PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 1.2//EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd”>
<struts-config>
<data-sources>
</data-sources>
<form-beans>
<form-bean name=”LoginForm” type=”com.sars.bean.LoginForm”/>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
</global-forwards>
<action-mappings>
<action path=”/login” name=”LoginForm” type=”com.sars.struts_action.LoginAction” validate=”true” input=”/index.jsp”>
<forward name=”success” path=”/WEB-INF/pages/welcome.jsp”/>
<forward name=”failure” path=”/WEB-INF/pages/failure.jsp”/>
</action>
<action path=”/user” type=”com.sars.struts_action.UserManagementAction” parameter=”parameter”>
<forward name=”success” path=”/WEB-INF/pages/UserSuccess.jsp”/>
<forward name=”failure” path=”/WEB-INF/pages/failure.jsp”/>
</action>
</action-mappings>
<message-resources parameter=”MessageResource”/>
</struts-config>
Kemudian tambahkan page UserSukses.jsp pada folder page dibawah folder WEB-INF
<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<%@taglib uri=”http://jakarta.apache.org/struts/tags-html” prefix=”html”%>
<!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>Dispatch Action</title>
</head>
<body>
<h3>User Message</h3>
<center>
<font color=”red”> <%= request.getAttribute(“message”) %> </font>
</center>
<a href=”UserManagement.jsp”>Back</a>
</body>
</html>
langkah terakhir, tambahkan link pada welcome.jsp untuk mengakses usermanagement.jsp
kemudian run as server, so easy huh


Mengalami kesulitan? Anda bisa mendownload code saya di my share box, pojok kanan bawah yang bernama StrutsCoba…
![]()
cheers…
D-Viz said
in dia yang gua cari-cari….!!!! thank’s ya broe…. n aq numpang nyontek semua artikelnya ya….!!!!
sars4world said
oke D-Viz, just take it.. hehehe
jangan sungkan kalau ada masukan ya..
embadiaaspine said
Questions and answers about Beach hotel southern california and On the beach poster http://beach.goodnanoav.com/
sars4world said
owh, nice
robi said
bisa kirimkan tutorial tentang buat user dan password dengan struts java 6.1 kalo ada
sars4world said
java 6.1? sama aja kok, mungkin tinggal nyesuaiin librarynya doang