Struts2核心檔案配置與 xml檔案配置基礎版
阿新 • • 發佈:2019-01-29
struts框架必備的三個要素:
1.xml檔案配置:
xml檔案配置主要為一個過濾器的配置:StrutsPrepareAndExecuteFilter;
該過濾器為struts預設為我們實現好了的;所以在xml檔案中直接配置,不用去自己建過濾器filter;
配置如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>web_Struts2</display-name> <filter> <filter-name>struts2
</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
在此環境下得struts才能應用;
2.struts核心檔案配置:
struts.xml動態檔案配置如下:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!-- package name="student"和java的包一樣,命名唯一,將要執行的類同一進行管理 ,可以有多個包 --> <!-- namespace="/"代表名稱空間為根空間;名稱空間就是我們在發起一個請求的時候輸入的地址 比如:http://localhost:8080/web_Struts2/user.action;如果是"/"為根空間; 如果為http://localhost:8080/web_Struts2/隨意一個名字/user.action; 那麼namespace="隨意一個名字" --> <!-- ction name="user" user和servlet類似有一個名稱,用於呼叫時候輸入地址;字尾預設為.action!! 且字尾名任意更改在struts.properties文件中可任意更改名字 --> <!-- class="com.ygr.struts.action.UserAction"所在的包地址,和在xml文件中配置servlet一樣 --> <!-- method="add" 這裡如果不寫,預設執行的方法就是execute();如果寫了就是執行所寫的方法,這裡就是執行add方法 --> <!-- result name="success" 這裡和對應的java,action類呼叫的方法相對應-->
<package name="student" namespace="/" extends="struts-default"> <action name="user" class="com.ygr.struts.action.UserAction" method="add"> <result name="success">/success.jsp</result> <result name="add">/add.jsp</result> </action> </package> </struts>另外還有靜態檔案配置:如下:
檔案型別名稱為:struts.properties
#更改struts2字尾;預設一般為action 但是可以隨意更改為其他字尾比如do;jspa等等
struts.action.extension=action
3.對應實現的action類包名:com.ygr.struts.cation
對應的java類為:
package com.ygr.struts.action;
import org.apache.log4j.Logger;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private static Logger log=Logger.getLogger(UserAction.class);
@Override
public String execute() throws Exception {
/**
* 請求響應
* 執行業務處理
* 返回響應
*/
log.debug("執行execute()方法>>>>>>");
return "success";
}
public String add(){
log.debug("執行add()方法 >>>>>>");
return "add";
}
}
注:要想實現struts2框架的你的工程李必須匯入的幾個包為:
少一個都會報錯。