ข้ามไปที่เนื้อหาหลัก

apache tomcat

1. download apache tomcat
ผมโหลด ตัว Core : tar.gz นะ

2. extract to folder
3.
$ bin/startup.sh

แล้วจะเข้าเวปได้จาก http://localhost:8080

5. เข้า tomcat manager
6. มันจะถาม username, password
ซึ่งจริงๆต้อง ไปใส่ username, password ในไฟล์ /conf/tomcat-users.xml ก่อน

ตามนี้
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="dsin" password="somepassword" roles="manager,admin"/>
</tomcat-users>


แล้ว restart tomcat ทีนึง

>> ถ้า start webapp บางตัวไม่ติด ให้ไปดูไฟล์ log/catalina.out หรือ

$ tail -f log/catalina.out
ก็ได้

>> ถ้าอยากเปลี่ยน port ที่รัน tomcat แก้ใน conf/server.xml

<Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>


อยากเปลี่ยน version ของ tomcat แก้ใน
etc/default/tomcat7
JAVA_HOME=/usr/lib/jvm/java-7-oracle



วิธี deploy webapp ( เขียน app ลง tomcat นั่นแหละ )

วิธีง่ายสุด

1. ก๊อปไฟล์ war ที่ิ build จาก mvn clean install ไปวาง
sudo cp /vagrant/HelloSpringVagrant/target/HelloSpring.war /var/lib/tomcat7/webapps/
2. restart tomcat

Build + Deploy Auto โดยใช้ MVN

วิธี install maven

pom.xml

$ mvn clean tomcat7:runwar
Build + Deploy Auto โดยใช้ Ant

1. ลง ant ก่อน apt-get install ant
2. ทำให้ ant รู้จัก apache tomcat
copy ไฟล์ lib/catalina-ant.jar ไปลงที่ ant library directory
ของผมอยู่ที่ /usr/share/ant/lib ( เราสามารถดูจาก snaptic ได้ )

3.
สร้างโฟสเดอร์ app ไว้ที่ไหนก็ได้บนเครื่อง เช่น [project dir]
ใส่ไฟล์ build.xml ไว้ที่ top level ของ project directory แล้วใส่ build.properties ตามนี้ ไว้ที่เดียวกัน

3.1 build.xml
Ant จะอ่าน build conf จาก build.xml
ดูตัวอย่าง ไฟล์ build.xml
- เราอาจเปลี่ยน project name="My Project"
- ถ้าเปลี่ยน port tomcat ต้องแก้
<property name="manager.url" value="http://localhost:8088/manager"/> เป็น port ใหม่ด้วย

3.2 config.properties
ถ้ามี config พวก specific ที่ต่างๆกันในแต่ละ development environment ให้ไปเขียนไว้ใน build.properties ซึ่งมันจะ override build.xml อีกที

config.properties
# Context path to install this application on
app.path=/hello

# Tomcat 6 installation directory
catalina.home=/home/dsin/apache-tomcat-6.0.18

# username password ของ Tomcat manager ที่ตั้งไว้ใน conf/tomcat-users.xml
manager.username=dsin
manager.password=somepassword

4. อย่าลืม start tomcat ก่อน จากนั้น
ไปที่ top level

$ ant install

ถ้าสำเร็จ tomcat จะสร้างไฟล์ไว้ที่ $CATALINA HOME/webapps/ โดยอัตโนมัติ
ถ้าลงแล้ว fail อยากลงใหม่ / หรือ ต้องการแก้โค้ด ใช้

$ ant reload

ถ้าอยาก remove
$ ant remove # uninstall from /webapps/

** NOTE : ant จะอ่าน config file จาก build.xml แล้วทำตาม config file นั้นน้ะจ้ะ

5. ทดลองสร้าง Class HttpServlet ใน src
เช่น
[project dir]/src/mypackage/Hello.java
NOTE : สร้าง dir ชื่อแพคเกจก่อน ในที่นี้คือ mypackage

เอาคลาสใน src ไปสร้าง war file ด้วย

$ ant dist


6. ต่อไปพวก static ไฟล์ทั้งหลาย
เอาไฟล์ hello.jsp, index.html ไว้ที่ [project dir]/src/web
tomcat.gif ไว้ใน [project dir]/src/web/images

ใส่ไฟล์ web.xml ไว้ที่ [project dir]/web/WEB-INF

บอก tomcat ว่า จะให้ แพคเกจนี้ไปขึ้นที่ URI ไหน โดยเพิ่มโค้ดในไฟล์ web.xml


reference
hello
โฟลเดอร์ที่แนะนำให้สร้างในโฟลเดอร์ app ของเรา
docs/src/
.java to generate Servlets, JavaBeans
ส่วนใหญ่ คลาส ของเวปจะถูกเขียนเป็น packages ดังนั้น โฟลเดอร์ src นี้ก็จะมี โฟลเดอร์ย่อยๆ เป็น โฟลเดอร์ของ package อยู่

web/

นี่คือ document-root เลยแหละ
เอาไว้ใส่พวกไฟล์ static ทั้งหลาย (.jsp , .html, .js , .css, image files)

web/WEB-INF/
เก็บไฟล์ config, application server ไม่อนุญาตให้เข้าถึง directory นี้ผ่านทางเวปได้

• web.xml:
• tag : library descriptor files
• classes/ server-side classes: servlets, utility classes, and JavaBeans components.
If your classes are organized into packages, the package structure should be replicated as directories under classes/
• tags/: contain tag files implementing tag libraries
• lib/: contain JAR archives of any libraries called by the server-side classes

web/META-INF/context.xml
Tomcat-specific configuration, e.g., for logging, data sources, etc.

และระหว่าง development แนะนำให้สร้างสองไดเรกทอรี่ข้างล่างนี้ด้วย
build/: the image to be archived and deployed to the container.
dist/
: the binary image to be created for distribution.

build and dist directories should not be archived in source code control. Likewise, it is recom-
mended that any libraries you need, for example JDBC drivers, should not be stored in source code control. They should be copied in at build time with ant.


แถมๆๆ
[eclipse] Add Tomcat Project to Tomcat  

Project Properties

   tick Is a Tomcat Project
    and put the Context name to the /urinaja
   In this case, URL will be http://localhost:8080/urinaja
     if not shown up, try to restart tomcat.




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ส่งไปรษณีย์ทีละมากๆ ที่ช่องไปรษณีย์สำหรับธุรกิจ

  ถ้าเราส่งไปรษณีย์ทีละ 10 กล่องขึ้นไป สามารถไปส่งโดยใช้ช่องทางธุรกิจได้ โดยต้องกรอกใบรับฝากรวม ( Receipt for bulk Posting ) เป็นลิสต์รายการให้เขาไปด้วย โดยกรอกพัสดุแต่ละรายการ และ ไปยื่นให้เขาพร้อมกับพัสดุที่จะส่ง วิธีกรอก คือ ให้กรอกพัสดุแบบเดียวกันไว้แผ่นเดียวกัน  เช่น พัสดุ10 กล่อง กล่องขนาดเท่ากัน น้ำหนักเท่ากันหมด กรอกไว้ 1 แผ่น ถ้าน้ำหนักต่างกัน ขนาดกล่องต่างกัน กรอกแยกแผ่นไว้ดีที่สุด ซึ่งใบนี้สามารถไปขอได้ที่ไปรษณีย์ฝ่ายธุรกิจ สามารถนำมาทำใส่ A4 ก็ได้ ขอบคุณคุณพี่ amarin.ch ที่ไปรษณีย์กลาง ( BANGKOK G.P.O. ) มากๆ นะครับ สำหรับคำแนะนำ ขอบคุณที่ช่วยคีย์ให้ทีละรายการสำหรับมือใหม่ที่ยังไม่รู้ว่ามีใบรับฝากรวมอย่างผมด้วยครับ คราวหน้าผมจะทำใบรับฝากรวมไปครับ

[ AI ] IBM granite, NVIDIA robotics, IBM Langflow, watsonx, LMCache, LiteRT, Self driving car, Mamba model, RAG

 IBM granite: Time series from sensor, stock market * Forcast * Anomaly detection - classification high medium risk, data synthesis Embedding AI - 1M params - edge device - small AI Send insight --- NVIDIA * Jackson Thor robotic * Nemo ---- * IBM Langflow : open source * Watsonx (n8n) Enterprise : guardrails / log, tool using policy ----- LMcache : open source KC cache Prompt -> key value (RAGs) Same context ( e.g. same docs) Reduce operating costs CacheGen : make cache cheap to move and store CacheBlend : reuse chunk, not just prefix ---- Google มี framework ที่ optimize AI บน mobile phone นั่นคือ LiteRT : google pytorch Quantisation เท่าไหร่บน device นี้ Model explorer: quantize แล้ว error < 5% XMNpack ใช้ CPU ลดลง Google AI edge portal : benchmark AI on real device ---- Self driving car * Nvidia Alpamayo 2 model * Carla simulation Random forest -> multiple scenarios -> json -> LLM Car talk to mobile phone (cross the road) ----- Mamba model (recursive)  - alte...

อยู่เหงาๆ เราไปเที่ยว - ไหว้พระขอพร ศาลเจ้าแม่ทับทิม (อาม่า), เจริญกรุง, กรุงเทพ; 天后聖母廟, 石龙軍路, 曼谷, 泰国; Thap Thim Chinese Goddess Shrine, Chareon Krung 63 Road, Bangkok, Thailand

天后聖母廟, 石龙軍路, 曼谷, 泰国 ไหว้ศาลเจ้าแม่ทับทิม ขอให้การค้าเจริญรุ่งเรือง ตำนานเจ้าแม่ทับทิมเกิดที่ตำบลตุ้ยบ๊วย เขตบ่นเซียว เกาะไหหลำ มีผู้เฒ่าแซ่พัว เป็นผู้มีความซื่อสัตย์สุจริต ทำงานขยันขันแข็ง ครั้งหนึ่งแกออกไปหาปลา โดยผูกแหเป็นช้อนดักปลา เวลาผ่านไปแกยังหาปลาไม่ได้ คืนนั้นก็ประสบความล้มเหลว เมื่อช้อนแหขึ้นมาทีไรก้อมีแต่ท่อนไม้ ด้วยความโมโหแกเลยขว้างท่อนไม้นั้นออกไปให้ไกล แต่แล้วเมื่อช้อนแหขึ้นมาใหม่ก็ปรากฏท่อนไม้ท่อนเดิมอีก ต่อจากนั้นแกก็ขว้างท่อนไม้ขึ้นฝั่ง และแกก็ฉุก คิดว่าแปลกที่ท่อนไม้ธรรมดาจะสามารถลอยทวนน้ำได้ คงจะเป็นสิ่งวิเศษ และแกก็ได้นำท่อนไม้นั้นขึ้นฝั่ง และเพ่งมองท่อนไม้นั้นพร้อมกับอธิษฐานว่า หากท่อนไม้นี้มีความศักดิ์สิทธิ์ขอให้คืนนี้จับปลาได้มาก เมื่อพ้นจากความจนแล้ว เมื่อขึ้นฝั่งจะนำท่อนไม้นี้แกะสลักเป็นเทวรูปศักดิ์สิทธิและสักการะบูชาเช้าวันไม่ให้ขาด เมื่ออธิษฐานจบแกเอาท่อนไม้นั้นวางบนหัวเรือ ปรากฏว่าช้อนเพียงสองถึงสามครั้งก็ได้ปลาตัวโตเต็มเรือ จึงนำปลาขึ้นฝั่งวันนั้นปลาของแกขายได้ราคา เพราะชาวประมงคนอื่นจับได้น้อยแกจึงมีเงินจับจ่ายใช้สอย และทุกครั้งที่แกออกหาปลา ...

EJB development ด้วย Glassfish Server -- Part 2 ( Create a project )

สร้าง project สำหรับ EJB module สร้าง EJB project ชื่อว่า titan-ejb เลือก Target Runtime : Glassfish คลิกขวาที่ Project ติ๊ก JPA facet, และ configure JPA facet ให้ใช้ connection profile ที่สร้างไว้แล้ว >>>>>>>>>>>>>>>>>>> วิธีสร้าง JPA Entity: - คลิกขวาที่ Project Explorer - New->Class ชื่อ com.titan.domain.Cabin implement java.io.Serializable [ Serializable คือ สามารถ convert class to String แล้วส่งไปที่ network ได้ ] วิธีสร้าง implement class บน eclipse มันก็จะสร้างฟังก์ชั่นโบ๋ๆ มาให้ package com.titan.domain; import java.io.Serializable; public class Cabin implements Serializable { } - Add the fields static final long serialVersionUID = 1L; private int id; private String name; private int deckLevel; private int shipId; private int bedCount; - สร้าง getters and setters สำหรับ id, name, deckLevel, shipId, and bedCount. [ ใน eclipse ง่ายมาก ไปที่ Source > Generate setters and getters ( หรือ คลิกขวาตรงที่เขียนโค้ด So...

20 th century boys movie ( 20世紀少年, Nijisseiki Shōnen )

โอ ว้าววว มีภาคโ รงหนังด้วย เห็นเขาว่า ทำเป็น 3 ภาค ภาคแรก ฉาย 30 สิงหาคม 2008 นี้แล้ว ถ่ายใน 7 ประเทศ ซึ่งแน่นอนว่า ต้องมีประเทศไทยด้วยแน่นอน theme song “20th Century Boy” ร้องโดย วงร๊อกอังกฤษ T.Rex ดูหน้าคนเล่นกันดีกว่า casting เอ็นโด เคนจิ แสดงโดย Toshiaki Karasawa โอตโจะ แสดงโดย Etsushi Toyokawa ยูคิจิ แสดงโดย Takako Tokiwa โยชิสึเนะ แสดงโดย Teruyuki Kagawa มารุโอะ แสดงโดย Hidehiko Ishizuka เคโรยอน แสดงโดย Hiroyuki Miyasako ดองกี้ แสดงโดย Katsuhisa Namase ยามาเนะ แสดงโดย Fumiyo Kohinata ฟุคุเบ แสดงโดย Kuranosuke Sasaki มันโจเมะ อินชู แสดงโดย Renji Ishibashi พระเจ้า เอ็นโด คิริโกะ แสดงโดย Hitomi Kuroki มาซาโอะ ทามุระ แสดงโดย ARATA มอนจัง แสดงโดย Takashi Ukaji แม่ของเคนจิ นักแสดงอื่นๆอีก ตัวละคร 300 กว่าตัว Match หน้ากับชื่อ ไม่ถูกกันเลยทีเดียว Nana Katase - Mika Shikishima Chizuru Ikewaki - part-time worker Erika Mirai Moriyama - mangaka Kameda Yu Tokui - convenience store employee Miyako Takeuchi - Setsuko Ichihara Yoriko Doguchi - Mitsuko Kido Kenichi Endo - bloody man Ke...

เฉินหลงฟัดในปี 2025 The Shadow's Edge

เริ่มดูเพราะ ฉากในลิฟต์ ที่เด้งมาใน tiktok เลยรู้สึกว่า หนังดูมีอะไรจังวะ  พอดูจริงๆ หนังมีอะไรอย่างที่คิดไว้ แม้ตอนแรกๆ ตอนปล้น อาจจะให้ความรู้สึกเหมือน Now You See Me ไปบ้าง แต่หนังมีความสนุก มีอารมณ์ความรู้สึก  มีการใส่เทคโนโลยีใหม่ๆ อย่าง เทคโนโลยีคล้ายๆกับของ Peter Theil แต่ก็ทำงานร่วมกับคนรุ่นเก่าอย่างเฉินหลงได้อย่างดี มีการสร้างตัวร้ายที่เก่งสมน้ำสมเนื้อ  และ ทิ้งท้ายว่า จะมีภาคต่ออีกต่างหาก ชอบประโยคที่ว่า "นายต้องจบงานเองได้"

เบื่อๆ ไปเที่ยวสิ รวมที่เที่ยวที่อยากไป เวลาเปิด แล้ว แผนที่

ที่เที่ยว ใน กรุงเทพ ที่น่าไป พิพิธภัณฑ์สยาม ที่อยู่ : กระทรวงพาณิชย์เดิม ใกล้วันโพธิ์ ตรงข้ามโรงเรียนวัดราชบพิตร เวลาทำการ : จันทร์ ปิด อังคาร - พฤหัสบดี 09.30 - 18.00 ศุกร์ 09.30 - 21.00 เสาร์ - อาพิตย์ 09.30 - 19.00 Official Web : คลิก ไปมาแล้ว ตามนี้ หอศิลปวัฒนธรรมแห่งกรุงเทพมหานคร (BMA Contemporary Art Museum) หรือ หอศิลป์กรุงเทพฯ เวลาทำการ : จันทร์ ปิด วันอื่นๆ 10.00 - 21.00 น. Official web : คลิก ไปมาแล้ว ตามนี้ สวนสัตว์ดุสิต หรือ เขาดิน วันก่อนโน้นผ่าน เห็นว่าทำใหม่แล้ว ประตูเข้าอลังการมาก เลยอยากเข้าไปดู เวลาทำการ 08.00-18.00 น. ทุกวัน Official web : คลิก ไปมาแล้ว ตามนี้ วัดสระเกศ ภูเขาทอง เปิดให้เข้าชมตั้งแต่เวลา 07.30 – 17.30 น. น่าจะมีงานวัดช่วงลอยกระทง ( ต้นๆ พ.ย. ) ด้วยนะ น่าไปๆ แผนที่ จ้ะ ไปมาแล้ว ตามนี้ ( แต่ไม่ได้ไปตอนมีงาน ) ตำหนัก โชคชัย 4 และ พระมหาเจดีย์พระพุทธเจ้าหมื่นพระองค์ ที่อยู่ : 4/37 ซอยสุขสันต์ 7 ถนนลาดพร้าว 53 (โชคชัย 4) อ.ลาดพร้าว โทร. 66 2 5140715 , 66 2 5389368 แผนที่ จ้ะ ไปม...

อยู่เหงาๆ เราไปเที่ยว - วัดอรุณราชวราราม ( วัดแจ้ง ) + วัดสระเกศ ( ภูเขาทอง )

เอนทรีนี้เป็นส่วนหนึ่งของ serie ท่องเที่ยว ดูบทความท่องเที่ยว อื่นๆ ของผม ได้ที่  ลิงก์นี้  นะครับ คำเตือน เอ็นทรีนี้รูปเยอะมากกกก ควรปิดบิตก่อนดู ผ่างๆๆ ท่านสามารถรับชมเอนทรีนี้ผ่าน url http://tinyurl.com/goldenMount ได้ด้วย วันนี้ตั้งใจไปวัดอรุณฯ เดินทางทางน้ำเหมือนเดิม แต่คราวนี้นั่งเรือ ธงสีฟ้า ( คราวก่อน นั่งเรือ ธงสีส้ม ) พอถึงท่าสาทร เขาบอกว่า ให้ลงลำที่จอดอยู่ได้เลย เก็บตังในเรือ ก็ งงๆ เดินลงไป เหมือนเดิมครับ ชูชีพอยู่ใต้ที่นั่งของท่าน พอเรือออกสักพัก มีไกด์ มาบรรยาย อ้าว กรำ ขึ้นผิดเรือรึเปล่า นี่มันเรือท่องเที่ยว 150 บาท ไม่ใช่เร๊อะ กะลังอึ้งๆอยู่ แต่พอไกด์พูดไปสักพัก ก็เลยรู้ว่า 150 บาท มันราคาเหมาวัน แล้วก็ได้ความรู้ของท่าเรือ แล้วก็สองข้างทาง เรือธงฟ้านี่มันไปสุดที่ท่าพระอาทิตย์เท่านั้นเองนะ แล้วก็กลับ ตอนไปมีสาวคนนึง ถามว่า จะไปวัดสระเกศ ไปทางไหน ถ้าฟังไม่ผิด คนเก็บตังบนเรือ บอกว่า ท่ามหาราช จากนั้นก็คุยอะไรกันไม่รู้ ไม่ได้ยินแล้วล่ะ เรือธงฟ้า มันใหญ่กว่า น่าหวาดเสียวน้อยกว่า น้ำกระเด็นน้อยกว่า แพงกว่า...

แนะนำ ยาบำรุงครรภ์ จับซาไท้เป้า หรือ 13 องครักษ์พิทักษ์ครรภ์ ยาจีน บำรุงครรภ์

จับซาไท้เป้า  ยาบำรุงครรภ์ สมุนไพรจีน ช่วงนี้เพื่อนๆ เริ่ม ทยอย แต่งงาน กันแล้ว นะครับ เราเองก็มียาจีนมา นำเสนอ ซึ่งเป็น ยาดี ที่คุณแม่ ของเรา ทาน ตอนคลอดเรา นั่นก็คือ "จับซาไท้เป้า" ยาบำรุงครรภ์ นั่นเอง เงง เงง เงง เงง จับซาไท้เป้า เป็น ยาจีน ซึ่ง ประกอบไปด้วย สมุนไพร จีน 13 อย่างด้วยกัน มี สรรพคุณ เป็น ยาบำรุงครรภ์ บำรุง ทั้งคุณแม่ และ คุณลูก เลย เรียกได้ว่า สรรพคุณ ครบครัน บำรุง คุณแม่ ช่วงตั้งท้อง ช่วยให้ คุณลูก แข็งแรง มีผิวพรรณ สะอาดสะอ้าน ในตอนที่คลอดออกมา จะ คลอดง่าย ตัวจะไม่มีคราบไขมันติดเยอะ จ้า วิธีกินจับซาไท้เป้า ทานตั้งแต่ท้อง 5 เดือนขึ้นไป 2 อาทิตย์ทาน 1 ห่อ ทานจนคลอด ศิริรวมแล้ว ถ้าทาน ครบ dose โดยเริ่มตั้งแต่ 5 เดือน ต้องทานทั้งหมด 10 ห่อ จ้ะ วิธีต้มจับซาไท้เป้า  1 ห่อ ต้มได้ 2 ครั้ง ครั้งแรก ใส่น้ำ 3 ถ้วย ต้มเหลือ 8/10 ถ้วย ครั้งที่ 2 ใส่น้ำ 2.5 ถ้วย ต้มเหลือ 7/10 ถ้วย ซื้อที่ไหนดี หลายๆ คน มักจะมีคำถาม ว่า จับซาไท้เป้า ซื้อที่ไหน  ซึ่งเราเอง แนะนำร้านขาย จับซาไท้เป้า ซึ่งก็คือ ร้าน ขายยา ย่ง เช...

กระแส AI อุตสาหกรรมอะไรดีบ้าง

กระแส AI Super Cycle ไม่ได้ส่งผลดีแค่กับคนทำซอฟต์แวร์ แต่กำลัง "ยกแผง" อุตสาหกรรมโครงสร้างพื้นฐาน (Infrastructure) ทั้งหมด โดยเฉพาะ 3 กลุ่มหลัก ดังนี้ครับ: 1. อุตสาหกรรมพลังงาน (Energy & Utilities) AI คือ "จอมเขมือบไฟ" ทำให้บริษัทที่ทำระบบผลิตไฟฟ้าและจัดการพลังงานกลายเป็นพระเอกใหม่ โดยเปลี่ยนจากพลังงานแบบเดิมมาเป็นเทคโนโลยีที่สะอาดและเสถียรมากขึ้น สิ่งที่ดีขึ้น: มีการนำเทคโนโลยี Fuel Cell มาใช้ผลิตไฟฟ้าโดยไม่ผ่านการเผาไหม้ เพื่อตอบโจทย์ Data Center ที่ต้องรัน 24 ชม. ตัวอย่าง: Bloom Energy (BE): ใช้ระบบ Solid-oxide Fuel Cell เปลี่ยนก๊าซเป็นไฟฟ้าให้ Oracle แบบ 100% ในโปรเจกต์ยักษ์ Delta Electronics: กลายเป็นตัวตึงด้านระบบจัดการพลังงานที่กำไรทุบสถิติประวัติศาสตร์ 2. อุตสาหกรรมฮาร์ดแวร์และเซมิคอนดักเตอร์ (Hardware & Supply Chain) เมื่อ AI ต้องประมวลผลมหาศาล อุปกรณ์เบื้องหลังจึงต้อง "อัปเกรด" ขนานใหญ่ จนเกิดสภาวะ "คนขายเป็นใหญ่" (Seller's Market) สิ่งที่ดีขึ้น: ความต้องการชิ้นส่วนเฉพาะทางพุ่งสูงขึ้นอย่างก้าวกระโดด ทั้งแผ่นรองชิป, หน่...