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

  <filter>

        <filter-name>struts2</filter-name>

        <filter-class>

            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

        </filter-class>

    </filter>

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

</web-app>

 


struts.xml文件內容

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <!--<constant name="struts.enable.DynamicMethodInvocation" value="false" />

    <constant name="struts.devMode" value="false" />

    <include file="example.xml" />

    <package name="default" namespace="/" extends="struts-default">

       <default-action-ref name="index" />

       <action name="index">

           <result type="redirectAction">

              <param name="actionName">HelloWorld</param>

              <param name="namespace">/example</param>

           </result>

       </action>

    </package>-->

    <!-- Add packages here -->

   

    <package name="default" namespace="/" extends="struts-default">

       <default-action-ref name="index" />

       <action name="hello">

           <result>

              /Hello.jsp

           </result>

       </action>

    </package>

</struts>

 

 

需要的jar

 手動配置Struts2 - 盡頭 - 深山憨娃


訪問時action,需要注意的地方:

1.namespace決定了action的訪問路徑,默認為””,可以接收所有路徑的action.

Namespace可以寫為”/”,或者”xx”,或者”aa/bb”,對應的action訪問路徑為:

/index.action,/xxx/index.action,/aa/bb/ index.action.namespace如果不寫,相當于namespace="",

在訪問路徑上,等于說忽略了所有的namespace,假設有index.jsp頁面, 訪問它只需要最后的action名稱學正確,就可以訪問的到.也就是說在找不到指定的精確的namespace的時候,都交給namespace為""的處理.

2.<!--開發模式,修改Struts配置文件后,不需要重新啟動服務器-->

    <constant name="struts.devMode" value="true" />

3.  Struts2中的路徑問題是根據action的路徑而不是jsp路徑來決定,所以盡量不要使用相對路徑.可以使用絕對路徑,在MyEclipse創建jsp頁面時,會創建basepath變量.在跳轉的鏈接上加上basePath即可,或者更簡單的,在<head>標簽中加上<base href=<% basePath%>/>(默認創建的).也就是鏈接路徑時,直接寫頁面名稱就行.