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包
訪問時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%>/>(默認創建的).也就是鏈接路徑時,直接寫頁面名稱就行.