说在前面:我的My Eclipse版本是9.0m1,tomcat版本是7.0,java的jdk版本是1.6.0_23。不完善的地方欢迎大手们指导和探讨。
步骤如下》》》
1.在网站http://struts.apache.org/download.cgi上下载用到的配置文件框架
2.打开My Eclipse,new-project-MyEclipse-Web Project,Next 输入项目名称struts 然后点击finish(注意,这可能会有警报,选择忽略,原因是jdk版本的问题),至此项目建好了,接下来要进行一些设置
3.设置tomcat和java jdk:
Window-preferences-MyEclipse-Servers-tomcat-7.0x
第一个目录应该是这样的一个路径C:\Program Files\Apache Software Foundation\Tomcat 7.0,其他的自动补全,点击ok,tomcat服务器配置好了。
接下来,配置jdk。
Window-preferences-MyEclipse-java-Installed jres,点击add,选择Standard Vm,next,出现的jre home选择你安装的jre路径,我的是这样的C:\Program Files\Java\jre6。
至此,第三步完成了。
4.解压下载到的structs文件,得到struts-2.2.3,进入apps,解压struts2-blank.war,得到一个目录文件
一直进入到struts2-blank\WEB-INF\classes文件夹内,把struts.xml拷贝到刚才新建的那个项目的src目录内。
进入到struts2-blank\WEB-INF内,把web.xml拷贝到WEB-INF内
进入到struts2-blank\WEB-INF\lib目录,把所有的jar文件拷贝到lib目录内。
接下来还要进行一番配置。
5.打开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>
<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" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<default-action-ref name="index" />
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="index">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
<include file="example.xml"/>
-->
<!-- Add packages here -->
<package name="default" namespace="/" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
不过,请注意<!-- Add packages here -->后面的东西才是你添加的,前边有很多高级特性,现在用不着,所以,为了简明,只填加后面的那些基础的用法。
至此,文件的配置以及设置已经进行完了,我的工作空间没有在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps下面,所以,新建一个文件夹,struts,然后把MyEclipse工作空间下struts目录下的文件全部拷到刚才新建的那个文件夹内。至此,打开服务器,进行测试,我的结果是
至此,你已经学会了如何进行一个struts项目的基本的配置,可能你对一些标签有些迷惑,我把我搜到的几个问题分享一下,十分感谢这些答案的主人
web.xml中<url-pattern>的3种写法
① 完全匹配
<url-pattern>/test/list.do</url-pattern>
② 目录匹配
<url-pattern>/test/*</url-pattern>
③ 扩展名匹配
<url-pattern>*.do</url-pattern>
<servlet-mapping></servlet-mapping>servlet-mapping的重要规则:
☆ 容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
☆ 如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。
=======================================================、
Struts2 中default-action-ref的作用
<default-action-ref name="index"></default-action-ref>
的作用为当所请求的Action不存在或找不到时,会默认调用指定的Action
-------------------------------------------------------------------------------------------
param标签主要用于为其他标签提供参数,例如bean和include标签。
param参数设置:
name:可选属性,指定设置参数名称
value:可选属性,指定参数的值
id:可选属性,指定该元素引用id
加油吧,为了那个曾经欠下的努力。