Visual Basic 6 String is Reserved Token

Pendahuluan

Penasaran dengan judul “Visual Basic 6 String is Reserved Token”? Jangan dulu berpikir (menghayal) terlalu “tinggi” tentang judul tersebut. Judul tersebut saya gunakan agar lebih menarik saja. Pada catatan ini saya membahas suatu masalah yang akan terjadi jika nilai dari string yang akan digunakan sebagai nama cookie mengandung karakter “ ” (space) atau lebih Apache Tomcat (yang saya gunakan adalah versi 6.20) tidak akan memproses nilai string yang mengandung karakter “ ” tersebut dan akan muncul error page dengan status 500. Ingin tahu lebih lanjut? Silahkan baca bagian selanjutnya.

Apa yang saya lakukan?

Pada 12/02/2010, 5:51 AM, saya sedang mencoba contoh aplikasi yang menggunakan servlet1. Aplikasi ini menunjukkan penggunaan cookies2 untuk menyimpan informasi pada komputer pengguna untuk kemudian diambil (informasi cookies tersebut) kembali pada saat sesi browsing yang sama atau sesi browsing yang akan dilakukan pada waktu yang selanjutnya jika cookies tersebut belum expired.

Apa yang saya lakukan?

Pada 12/02/2010, 5:51 AM, saya sedang mencoba contoh aplikasi yang menggunakan servlet. Aplikasi ini menunjukkan penggunaan cookie untuk menyimpan informasi pada komputer pengguna untuk kemudian diambil (informasi cookie tersebut) kembali pada saat sesi browsing yang sama atau sesi browsing yang akan dilakukan pada waktu yang selanjutnya jika cookie tersebut belum expired.

Halaman HTML Untuk Memilih Bahasa

Gambar 1: Halaman HTML Untuk Memilih Bahasa

Pada aplikasi ini terdapat halaman HTML (HyperText Markup Language) yang menampilkan pilihan bahasa pemrograman, saat pengguna men-submit nilai dari pilihan tersebut akan dijadikan sebagai cookies dan untuk proses tersebut sudah ada servlet yang akan memproses nilai dari pilihan tersebut.

Source pilihan tersebut pada halaman HTML

Gambar 2: Source pilihan tersebut pada halaman HTML

Gambar 3: Bagian program pada servlet yang akan men-add cookies (yang diberi garis bawah tebal)

Gambar 3: Bagian program pada servlet yang akan men-add cookies (yang diberi garis bawah tebal)

Saya mencoba aplikasi tersebut dengan memilih “C”, “C++”, dan “Java”. Tetapi saat saya mencoba memilih “Visual Basic 6” dan diproses oleh servlet muncul halaman error dengan status 500 (lihat gambar 4). Sedikit mengherankan melihat halaman error ini apalagi dengan exception yang muncul memberitahukan bahwa nama cookie dengan string “Visual Basic 6” ini adalah “reserved token”.

Apa sebabnya?

Saking penasarannya saya analisa nilai-nilai string-string yang digunakan sebagai nama cookie tersebut. Dan hasilnya ternyata string-string yang mengandung satu karakter “ ” (space) atau lebih akan menyebabkan masalah pada saat nilai tersebut akan digunakan sebagai nama cookie (lihat gambar 3, bagian yang men-add cookie). Sehingga server (Apache Tomcat) tidak akan memproses jika nilai string dari cookies tersebut mengandung karakter “ ” (space) atau lebih (lihat gambar 5 pada halaman berikutnya).

Gambar 4: Exception yang muncul – bagian 1

Gambar 4: Exception yang muncul – bagian 1

Gambar 5: Exception yang muncul - bagian 2

Gambar 5: Exception yang muncul - bagian 2

Solusi

Untuk mengatasi masalah ini setiap nilai string yang akan digunakan sebagai nama cookie akan “dibersihkan” terlebih dahulu karakter “ ” dari string tersebut. Saya cukup menggunakan built-int method replace() dari class String untuk melakukan hal ini.

Gambar 6: Penggunaan method replace()

Gambar 6: Penggunaan method replace()

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