在新建的工程中如果想用Struts框架的话,那么需要先配置一些文件,其中包括struts.xml文件web.xml文件。
具体操作为:
1.在新建工程的src目录下,创建一个strut.xml文件,并将D:\struts-2.3.20-all\struts-2.3.20\apps下的struts2-blank.war解压,并将D:\struts-2.3.20-all\struts-2.3.20\apps\WEB-INF\src\java\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">拷贝到在src目录下新建的struts.xml文件中。
2.在新建的struts.xml文件下,输入
<struts>
<package name="struts2" extends="struts-default">
<action name="helloworld" class="com.test.action.HelloWorld">
<result name="success">/helloworld.jsp</result>
</action>
</package>
</struts>
3.在src文件下创建的struts.xml文件会自动拷贝到该工程的WebRoot\WEB-INF\classes下。
4.在web.xml文件下还需要配置,具体操作:
<filter>
<filter-name>struts2</filter>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-parttern>
</filter-mapping>
其中上面的filter-class中org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是在D:\struts-2.3.20-all\struts-2.3.20\docs\struts2-core-apidocs\index.html中的org.apache.struts2.dispatcher中的FilterDispatcher中的。
5.在浏览器中输入http://localhost:8080/struts/helloworld.action,那么程序会先找到web.xml中,根据<url-pattrn>确定要<filter-name>,在这个里面是struts2,那么对应到<filter-class>中的过滤器中。这时程序会找到struts.xml文件中的对应的<action>中的name对应为helloworld的action,这时程序会自动执行中class对应的文件,即为com.test.action.HelloWorld这个Java类中的execute()方法,返回success,那么对应的在跳转到helloworld.jsp中显示其中的内容。