本範例實作說明:
本篇主要使用 Struts,做一個基本測試專案。
一、範例開發準備工具
作業系統: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 目錄
沒有留言:
張貼留言