Powered By Blogger
Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

11 August 2012

start Apache Tomcat แบบง่ายๆ

หนังสือหลายๆเล่ม สอนมากมายเกี่ยวกับวิธี
ถูกบ้างผิดบ้าง แล้วก็รันไม่ได้ บ้าง


มาลองดูวิธีง่ายๆกัน กับ Tomcat5.5 ที่ผมค้นพบ
วิธีนี้สำหรับ  Windows ครับ
แล้ววิธีนี้ก็ใช้ในกรณีที่เราไม่ได้ ติดตั้ง Tomcat  เป็น Service
เพียงแค่ Download Tomcat มาแล้วแตกไฟล์ไว้ที่เครื่องของเราเอง

ตัิวอย่างประมาณนี้ครับ


D:\tomcat55\bin>set JAVA_HOME=c:\Program Files\Java\jdk1.7.0_03

D:\tomcat55\bin>version.bat
Using CATALINA_BASE:   D:\tomcat55
Using CATALINA_HOME:   D:\tomcat55
Using CATALINA_TMPDIR: D:\tomcat55\temp
Using JRE_HOME:        c:\Program Files\Java\jdk1.7.0_03
Using CLASSPATH:       D:\tomcat55\bin\bootstrap.jar
Server version: Apache Tomcat/5.5.35
Server built:   Jan 6 2012 11:20:07
Server number:  5.5.35.0
OS Name:        Windows XP
OS Version:     5.1
Architecture:   x86
JVM Version:    1.7.0_03-b05
JVM Vendor:     Oracle Corporation
D:\tomcat55\bin>startup.bat
Using CATALINA_BASE:   D:\tomcat55
Using CATALINA_HOME:   D:\tomcat55
Using CATALINA_TMPDIR: D:\tomcat55\temp
Using JRE_HOME:        c:\Program Files\Java\jdk1.7.0_03
Using CLASSPATH:       D:\tomcat55\bin\bootstrap.jar
D:\tomcat55\bin>

สรุปง่ายๆคือ  set java_home ก่อน แล้วตามด้วย version.bat แล้วตามด้วย startup.bat  เป็นอันจบ
หลังจากนั้น ระบบจะเปิด หน้าจอ console สีดำๆึขึ้นมาใหม่อีกหน้าจอ รอรับ sequest
และทำหน้าที่เป็น server รอรับ HTTP Request ที่ port มาตรฐานของ Tomcat คือ  8080 ครับ
นั่นก็คือที่  http://localhost:8080/

  


ดึงข้อมูล HTTP ด้วย ภาษา Scala และ Library Java

การ ดึงข้อมูล HTTP จากหน้าเว็บไซต์  เช่น port 80
ซึ่งก็อาจใช้ในการ ทดสอบโปรแกรมระบบ ได้เช่นกัน

ตัวอย่าง batch file สำหรับ set classpath
 Directory of D:\scala-2.9.2

08/11/2012  01:12 AM    <dir>          .
08/11/2012  01:12 AM    <dir>          ..
08/11/2012  01:12 AM    <dir>          bin
04/13/2012  05:25 AM    <dir>          doc
08/08/2012  12:02 AM    <dir>          lib
04/13/2012  05:25 AM    <dir>          man
04/13/2012  05:25 AM    <dir>          misc
08/11/2012  12:06 AM               152 setpath.bat
04/13/2012  05:25 AM    <dir>          src



ข้อมูล batch เป็นดังนี้
set path=%PATH%;c:\Program Files\Java\jdk1.7.0_03\bin;
set path=%PATH%;D:\scala-2.9.2\bin;
set JAVA_HOME=c:\Program Files\Java\jdk1.7.0_03\bin
Source Code get_http.scala
import java.net.URL
import java.net.HttpURLConnection
val url = new URL("http","localhost",80,"/apt")
val con = url.openConnection.asInstanceOf[HttpURLConnection]
con.setRequestProperty("Header","Value")
con.connect()
val ips = con.getInputStream()
for( i <- 1 to ips.available ){
   print( ips.read.asInstanceOf[Char] )
}

เป็นการแสดงตัวอย่าง Source Code ภาษา Scala ซึ่งเรียกใช้  object/method ของ java 
โดยสร้าง URL ระบุ protocol , host , port , path หรือ ไฟล์ 
แล้วเปิดคอนเนคชัน และ cast type เป็น  HttpURLConnection
ลองส่ง Property ไปเล่นๆ 
เปิด connection จริง 
ดึงข้อมูล ImputStream ใส่ตัวแปร pointer ips 
วนรอบเท่าจำนวนตัวอักษรที่อ่านได้ (ips.available)  
แล้ว อ่านทีละตัวอักษรซึ่งจะเป็นเลข interger แล้ว CastType ไปเป็น Char 
แล้ว พิมพ์ออกทางหน้าจอ  


ตัวอย่างผลลัพธ์ 
scala> :load get_http.scala
Loading get_http.scala...
import java.net.URL
import java.net.HttpURLConnection
url: java.net.URL = http://localhost:80/apt
con: java.net.HttpURLConnection = sun.net.www.protocol.http.HttpURLConnection:ht
tp://localhost:80/apt
ips: java.io.InputStream = sun.net.www.protocol.http.HttpURLConnection$HttpInput
Stream@3dd423
NO Screen Info !
redirect to $http://localhost/apt/index.php/unmanage/check_d
evice_res/
scala> 

จะเห็นว่ามีการดึงข้อมูลได้ ถูกต้อง แต่มีการแสดง Source Code ด้วยเพื่อ ตรวจสอบข้อผิดพลาด 
หากต้องการให้ไม่แสดง Source Code ให้ใช้คำสั่ง   :silent  แล้วโหลด code มารันด้วย :load 
ดังนี้ 
scala> :silent
Switched off result printing.

scala> :load get_http.scala
Loading get_http.scala...
NO Screen Info !
redirect to $http://localhost/apt/index.php/unmanage/check_d
evice_res/
scala>


อ้างอิงจาก 






05 April 2011

Run Java query MySQL

java File ชื่อ listtable.java

-----------------------------------------------

import java.sql.* ;

public class listtable{
 public static void main(String[] args) throws Exception
 {
  System.out.println("OK");

//  String sql = "show databases;" ;
  String sql = "show tables;" ;
  getdb( sql ) ;

 }
 public static void getdb(String sql ) throws Exception
 {
  Class.forName("com.mysql.jdbc.Driver").newInstance();

  String url = "jdbc:mysql://127.0.0.1:3306/database_name" ;
  String user = "user" ;
  String pass  = "password" ;
  Connection con = DriverManager.getConnection(url , user, pass) ;
  Statement stmt = con.createStatement();
  ResultSet rs = stmt.executeQuery(sql ) ;
  while(rs.next() ){
   System.out.println(rs.getString(1));
  }
  rs.close();
  stmt.close();
  con.close();
 }
}

-------------------------------------------------------------------------
แล้ว สร้าง file run.bat ดังนี้

SET JAVA_HOME=c:\Program Files\Java\jdk1.6.0_13
set classpath=.;c:\Program Files\Java\jdk1.6.0_13\jre\lib\ext\classes12_g.jar;.\mysql-connector-java-5.1.10-bin.jar
javac  listtable.java
pause
java   listtable

-------------------------------------------------------------------------
โดย ใน Folder ที่เก็บ File *.java และ *.bat จะอยู่ที่เดียวกัน
และมีรายการ File ดังนี้


04/05/2011  01:41 PM  

         .
04/05/2011  01:41 PM  
         ..
04/05/2011  01:25 PM               843 listtable.java
09/22/2009  04:01 PM           724,225 mysql-connector-java-5.1.10-bin.jar
04/05/2011  01:25 PM               270 run.bat


-------------------------------------------------------------------------
File mysql-connector-java-5.1.10-bin.jar  เป็น file ที่อยู่ใน
path
c:\Program Files\Java\jdk1.6.0_13\jre\lib\ext\
ที่ได้รับการติดตั้ง พร้อม jdk1.6.0 _13

copy จาก
c:\Program Files\Java\jdk1.6.0_13\jre\lib\ext\mysql-connector-java-5.1.10-bin.jar
มาไว้ที่ folder ที่มี *.java *.bat


หรืออาจจะโหลดจาก web mysql ( oracle )
ที่หัวข้อ  connector/j  
แต่ต้องมี user password ก่อน
http://dev.mysql.com/downloads/connector/j/

---------------------------------------------------------------------------
แล้วรัน
> run.bat  จะ แสดงรายการ table ในฐานข้อมูล mysql นั้น


---------------------------------------------------------------------------












04 April 2011

Run Java query Oracle

Source Code

จะแสดง Table ใน Oracle ออกมา
--------------------------------------------------

import java.sql.* ;
//import oracle.jdbc.OracleDriver;
public class showtable{
public static void main(String[] args) throws Exception
{
System.out.println("OK");

String sql = "select * from tab" ;
getdb( sql ) ;

}
public static void getdb(String sql ) throws Exception
{
Class.forName("oracle.jdbc.OracleDriver").newInstance();

String url = "jdbc:oracle:thin:@192.168.1.2:1521:schemaname";
String user = "user" ;
String pass  = "password" ;
Connection con = DriverManager.getConnection(url , user, pass) ;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql ) ;
while(rs.next() ){
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
con.close();
}

}

-----------------------------------------------------------------------------
run.bat


set classpath=.;c:\Program Files\Java\jdk1.6.0_13\jre\lib\ext\classes12_g.jar;
javac  showtable.java
java  showtable


-----------------------------------------------------------------------------

04 March 2011

รวมตัวอย่าง Groovy Grail Griffon (ยำๆ)

ก็จริงๆไม่ค่อยรู้เรื่องGroovy นักเคยเขียน Groovy สักพักแต่ตอนนี้ลืมๆไปแล้ว
ใช้ประมวลผล Database command line ได้ดีพอควร
ตอนนี้ เลยมารวมๆหา Code ไว้เผื่ออ้างอิงภายหลัง
กลัวจะลืมว่าเขียนยังไง

เกริ่นนำ
http://www.blognone.com/node/9100 ( ไทย )
เว็ปเกี่ยวกับ Groovy/Grail  http://www.grails66.com/blog/?tag=groovy ไทยๆ

Groovy (Dynamic Language based on Java )
http://glaforge.free.fr/weblog/index.php?itemid=74
Groovy CLI - http://communitymapbuilder.org/display/GROOVY/Groovy+CLI
http://www.grails66.com/blog/?p=576 (Thai)

Grail for PHP developer (1,2,3)
http://michaelkimsal.com/blog/grails-for-php-developers/grails-for-php-developers-part-1/

WebService with Groovy
http://docs.codehaus.org/display/GROOVY/Groovy+SOAP
http://groovy.codehaus.org/Testing+Web+Services
http://groovy.codehaus.org/GroovyWS
http://groovy.codehaus.org/Groovy+SOAP
http://www.narisa.com/forums/index.php?autocom=blog&blogid=25&showentry=1825 (ไทย)

Griffon  (GUI / Applet )
http://griffon.codehaus.org/
http://jroller.com/aalmiray/tags/gfx
http://griffon.codehaus.org/Quick+Start#QuickStart-CreateaGriffonproject


Griffon + Grail  (REST Style)
http://wordpress.transentia.com.au/wordpress/2010/05/10/another-groovymag-masterpiece-gambling-on-griffon-and-grails-going-gangbusters/


With NetBeans
http://docs.codehaus.org/display/GROOVY/NetBeans+Plugin

28 February 2011

GlassFish Link From Twiiter

GlassFish Link ( Oracle/Sun )


GlassFish Server 3.1 now available  http://glassfish.java.net/

Oracle SQL
http://timurakhmadeev.wordpress.com/2011/02/28/distinct-placement/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+orana+(OraNA)

-----------------------------------------------------------------------------

ออราเคิลเผยฟีเจอร์ของ Java EE 7 และ Java EE 8, อาจเลิกจัด JavaOne
http://www.blognone.com/news/22136?utm_source=twitterfeed&utm_medium=twitter


-----------------------------------------------------------------------------
Oracle Security Worst Security Practices
วิธีการปฏิบัติเกี่ยวกับความปลอดภัยฐานข้อมูล

Oracle SQL Plus Command 
http://awads.net/wp/2011/03/01/little-known-sqlplus-show-command-options/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+orana+(OraNA)


PL/SQL Topic
http://triangle-circle-square.blogspot.com/2011/03/i-quizzed-oracle-community.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+orana+(OraNA)

Oracle Trigger
http://blog.sydoracle.com/2011/03/for-each-row-trigger-fires-at-least.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+orana+(OraNA)

Oracle BI
http://skrajend.blogspot.com/2011/03/horizontal-scaling-obiee-11g.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/skrajend+(Senthil+Rajendran's+Blog)


JDev
http://darwin-it.blogspot.com/2011/03/jdeveloper-11g-and-otn-soabpm-appliance.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+orana+(OraNA)

28 January 2011

อ่าน XML ขนาดใหญ่ ระดับ 1GB ขึ้นไป ด้วย XOM

ลองหาข้อมูลว่า จะ อ่าน XMLขนาดใหญ่ระดับ 1GB ที่ export ออกมาได้ไง
ก็ได้ ว่า Library ชื่อ XOM ของทางฝั่ง Java ทำได้ ไม่ยาก

มีข้อมูลดังนี้ครับ ... แต่ยังไม่ได้ลอง นะครับ

http://www.xom.nu/

http://www.xom.nu/samples.xhtml
http://www.xom.nu/tutorial.xhtml
http://www.xom.nu/xpath.xhtml

ตัวอย่างการใช้ (tutorial )
http://www.xml.com/pub/a/2002/11/27/xom.html
http://javaboutique.internet.com/tutorials/XOM/index3.html