Pages

Thursday, December 15, 2016

TJ01 - Tidak Dapat Merubah Versi Dynamic Web Module (Deployment Description) Menjadi 3.0

Deployment Description yang terdapat dalam sebuah file project webapp digambarkan sebagai bola dunia dengan versi yang terdapat di pojok kiri bawahnya. Berikut adalah gambar dari Deployment Description.


Pada Gambar tersebut diketahui bahwa versinya adalah 2.3. Apabila file tersebut di double klik, maka akan muncul sebuah file yang bernama web.xml. Sebenarnya file ini berlokasi pada src>main>webapp>WEB-INF>web.xml.


File web.xml sendiri merupakan pusat tempat untuk menentukan konfigurasi dari web aplikasi yang dibangun. Beberapa contoh konfigurasi tersebut antara lain :

1. Pemetaan Servlet, yaitu pemetaan path URL terhadap kelas Java ( contoh : ketika User memasukan path URL http://www.learn.com/Learn, maka anda dapat mengarahkan permintaan (request URL) tersebut ke kelas LearnServlet.java, dimana anda menyimpan implementasi dari servlet tersebut. Servlet sendiri merupakan program Java yang berjalan di sisi server.(Feri Djuandi, 2009, p.1)

2. Mengotorisasi Parameter, yaitu membatasi hak akses dari User ( contoh : User memiliki hak akses ke http://www.learn.com/Learn/pictures, tetapi tidak ke http://www.learn.com/Learn/documents

3. Pengaturan Keamanan, misalnya ketika User mencoba untuk membuka http://www.learn.com/Restricted, maka anda dapat mengarahkan User ke URL tersebut untuk menggunakan SSL terlebih dahulu sebelum masuk ke URL.

4. Welcome page, misalnya ketika User memasukan path URL http://www.learn.com, maka anda dapat mengarahkannya (redirect) ke http://www.learn.com/index.jsp

(Sumber: Stackoverflow, 16-12-16)

Perbedaan servlet versi  3.0 dengan versi 2.3 adalah Pluggability, Ease of development, Async Servlet, Security, File Uploading. Minimum kebutuhan paket Java yang dibutuhkan untuk servlet versi 3.0 adalah Jave EE 6. (Sumber: Wikipedia, 16-12-16)

Merubah Versi Dynamic Web

Untuk merubah versi dari Dynamic Web dapat dilakukan dengan merubah susunan awal web.xml pada project. Untuk versioning 3.0 dapat menggunakan susunan web.xml dari Mkyong. (Sumber: Mkyong, 16-12-16).

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
       version="3.0">
</web-app>
Sehingga, sususan baru dari web.xml pada project sebelumnya :
web.xml
<?xml version="1.0" encoding="UTF-8"?> <!--Penambahan Code || Memberi arti bahwa dokumen ini
dibuat dengan aturan XML versi 1.0. Encoding menunjukkan bahwa file XML ini ditulis 
dengan kode UTF-8. Kode UTF-8 dan UTF-16 adalah kode-kode yang wajib didukung oleh
semua aplikasi yang memproses dokumen XML.-->
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
       version="3.0">
<display-name>LEARN</display-name> <!-- Digunakan untuk menentukan nama tampilan
webapp -->
</web-app>
Error !!

Perhatikan penulisan <?xml version="1.0" encoding="UTF-8"?> karena dapat menyebabkan error apabila tidak dituliskan pada line 1, dan juga walaupun code di comment. Error yang dihasilkan adalah sebagai berikut : The processing instruction target matching "[xX][mM][lL]" is not allowed. (Sumber : Stackoverflow, 16-12-16)





Problem Versi Dynamic Web Module Tidak Berubah

Setelah lakukan langkah tersebut, namun versi Dynamic Web tetap tidak berubah. Permasalahan tersebut tidak dapat diatasi dengan merubah Project Facets, karena setelah dirubah versinya tidak dapat di Apply ataupun di OK.




Permasalahan ini diatasi dengan merubah secara manual konfigurasi file org.eclipse.wst.common.project.facet.core.xml pada folder .setting di project tersebut. Berikut langkahnya :
1. Masuk ke dalam lokasi project (contoh : E:\MyName\Project\Java\WS_Test\learn).
2. Masuk ke dalam folder .setting.
3. Buka file : org.eclipse.wst.common.project.facet.core.xml.
4. Rubah properti versi "jst.web" dari 2.3 menjadi 3.0, dan save.
org.eclipse.wst.common.project.facet.core.xml
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.8"/>
</faceted-project>
5. Klik kanan pada project, dan pilih Refresh.

6. Klik kanan pada project, Maven, Update Project.

Selesai, maka dapat dilihat bahwa versi Dynamic Web sudah berubah menjadi versi 3.0 di bawah gambar bola dunia.


Apabila kita melihat pada Projects Facets, langkah yang dilakukan sebelumnya, maka versinya juga sudah berubah.

No comments:

Post a Comment