Struts 2 Hello World Example 專案 本範例實作說明: 本篇主要使用 Spring Batch,做一個基本測試專案,     此Batch 為 讀取csv檔 轉換為 xml檔 的功能。 使用到 Spring Batch 的 ItemReader、ItemProcessor和ItemWriter 。 也將 Spring Batch job metadata 加入 ,但本例不說明(另文說明)。 一、範例開發準備工具   作業系統:Windows 7 開發工具:Eclipse Java EE IDE for Web Developers Juno Service Release2 JAVA JDK : JDK1.7.0_60 其它相關:Maven 4.0  Struts Version 2.3.20 二、新增Maven範例專案 範例專案名稱:Struts2HelloWorldExample 圖1 開啟Eclipse -> File -> New -> Maven Project

圖2 選擇專案存放位置 use default Workspase location-> Next    選擇存放在預設的工作資料夾下(就是你開Eclipse時,選擇Workspase下)

圖3 使用 Maven 範本    本例選用: Group id : org.apache.maven.archetypes Artifact id : maven-archetype-webapp Version : RELEASE    -> Next 註: Group id為公司名稱 or 群組分類名稱 Artifact Id 為專案標識符,就是專案名稱

圖4 範例專案 Group id : Struts2HelloWorldExample Artifact id : Struts2HelloWorldExample Version : 0.0.1-SNAPSHOT Package : com.levin       -> Finish

圖5 新增專案後,基本預設資料

三、使用相關jar檔 圖6 開啟 pom.xml

pom.xml內容:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>Struts2HelloWorldExample</groupId>
 <artifactId>Struts2HelloWorldExample</artifactId>
 <packaging>war</packaging>
 <version>0.0.1-SNAPSHOT</version>
 <name>Struts2HelloWorldExample Maven Webapp</name>
 <url>http://maven.apache.org</url>
 
 <properties>
  <jdk.version>1.6</jdk.version>
  <struts2.version>2.3.20</struts2.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
 
 <dependencies>
  <!-- struts2 http://mvnrepository.com/artifact/org.apache.struts -->
  <dependency>
   <groupId>org.apache.struts</groupId>
   <artifactId>struts2-core</artifactId>
   <version>${struts2.version}</version>
  </dependency>
  
 </dependencies>
 <build>
  <finalName>Struts2HelloWorldExample</finalName>
  <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
     <source>${jdk.version}</source>
     <target>${jdk.version}</target>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

註:主要struts2 JAR <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>${struts2.version}</version> </dependency> 四、建立Struts2資訊檔 Struts.xml 檔案路徑:src/main/resources/struts.xml 圖7 Struts.xml

Struts xml file 檔內容:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>

 <package name="user" namespace="/User" extends="struts-default">
  <action name="Login">
   <result>pages/login.jsp</result>
  </action>
  
  <action name="Welcome" class="com.levin.user.action.WelcomeUserAction" >
   <result name="SUCCESS">pages/welcome_user.jsp</result>
  </action>
  
 </package> 
  
</struts>

註: 1. package name=”user” 這是一個package 名稱。 2. namespace=”/User”    這是用來設定匹配URL,使用此項設定。   3. extends=”struts-default”    這是延伸使用預設的套件和攔截器    而這struts-default.xml中的文件,    位於struts2-core.jar的根目錄下。 五、相關java程式 檔案路徑: src/main/java/com/levin/user/action/WelcomeUserAction.java 圖8 WelcomeUserAction.java程式

程式內容:

package com.levin.user.action;

import com.opensymphony.xwork2.ActionSupport;

public class WelcomeUserAction extends ActionSupport {

 private static final long serialVersionUID = 2374390320744044803L;
 private String username;

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String execute() {
  return "SUCCESS";
 }
}

註: ActionSupport 是提供一些方便的常數及方法。 import com.opensymphony.xwork2.ActionSupport 這也可以不用 extends ActionSupport。 六、相關jsp程式及web.xml設定 jsp檔案路徑: src/main/webapp/User/pages/login.jsp src/main/webapp/User/pages/welcome_user.jsp src/main/webapp/index.jsp web.xml檔案路徑: src/main/webapp/WEB-INF/web.xml 圖9

七、index.jsp程式 首頁連結用的。 程式內容:

<html>
<body>
<h1>Struts 2 Hello World Example !</h1>
</body>
</html>

八、login.jsp程式 測試struts的頁面。 輸入帳號及密碼,這裡無檢核。可以任意輸入。 程式內容:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<h1>Struts 2 Hello World Example !</h1>

<s:form action="Welcome">
 <s:textfield name="username" label="Username"/>
 <s:password name="password" label="Password"/>
 <s:submit/>
</s:form>

</body>
</html>

註: 此為設定使用struts tag <%@ taglib prefix="s" uri="/struts-tags" %> 九、welcome_user.jsp程式 顯示登入的使用者名稱 程式內容:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<h1>Struts 2 Hello World Example !</h1>
<h4>Hello <s:property value="username"/></h4>
</body>
</html>

十、web.xml 這裡設定struts2 相關的filter。 此需要設定才能在網頁上使用到struts 程式內容:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
 <display-name>Struts2 Hello World</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>

十一、使用Tomcat server 測試 圖10 在專案按右鍵-> Run As -> Run on Server

圖11 選擇Tomcat server -> Finish

圖12 啟動 檢查是否有錯誤訊息

圖13 進入首頁 http://localhost:8081/Struts2HelloWorldExample/

圖14 進入登入頁 http://localhost:8081/Struts2HelloWorldExample/User/Login

圖15 輸入 username 、 password 後submit 這裡 任意輸入

圖16 顯示 結果。 看到 Hello 你輸入的名稱 ,那就是Struts2基本設定 成功了

十二、其它相關教學 Struts + Spring + Hibernate 目錄 [Maven] Maven 下載及安裝教學 [Maven]  Eclipse 裡 Maven 安裝教學 [Apache_Tomcat] Tomcat 安裝教學 [Apache_Tomcat] Eclipse 裡Tomcat 安裝教學

 

其它文章

 
文章標籤
全站熱搜
創作者介紹
創作者 PG Levin Li 的頭像
PG Levin Li

程式開發學習之路

PG Levin Li 發表在 痞客邦 留言(0) 人氣(318)