1. 程式人生 > >Struts2核心檔案配置與 xml檔案配置基礎版

Struts2核心檔案配置與 xml檔案配置基礎版

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框架的你的工程李必須匯入的幾個包為:


少一個都會報錯。