struts2學習筆記——第一個struts2應用配置
說實在的,隨著Java學習的不斷深入,特別是Java web框架部分,調bug讓人很心累,但是每征服一個bug,內心的成就感也是難以言說的。第一個struts2應用的配置,我昨天折騰了快2個小時,最後還是放棄了,今天在摸索之下,終於打通了第一個struts2的任督二脈,下來就把我個人的配置過程寫下來,希望後面學習的java友少走的彎路。
一、創建web工程(eclipse k kepler版本):
直接上圖:
二、導入struts2關鍵包
1、需要導入的關鍵包,不導入這些包會導致報錯,我就知bug在這裏了:
我沒有導入log4j-api-2.7.jar然後tomcat就無法啟動了,這裏還要註意的是,在2.5之前的版本中導包時還需要導入xwork這個包,在2.5中該包已經包含在struts的核心包中了,我們也就省去了這一步,不相信的java友可以打開核心包看下包結構:
2、導包過程:
如上圖,添加9個必須包;下面的操作是添加一個struts2的個人包庫,方便後面創建struts2,總不能每一次都導入一次:
導包到此結束,後面開始最麻煩的web.xml的配置
三、action編碼:
必須繼承com.opensymphony.xwork2.ActionSupport,並重寫execute()方法:
package com.sysker.main; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport{ /** * action test */ private static final long serialVersionUID = 1L; @Override public String execute() throws Exception { // TODO Auto-generated method stub System.out.println("執行Action"); return SUCCESS; } }
四、配置文件
1、web.xml的配置:
註意:其中<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>和2.5之前的版本是不一樣的,以前的是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter但是你看一下源碼就知道如何修改,這一對標簽是配置filter類——StrutsPrepareAndExecuteFilter,打開struts2的核心包struts2-core-2.5.10.1.jar,參考之前的配置路徑看一下就會發現區別:
這就是java的包管理,其他的配置也可以參考這個方式。
完整配置文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 6 id="WebApp_ID" version="3.0"> 7 <display-name>struts2001</display-name><!-- 項目名稱 --> 8 9 <filter> 10 <filter-name>struts2001</filter-name><!--過濾器名稱--> 11 <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--過濾器地址,配置完按住Ctrl看鼠標是否可以打開連接,能打開說明配置正確--> 12 </filter> 13 14 <filter-mapping> 15 <filter-name>struts2001</filter-name><!--和上面的必須一致--> 16 <url-pattern>/*</url-pattern><!--過濾地址,*表示過濾所有頁面--> 17 </filter-mapping> 18 19 <welcome-file-list> 20 <welcome-file>index.jsp</welcome-file> 21 <welcome-file>default.jsp</welcome-file> 22 </welcome-file-list> 23 </web-app>
2、struts.xml配置文件:
首先路徑和web.xml是不一樣的,struts.xml是在src下面的:
配置如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 4 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 5 "http://struts.apache.org/dtds/struts-2.3.dtd"> 6 7 <struts> 8 9 <package name="default" namespace="/" extends="struts-default"><!--這個還沒深入了解,但是是必須的--> 10 <action name="helloworld" class="com.sysker.main.HelloWorldAction"><!--配置action的路徑,完整包名--> 11 <result>/result.jsp</result><!--執行action後返回的結果--> 12 </action> 13 </package> 14 15 16 </struts>
到這裏,第一個struts2就可以順利執行了,歡迎交流!
struts2學習筆記——第一個struts2應用配置