۱۳۸۹ خرداد ۲۲, شنبه

JAVA Server Face آسان ایمن و سریع و قدرتمند با نان اضافه

اوایل فکر می کردم که کار کردن با جاوا و نوشتن برنامه برای وب بسیار سخت است البته همین طرز فکر رو هم برای نوشتن برنامه ها برای دسکتاپ داشتم اما وقتی که واردش شدم تازه شیرینی اونو درک کردم و خیلی برام جالب شد ابتدا کمی با سرولتها و همچنین jsp آشنا شدم اما سرعت پایین و همچنین کد زدن توی این محیطها و کنترل کردنشون یک کم به نظرم سخت اومد پس شروع کردم به یاد گرفتن JSF و آشنا شدن با شیرینی های این فریم وورک
در ابتدا کار کردن باهاش مشکل به نظر می آد اما وقتی یکی دو تا نمونه ازش ببینید شیرین میشه و سرعت شما خیلی زیاد .
از امروز می خوام آموزشهای JSF را براتون توی وبلاگ بگذارم.
اگه برنامه من آماده شد انشاء الله کل برنامه را هم می گذارم به صورت اپن سورس توی وبلاگ .

تنظیم encoding در JEE 6 و mysql در حال نوشتن یک برنامه یا بهتر بگم اولین برنامه ام با JEE و JSF و JPA بودم که خیلی هم بد قولی کرده بودم . به یک مشکل خوردم و اونم encoding غیر از utf 8 بود و هر کار می کردم که اونو به UTF 8 تغییر بدم موفق نمی شدم
تا اینکه بالاخره راه حلش پیدا کردم و اون هم set کردن دو خصوصیت به فایل کانفیگ mysql که در پوشه etc/my.cnf/ قرار داره و شما می تونید نمونه اش را پایین ببینید .

[mysqld]

lower_case_table_names=1
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
default-character-set=utf8
default-collation=utf8_persian_ci
skip-external-locking

key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#general_log = 1

log_error = /var/log/mysql/error.log



[mysqldump]
[mysql]
دو تا خط آبی برای encoding و خط قرمز برای case sensitive است که توی لینوکس برای نام جداول به وجود می آید .

۱۳۸۹ خرداد ۲۱, جمعه

API برای log گرفتن در جاوا استفاده میشود و پکیج java.util.logging را شامل می شه .
راحتی کار با این API و پشتیبانی glassfish برای پیکربندی فایل logging.properties مزیتی قابل توجه است که استفاده از این API را نسبت به API های دیگه مانند log4j در استفاده از سرور glassfish ساده تر می کنه .

شما می توانید فایل logging.properties را در فولدر jre/lib پیدا کنید .

package com.wombat;

import java.util.logging.*;

public class Nose {
private static Logger logger = Logger.getLogger("com.wombat.nose");
private static FileHandler fh = new FileHandler("mylog.txt");
public static void main(String argv[]) {
// Send logger output to our FileHandler.
logger.addHandler(fh);
// Request that every detail gets logged.
logger.setLevel(Level.ALL);
// Log a simple INFO message.
logger.info("doing stuff");
try {
Wombat.sneeze();
} catch (Error ex) {
logger.log(Level.WARNING, "trouble sneezing", ex);
}
logger.fine("done");
}
}