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 安裝教學
- 首頁
- JAVA 目錄
- JAVA WEB 目錄
- JAVA 其他未分類 目錄
- Grails目錄
- jQuery 目錄
- Apache 目錄
- JavaScript 目錄
- Spring + Hibernate 目錄
- Hibernate 目錄
- Linux 目錄
- 程式開發工具目錄
- MySQL 目錄
- PHP目錄
- C/C++ 目錄
- Google App Engine 目錄
- HTML5/CSS3
- 程式開發基本資訊
- Android
- Oracle 目錄
- Struts 目錄