對於Struts2,以前曾經接觸過,使用過,但是還是按照Struts1的方法使用,結果好好的一個Struts2的無侵入式設計讓我搞的成了不倫不類,現在重新開始學習Struts2,希望用的更加規范一些,首先是第一個Struts2的第一個例子。
首先需要搭建開發環境,當然了,struts2可以從Apache的網站下載,這個不用多說。需要說一下在lib目錄下面那些眾多的jar包需要其中必須的jar包有六個。
開發Struts需要最少的jar
struts2-core-2.1.8 Struts2框架的核心類庫
xwork-core-2.1.6 XWork類庫,Struts 2 在其上構建
ognl-2.7.3 對象圖導航語言,struts 2框架通過其讀寫對象的屬性
freemarker-2.3.15 Struts2的UI標簽模版使用FreeMarker編寫
commons-logging-1.0.4 ASF出品的日志包,Struts2框架使用這個日志包來支持Log3j和JDK1.4+的日志記錄
commons-fileupload-1.2.1 文件上傳組建
然後把包導入到路徑下面,接著寫struts的配置文件,struts.xml需要配置在WEB-INF 下面的classes文件下面,所以把struts.xml放到src目錄下面就行了。下面是代碼
- <?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="bird" namespace="/test" extends="struts-default">
- <action name="helloworld" class="com.bird.action.HelloWorld" method="execute">
- <result name="success">/WEB-INF/jsp/hello.jsp</result>
- </action>
- </package>
-
-
- </struts>
其中包含了對一個Action類的配置信息,namespace命名空間是對這個action的一個訪問路徑限制,訪問這個類Action就必須使用這個路徑,/test/hellowold,然後必須繼承struts-default包才能使用struts的大部分功能,
然後需要在web.xml 文件中配置啟動struts信息,struts是使用filter啟動的,詳細配置如下
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <display-name></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>
-
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
-
- </web-app>
然後把Action代碼完善
- package com.bird.action;
-
- public class HelloWorld {
-
- private String message;
-
-
-
- public String getMessage() {
- return message;
- }
-
-
-
- public String execute(){
- message = "我的第一個Struts2應用";
- return "success";
- }
- }
然後建立一個jsp頁面就可以使用了