Membuat Applikasi Web Java tanpa IDE


Java LogoDalam posting kali ini saya akan menjelaskan cara membuat aplikasi web yang sangat mudah tapi cukup menjelaskan basic pembuatan aplikasi web menggunakan Java. Sebelum develop aplikasi web menggunakan tools yang advance saya sangat menyarankan untuk memulainya dari hal yang mendasar seperti ini. Dengan memahami proses development sampai dengan deployment ke web server secara manual akan membangun pemahaman dasar yang bagus.

Untuk memraktekan pembuatan aplikasi web ini Anda hanya membutuhkan text editor (ex: notepad), command prompt , web server (ex: Apache Tomcat), dan tentunya jdk (java) yang sudah terinstall. Ini semua cukup mudah bukan? Dalam tutorial ini saya menggunakan sistem operasi Windows. Jika Anda menggunakan sistem operasi lain, silahkan sesuaikan.

Proses pertama, kita sediakan dulu folder-folder yang akan digunakan dalam pembuatan applikasi web. Berikut ini script command line yang digunakan untuk membuat folder-folder yang dibutuhkan:

C:\>mkdir \web-app
C:\>cd \web-app
C:\web-app>mkdir src
C:\web-app>mkdir deploy
C:\web-app>mkdir deploy\WEB-INF
C:\web-app>mkdir deploy\WEB-INF\classes

Folder src digunakan untuk menyimpan source code java (*.java). Sedangkan folder deploy digunakan untuk menyimpan semua file hasil deploy (*.jar, *.war) yang akan ditaruh di Tomcat nantinya. Jika kita menggunakan tools deployment seperti Apache Ant, kita akan membutuhkan file build.xml yang ditaruh dalam folder web-app (sederajat dengan folder src dan deploy). Tapi dalam tutorial kali ini kita tidak akan menggunakan tool yang advance seperti Apache Ant itu. Sekali lagi, kita akan melakukannya secara manual.

Untuk menyederhanakan tutorial ini, saya hanya akan membuat satu buah class Java saja. Class ini nanti akan disimpan di folder src. Untuk membuat class ini Anda dapat menggunakan notepad atau text editor lain yang Anda sukai.

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public final class WebTest extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
  {
    response.setContentType("text/html");
    PrintWriter writer = response.getWriter();

    writer.println("<html><head><title>Simple Web Application</title></head>");
    writer.println("<body><h1>A Simple Web Application</h1>");
    writer.println("Here's some text...<br>...and a bit more text");
    writer.println("</body></html>");
  }
}

Setelah itu kita compile class Java di atas dengan perintah sebagai berikut:

C:\web-app\src>javac -classpath %CATALINA_HOME%\lib\servlet-api.jar WebTest.java

Dalam script di atas, kita menyertakan servlet-api.jar yang mana di dalamnya terdapat class-class (atau package-package) yang dibutuhkan oleh code java yang kita buat sebelumnya (WebTest.java). Jika tidak menemukan package-package yang dibutuhkan (javax.servlet.ServletException dan javax.servlet.http.*), maka akan muncul error sebagai berikut:

WebTest.java:4: package javax.servlet does not exist
import javax.servlet.ServletException;
                     ^
WebTest.java:5: package javax.servlet.http does not exist
import javax.servlet.http.HttpServlet;
                          ^
WebTest.java:6: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletRequest;
                          ^
WebTest.java:7: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletResponse;

Jika error ini yang muncul, maka silahkan cek kembali keberadaan servlet-api.jar. Untuk Tomcat versi lama lokasi servlet-api.jar ada di folder: %CATALINA_HOME\common\lib\servlet-api.jar%.

Jika error ini tidak muncul, berarti proses kompilasi sudah berhasil. Untuk mengeceknya silahkan lihat dengan menggunakan perintah dir di command line, dan seharusnya file WebTest.class ada dalam list yang ditampilkan. Jika Anda sudah menemukan WebTest.class kemudian copy file tersebut ke folder deploy\WEB-INF\classes. Anda bisa meng-copy nya dengan menggunakan GUI atau bisa juga dengan menggunakan perintah command line sebagai berikut:

C:\web-app\src>copy WebTest.class ..\deploy\WEB-INF\classes
        1 file(s) copied.

Setelah file class berhasil digenerate dan dipindahkan ke dalam folder classes kemudian kita berikutnya akan membuat file web.xml. Isi file xml ini adalah penentuan URL yang akan digunakan untuk memanggil WebTest.class. Dalam tutorial ini saya akan menggunakan URL: /start-web-test. Silahkan anda copy file XML (web.xml) berikut:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
  <servlet>
    <servlet-class>WebTest</servlet-class>
    <servlet-name>Some dummy name</servlet-name>
  </servlet>

  <servlet-mapping>
    <servlet-name>Some dummy name</servlet-name>
    <url-pattern>/start-web-test</url-pattern>
  </servlet-mapping>

</web-app>

Simpan web.xml di atas ke folder deploy/WEB-INF.

Sekarang folder deploy sudah siap dikompres menjadi file *jar dan kemudian akan dipaketkan lagi menjadi *.war yang siap untuk dideploy ke Tomcat. Gunakan script berikut untuk membuat file *war:

C:\web-app\deploy>jar cf MyWebTest.war *

Setelah itu kemudian copy file MyWebTest.war ke Tomcat dengan perintah berikut (atau dapat juga copy-paste menggunakan GUI):

C:\web-apps\deploy>copy MyWebTest.war %CATALINA_HOME%\webapps

Kemudian jalankan tomcat dengan perintah:

C:\web-apps\deploy>catalina.bat run

info: Tomcat memiliki feature hot deploy, jika kita memasukan file *.war ke webapps sedangkan Tomcat sedang running, maka file *.war itu akan tetap dapat dideploy tanpa harus me-restart Tomcat.

Setelah itu buka browser kemudian masukkan alamat:

http://localhost:8080/MyWebTest/start-web-test

About windupurnomo

I'm interested in programming. I am active with several programming such as Java, C #, C, JavaScript, HTML. I'm also develop desktop application (Java Swing), Mobile Application (Android), and Web programming (ASP MVC).
This entry was posted in Java and tagged , , , , , , , , , , , . Bookmark the permalink.

One Response to Membuat Applikasi Web Java tanpa IDE

  1. ok says:

    Klo mo gampang lagi pake maven mas…
    Utk web, udah ada archetypenya (banyak pilihan), tinggal running.
    Yg asik, itu udah embed servernya (Jetty atau Tomcat)

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