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%>/>(默认创建的).也就是链接路径时,直接写页面名称就行.