Java Bookstore(Series 5) Struts 2

ใน series ต่อไปนี้เราจะลองใช้ struts 2 กันเบื้องต้นโดยเขียน HelloWorld กันจะมีการใช้ tool ที่เรียกว่า Maven ด้วยครับ Maven เป็น command-line tool ใช้ในการ build และ package project รวมถึงช่วยเรื่อง manage dependencies ช่วยให้เราพัฒนา project ต่างๆ ได้ง่ายขึ้น ซึ่งเราจะใช้ไฟล์ชื่อ pom.xml ในการ config ค่าต่างๆ ในบทความนี้เราจะใช้ Maven 4 ซึ่งบรรจุอยู่ใน Eclipse-kepler อยู่แล้ว (การพัฒนาโปรแกรม Java ด้วย Eclipse IDE for Windows 64-bit)
เริ่มต้นสร้าง Maven Project ตามรูปที่ 1 ให้เปิด eclipse เลือกเมนู File > New > Other…
จะปรากฏหน้าจอตามรูปที่ 2
รูปที่ 1

 

จการูปที่ 2 ให้เลือกโฟลเดอร์ Maven > Maven Project แล้วกดปุ่ม Next >
รูปที่ 2
จะได้ผลตามรูปที่ 3 จากนั้นกดปุ่ม Next >
รูปที่ 3

 

ให้เลือกตามรูปที่ 4 เป็นการเลือก template ของการสร้างเว็บแบบง่ายๆ แล้วกดปุ่ม Next >
รูปที่ 4

 

ให้กรอกข้อมูลตามรูปที่ 5 แล้วกดปุ่ม Finish
รูปที่ 5

 

เราจะได้โครงสร้าง project ตามรูปที่ 6
รูปที่ 6

 

จากนั้นเราจำเป็นต้องเพิ่ม struts 2-core dependency ในไฟล์ config ที่ชื่อว่า pom.xml ตามตัวอย่างที่ 1 (ส่วนที่เป็นสีส้มคือ code ที่เพิ่ม)
ตัวอย่างที่ 1 pom.xml
        <modelVersion> 4.0.0</ modelVersion>
        <groupId> com.apress</groupId >
        <artifactId> helloWorldStruts2</artifactId >
        <packaging> war</ packaging>
        <version> 0.0.1-SNAPSHOT</version >
        <name> helloWorldStruts2 Maven Webapp</name >
        <url> http://maven.apache.org</url >
        <dependencies>
               <dependency>
                      <groupId> junit</groupId >
                      <artifactId> junit</artifactId >
                      <version> 3.8.1</ version>
                      <scope> test</ scope>
               </dependency>
               <dependency>
                      <groupId> org.apache.struts</groupId >
                      <artifactId> struts2-core</artifactId >
                      <version> 2.3.16.3</ version>
                      <type> jar</ type>
                      <scope> compile</ scope>
               </dependency>
        </dependencies>
        <build>
               <finalName> helloWorldStruts2</finalName >
        </build>
</project>
จากนั้นให้เราทำการแก้ไข web.xml ซึ่งก็คือ deployment descriptor โดยเราจำเป็นต้อง config servlet filter ขึ้นตามตัวอย่างที่ 2
ตัวอย่างที่ 2 web.xml
<!DOCTYPE web-app PUBLIC
 “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
 
<web-app>
        <display-name> Hello World Struts 2 Web Application</display-name >
        <filter>
               <filter-name> struts2</ filter-name>
               <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
        </filter>
 
        <filter-mapping>
               <filter-name> struts2</ filter-name>
               <url-pattern> /*</ url-pattern>
        </filter-mapping>
</web-app>
จากตัวอย่างที่ 2
  • StrutsPrepareAndExecuteFilter จะทำหน้าที่เป็น servlet filter ตาม URL pattern ที่เราได้ map ไว้
ต่อไปให้สร้างไฟล์ struts.xml (สร้างโฟลเดอร์ classes ใต้โฟลเดอร์ WEB-INF แล้วสร้างไฟล์ struts.xml ใต้ classes อีกที)  ตามรูปที่ 7
รูปที่ 7

 

รูปที่ 8 
จากรูปที่ 8 ให้เลือกโฟลเดอร์ XML > XML File แล้วกดปุ่ม Next >
ต่อไปให้ตั้งชื่อไฟล์ว่า struts.xml แล้วกดปุ่ม Finish
รูปที่ 9

 

ให้แก้ไขไฟล์ struts.xml ตามตัวอย่างที่ 2
ตัวอย่างที่ 2 struts.xml
<?xml version= “1.0” encoding =“UTF-8”?>
<!DOCTYPE struts PUBLIC
 “-//Apache Software Foundation//DTD Struts Configuration 2.0//EN”
 
<struts>
        <constant name= “struts.devMode” value =“true” />
        <package name= “basicstruts2” extends =“struts-default”>
               <action name= “index”>
                      <result> /index.jsp</result >
               </action>
        </package>
</struts>
จากตัวอย่างที่ 2
  • action name index จะทำการ render หน้า index.jsp (ตามรูปที่ 6 ถูกสร้างตั้งแต่ตอนสร้างโปรเจ็ค) เมื่อมีการเรียก action นี้
ให้เรา deploy web application ไปยัง Tomcat server ที่เรา set ไว้ตั้งแต่ series 4 (Java Programming Bookstore Application (Series 4): Building Web Applications Using Servlets and JSP)
ก่อน run project ให้เรา คลิกเมาส์ขวาที่ไฟล์ pom.xml และเลือก Run As > Maven install ให้สังเกตที่ console tab ตามรูปที่ 11
รูปที่ 10

 

รอจน eclipse download dependency จนสำเร็จตามรูปที่ 11
รูปที่ 11

 

จากนั้นลอง start Tomcat Server แล้วทดสอบกัน http://localhost:8080/helloWorldStruts2/
ได้ผลตามรูปที่ 12
รูปที่ 12
เมื่อได้ผลตามรูปที่ 12 เราก็แน่ใจได้ว่าเรา config ถูกต้องแล้ว ต่อไปเราจะให้ HelloWorld Project ของเราแสดงข้อความยินดีต้อนรับผู้ใช้งานกัน
Java Programming Bookstore Appication (Series 5.1): Building a Web Application Using Struts 2
ตอนต่อไปติดตามได้ที่
Java Programming Bookstore Appication (Series 5.1): Building a Web Application Using Struts 2
Java Programming Bookstore Application (Series 6): Building Java Web Applications with Spring Web MVC
Java Programming Bookstore Application (Series 7): Component-Based Web Development Using JSF 2
Java Programming Bookstore Application (Series 8): Rapid Web Development with Grails
Java Programming Bookstore Application (Series 9): Play with Java and Scala
อ้างอิง
 
ผู้เขียน: procodeblog
Advertisements

1 คิดบน “Java Bookstore(Series 5) Struts 2

ใส่ความเห็น

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 / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s