需要加载的最少JAR包: 文件名 | 说明 |
struts2-core-2.2.1.1.jar | Struts2框架的核心库 |
xwork-core-2.2.1.1.jar | Xwork类库,Struts2在其上构建 |
ognl-3.0.jar | 对象图导航语言,Struts2使用的一种表达式语言 |
freemarker-2.3.16.jar | Struts2的UI标签的模板使用FreeMarker编写 |
commons-io-1.3.2.jar | commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的 |
commons-fileupload-1.2.1.jar | Struts2文件上传及下载 |
javassist-3.11.0.GA.jar | 一个开源的分析、编辑和创建Java字节码的类库 |
便于以后经常调用可以直接添加到libraries中,这样以后可以直接在java buildpath中添加,不用每次都去找到复制过来。
一:添加jar包(加载struts2框架的根本)
加载上面的所有jar包,就足够基础的搭建struts2框架啦~~
二:服务器加载struts2核心类文件:
在web.xml中配置核心类来完成加载,可以参照servlet配置,具体就是设立一个拦截器,使所有的请求都被拦截使其通过filterDispatcher;就可以通过框架来实现跳转等
下面是web.xml中添加的部分:
<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> //这就是拦截所有请求,使所有请求经过strutsPrepareAndExecuteFilter这个类
</filter-mapping>
三:
创建JSP文件(例如:主界面,分界面等)和必要的class文件(例如:action,javabean,servlet),要求需要传数据的class中要有execute方法并且继承actionsupport类或者重写Action类,且方法的返回值需要是string类型的(判断后返回的界面就是返回的字符串在struts.xml中调试的)
四:
在src下新建struts.xml文件(通过file创建,命名为struts.xml) 配置struts.xml文件,具体配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">//这是提示,可以没有,但有的话可以自动提示接口,不熟练的人可以加快速度
<struts>//这里面写主要的配置
<package name="action" extends="struts-default"> //注意,这里的name并不能作为区别属性,如果需要区别,则需要添加namespace 它属性默认是 /
<action name="loginaction" class="com.dhr.action.LoginAction">//这里的name很重要,当jsp提交请求到哪里时,因为有核心控制器filterdispatcher拦截,所以只会查
//找action中的name属性使其作为跳转的页面标识,后面的class则是其能够跳转的类
<result name="success" >/success.jsp</result>//在execute中返回的字符串会通过核心控制器找到result的name属性,这里强调一点,action中的execute只要加载服务器就
//会被调用,然后跳转到result属性中的页面中,这里是请求转发,地址栏不发生变化
<result name="error">/error.jsp</result>
</action>
<action name="loginaction2" class="com.dhr.action.LoginAction2">
<result name="success" >/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="loginaction3" class="com.dhr.action.LoginAction3">
<result name="success" >/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
五:这样就可以敲代码了,