1. 程式人生 > >struts2前端控制器(web.xml)與struts2.xml檔案的配置

struts2前端控制器(web.xml)與struts2.xml檔案的配置

1.匯入struts2的相關jar包

asm-3.3.jar    位元組碼框架,用於生成代理類(類似動態代理)
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.3.jar    檔案上傳
commons-io-2.0.1.jar
commons-lang3-3.1.jar    java.lang增強包(apache-commons)
commons-logging-1.1.3.jar    apache提供日誌
freemarker-2.3.19.jar    模板技術,struts用於處理標籤的(類似jsp)
javassist-3.11.0.GA.jar    位元組碼框架,生成代理的
log4j-1.2.17.jar    apache提供更強大的日誌框架
ognl-3.0.6.jar    第三方表示式,ognl表示式
struts2-core-2.3.15.3.jar    struts2核心包,對xwork進一步封裝或增強
xwork-core-2.3.15.3.jar    xwork的核心包,struts依賴的jar包

2.配置前端控制器(在web.xml檔案中)

<?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">

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
<!-- 配置struts2的前端控制器-->
  <!-- 定義filter,載入struts2過濾器 -->
  <filter>
  	<filter-name>struts</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <!-- 定義web伺服器通知項 -->
  <filter-mapping>
  	<filter-name>struts</filter-name>
  	<!-- /* 過濾所有請求 -->
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
   
</web-app>

3.在src下建立struts.xml檔案

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!-- 開發者模式 -->
    <constant name="struts.devMode" value="true"/>
    <!-- 
    	將物件工廠指定為spring,由spring管理struts的Action例項
    	當指定struts.objectFactory為spring時,struts2框架就會把bean轉發給spring來建立,裝配,注入。
    	但是bean建立完成之後,還是由struts容器來管理其生命週期。
    -->
    <constant name="struts.objectFactory" value="spring"></constant>
    <!-- struts的action訪問字尾 -->
    <constant name="struts.action.extension" value="do"></constant>
    <package name="default" namespace="/" extends="struts-default"/>
    
</struts>