1. 程式人生 > >struts2學習筆記——第一個struts2應用配置

struts2學習筆記——第一個struts2應用配置

pac 我們 nbsp tsp 方便 ons 路徑和 method names

  說實在的,隨著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應用配置