apa aja sih yang baru di java enterprise 7?


#InfoJava

apa aja sih yang baru di java enterprise 7?

– web socket
– json processor
– jms 2
– batch api
– concurrency utilities
– jax-rs 2 (restful)
– servlet 3.1

Video Tutorial Belajar Pemrograman Java 7 Dasar untuk Pemula | StripBandunk


Belum Ada Sampul

Kode : VT001
Judul : Belajar Pemrograman Java 7 untuk Pemula
Pencipta : Eko Kurniawan Khannedy, S.Kom.
Kategori : Pemrograman Java
Tingkat Keterampilan : Pemula, Menengah
Harga : Rp.-
Release : November 2011

Java merupakan bahasa pemrograman terpopuler di dunia saat ini. Java tidak hanya sekedar bahasa pemrograman, namun Java adalah sebuah teknologi. Teknologi yang dapat digunakan untuk membangun sistem atau aplikasi, baik itu aplikasi desktop, aplikasi website, bahkan aplikasi mobile.

Video tutorial Belajar Pemrograman Java 7 untuk Pemula, merupakan panduan bagi Anda yang ingin belajar bahasa terpopuler di dunia ini. Video ini cocok bagi Anda yang belum mengerti tentang pemrograman Java. Video ini akan membahas dasar-dasar pemrograman Java dan konsep pemrograman berorientasi objek

Lihat Daftar Isi Video Tutorial-nya.

Menyimpan Data dalam JTable ke Berkas Microsoft Excel | StripBandunk


Pada artikel kali ini, saya akan menjelaskan tutorial cara menyimpan data yang terdapat pada JTable (Java Swing) ke dalam berkas Microsoft Excel. Hal ini dapat mempermudah kita, saat akan menyimpan data yang ada dalam JTable, atau saat data yang ada dalam JTable dibutuhkan dalam benduk dokumen (misal Excel).

Untuk membantu mempermudah proses konversi ke berkas Microsoft Excel, saya menggunakan Apache POI. Apache POI merupakan framework yang dapat kita gunakan untuk menyimpan data dalam bentuk berkas-berkas Microsoft Office (Word, Excel, Power Point dan lain-lain).

Menyimpan Data dalam JTable ke Berkas Microsoft Excel | StripBandunk.

Servlet 3 – Menambahkan Data ke Session


Session merupakan tempat yang dapat kita gunakan untuk menyimpan data, namun data yang ada dalah Session tidaklah permanen, data tersebut akan hilang secara otomatis ketika pengguna menutup aplikasi perambah yang digunakan atau jika pengguna lama tidak melakukan interaksi dengan website, misal selama 30 menit. Session biasa digunakan untuk menyimpan data sementara, contohnya dalam ecommerce biasanya terdapat keranjang belanja, dan biasanya keranjang belanja di simpan dalam sebuah session. Dan contoh-contoh yang lainnya. Kali ini kita akan mencoba melakukan proses penambahan data yang disimpan dalam session menggunakan Servlet 3.

Pertama kita buat halaman HTML untuk menampilkan form input data, misal data orang dengan input data “nama depan”, “nama belakang”, “tanggal lahir” dan “email”.

<!doctype html>
<html>
    <head>
        <title>Session</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Input Data</h1>
        <form action="Session" method="post">
            <table>
                <tbody>
                    <tr>
                        <td>Nama Depan :</td>
                        <td><input type="text" name="nama_depan"/></td>
                    </tr>
                    <tr>
                        <td>Nama Belakang :</td>
                        <td><input type="text" name="nama_belakang"/></td>
                    </tr>
                    <tr>
                        <td>Tanggal Lahir :</td>
                        <td><input type="text" name="tanggal_lahir"/></td>
                    </tr>
                    <tr>
                        <td>Email :</td>
                        <td><input type="text" name="email"/></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input type="submit" value="Simpan"/></td>
                    </tr>
                </tbody>
            </table>
        </form>
    </body>
</html>

Setelah itu kita buat Servlet untuk menampung data yang dimasukkan dari halaman HTML yang telah dibuat :

package khannedy.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name = "Session", urlPatterns = {"/Session"})
public class SessionServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        @SuppressWarnings("unchecked")
        List<Object[]> list = (List<Object[]>) request.getSession().getAttribute("data");

        if (list == null) {
            list = new ArrayList<Object[]>();
            request.getSession().setAttribute("data", list);
        }

        Object[] objects = new Object[4];
        objects[0] = request.getParameter("nama_depan");
        objects[1] = request.getParameter("nama_belakang");
        objects[2] = request.getParameter("tanggal_lahir");
        objects[3] = request.getParameter("email");

        list.add(objects);

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet SessionServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Daftar Data</h1>");
            out.println("<table border='1'>");
            out.println("<thead>");
            out.println("<tr>");
            out.println("<td>Nama Depan</td>");
            out.println("<td>Nama Belakang</td>");
            out.println("<td>Tanggal Lahir</td>");
            out.println("<td>Email</td>");
            out.println("</tr>");
            out.println("</thead>");
            out.println("<tbody>");

            for (Object[] data : list) {
                out.println("<tr>");
                out.println("<td>" + data[0] + "</td>");
                out.println("<td>" + data[1] + "</td>");
                out.println("<td>" + data[2] + "</td>");
                out.println("<td>" + data[3] + "</td>");
                out.println("</tr>");
            }

            out.println("</tbody>");
            out.println("</table>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
}

Hasilnya :

Screenshot-Session - Google Chrome

Screenshot-Session - Google Chrome

Screenshot-Servlet SessionServlet - Google Chrome

Screenshot-Servlet SessionServlet - Google Chrome

Servlet 3 – Menyimpan Data ke Database MySQL Menggunakan JDBC


Pada artikel ini, saya menulis artikel tentang cara menyimpan data ke database MySQL menggunakan JDBC melalui servlet 3. Hal pertama yang perlu dilakukan adalah membuat database dan tabel di MySQL.

create database belajar;

use belajar;

create table barang(
     id integer primary key auto_increment,
     nama varchar(100) not null,
     harga_beli integer not null,
     harga_jual integer not null
)type=InnoDB;

Selanjutnya buatlah koneksi ke database yang telah dibuat, kita akan menggunakan WebListener untuk membuat koneksi tersebut.

package khannedy.web.listener;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

@WebListener
public class ConnectionListener implements ServletContextListener {

    public static final String CONNECTION_KEY = "your_connection_key";

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/belajar", "root", "root");
            sce.getServletContext().setAttribute(CONNECTION_KEY, connection);
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        try {
            Connection connection = (Connection) sce.getServletContext().getAttribute(CONNECTION_KEY);
            connection.close();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
}

Setelah itu buat halaman HTML untuk menampung input data yang akan dikirim ke servlet

<!doctype html>
<html>
    <head>
        <title>Menambah Data</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Tambah Data Barang</h1>
        <form method="post" action="SaveData">
            <table>
                <tbody>
                    <tr>
                        <td>Nama</td>
                        <td><input type="text" name="nama"/></td>
                    </tr>
                    <tr>
                        <td>Harga Beli</td>
                        <td><input type="text" name="harga_beli"/></td>
                    </tr>
                    <tr>
                        <td>Harga Jual</td>
                        <td><input type="text" name="harga_jual"/></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input type="submit" value="Process"/></td>
                    </tr>
                </tbody>
            </table>
        </form>
    </body>
</html>

Setelah itu, buat servlet dimana digunakan untuk melakukan proses simpan data ke database MySQL.

package khannedy.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import khannedy.web.listener.ConnectionListener;

@WebServlet(name = "SaveData", urlPatterns = {"/SaveData"})
public class SaveDataServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try {
            Connection connection = (Connection) getServletContext().getAttribute(ConnectionListener.CONNECTION_KEY);

            String sql = "insert into barang (nama, harga_beli, harga_jual) values (?, ?, ?);";

            PreparedStatement statement = connection.prepareStatement(sql);
            statement.setString(1, request.getParameter("nama"));
            statement.setInt(2, Integer.parseInt(request.getParameter("harga_beli")));
            statement.setInt(3, Integer.parseInt(request.getParameter("harga_jual")));
            statement.executeUpdate();
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet SaveDataServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Berhasil Menambah Data Barang</h1>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
}

Hasilnya :

Screenshot-Menambah Data - Google Chrome

Screenshot-Menambah Data - Google Chrome

Screenshot-Servlet SaveDataServlet - Google Chrome

Screenshot-Servlet SaveDataServlet - Google Chrome

Screenshot-echo@echo-ubuntu: ~ - Terminal

Screenshot-echo@echo-ubuntu: ~ - Terminal

Custom Validator dalam Java Server Faces 2


Java

Java

Salah satu hal yang sangat memudahkan untuk para pengguna Java Server Faces adalah kemudahan ketika melakukan proses validasi terhadap input yang dimasukkan oleh pengguna website. JSF mendukung pembuatan custom validator, dimana kita dapat membuat validator yang sesuai dengan yang kita inginkan.

Secara default, JSF memiliki validator untuk melakukan validasi seperti angka, tanggal, panjang input, dan lain-lain. Namun JSF tidak memiliki validator untuk melakukan proses validasi terhadap hal yang spesifik, misal validator untuk memvalidasi bahwa input masuk NIM harus sesuai dengan ketentuan Universitas đŸ˜€ Oleh karena itu, mau tidak mau, kita harus membuatnya secara manual. Namun pembuatan validator di Java Server Faces sangatlah mudah.

Membuat Kelas Validator

Validator dalam JSF direpresentasikan oleh sebuah interface Validator (javax.faces.validator.Validator), sehingga jika kita akan membuat Validator baru, maka kita harus membuat kelas yang mengimplementasi interface Validator tersebut. Misal saya akan membuat Validator untuk melakukan validasi Nim : Baca lebih lanjut

Custom Converter dalam Java Server Faces 2


Java

Java

Salah satu kelebihan JSF (Java Server Faces) dibandingkan JSP (Java Server Pages) adalah, JSF memiliki custom converter, yaitu merupakan mekanisme untuk melakukan conversi tipe data secara otomatis. Dalam web, seluruh input data form itu berupa String, sedangkan kenyataannya tidak demikian, misal ada tipe data Integer, Boolean atau ada yang lebih kompleks seperti URL dan lain-lain. Pada artikel ini saya akan bahas tentang cara membuat Custom Converter untuk melakukan proses konversi nilai dari input form html (String) menjadi URL (java.net.URL).

Membuat Kelas Converter

Hal pertama yang perlu kita lakukan untuk melakukan proses konversi adalah membuat kelas converter, dimana pada artikel ini saya membuat sebuah kelas converter untuk melakukan konversi dari String ke URL. Baca lebih lanjut

Membangun Website CRUD Menggunakan Java Server Faces dan MongoDB [1] Pengantar


 

MongoDB

MongoDB

 

Selamat datang di tutorial membangun website CRUD menggunakan Java Server Faces dan MongoDB. Pada artikel ini kita akan belajar membangun website CRUD (Create, Read, Update, Delete) menggunakan Java Server Faces dan sistem basis data MongoDB. Tutorial ini akan dibagi menjadi beberapa bagian, diantaranya :

  1. Pengantar
  2. Merancang Data Tier
  3. Merancang Logic Tier
  4. Merancang Presentation Tier
  5. Implementasi

Teknologi dan Alat yang Digunakan

Ada beberapa teknologi dan alat yang akan digunakan dalam tutorial ini, yaitu : Baca lebih lanjut