使用Struts2开发程序的基本步骤如下:struts.apache.org
第一步:导入架包
(1)commons-fileupload-1.3.2.jar 文件上传时需要使用
(2)commons-io-2.2.jar Java io扩展
(3)commons-lang3-3.2.jar 包含了一些数据类型的工具类
(4)commons-logging-1.1.3.jar 日志处理
(5)freemarker-2.3.22.jar Struts2的标签模板使用类库
(6)javassist-3.11.0.GA.jar 对字节进行处理
(7)ognl-3.0.19.jar Struts2使用的一种表达式语言类库
(8)struts2-core-2.3.33.jar Struts2框架的核心类库
(9)xwork-core-2.3.33.jar XWork类库,Struts2的构建基础
第二步:配置web.xml文件
StrutsPrepareAndExecuteFilter//struts准备和执行的一个过滤器
(导包:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)
<!-- Struts2核心过滤器配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>/org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- <url-pattern></url-pattern>过滤的请求格式 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern></url-pattern>
</filter-mapping>
第三步:开发视图层页面
创建一个login.jsp
<div align="center">
<form action="" method="post">
用户名:<input type="text" name=""/><br/>
密 码:<input type="password" name=""/><br/>
<input type="submit" value="登录"/>
</form>
</div>
第四步:开发控制层Action
// 用户输入的姓名
private String name = "";
// 向用户显示的信息
private String message = "";
public String execute() {
// 根据用户输入的姓名,进行"Hello,XXXX!"的封装
this.setMessage("Hello,"+this.getName()+"!");
// 处理完毕,返回导航结果的逻辑名
return "success";
}
…
//省略setter、getter方法
}
第五步:src下配置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="true" />
<!-- Struts-default里面是一些拦截器的配置 ("/")代表根目录-->
<package name="mypackage" extends="struts-default" namespace="/">
<action name="user" class="com.zking.action.UserAction">
<!--成功跳转到login_success.jsp页面-->
<result name="success" type="">login_success.jsp</result>
<!--失败跳转到login_success.jsp页面-->
<result name="fail" >login_fail.jsp</result>
</action>
</package>
</struts>
最后:部署运行项目
第一步:导入架包
(1)commons-fileupload-1.3.2.jar 文件上传时需要使用
(2)commons-io-2.2.jar Java io扩展
(3)commons-lang3-3.2.jar 包含了一些数据类型的工具类
(4)commons-logging-1.1.3.jar 日志处理
(5)freemarker-2.3.22.jar Struts2的标签模板使用类库
(6)javassist-3.11.0.GA.jar 对字节进行处理
(7)ognl-3.0.19.jar Struts2使用的一种表达式语言类库
(8)struts2-core-2.3.33.jar Struts2框架的核心类库
(9)xwork-core-2.3.33.jar XWork类库,Struts2的构建基础
第二步:配置web.xml文件
StrutsPrepareAndExecuteFilter//struts准备和执行的一个过滤器
(导包:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)
<!-- Struts2核心过滤器配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>/org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- <url-pattern></url-pattern>过滤的请求格式 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern></url-pattern>
</filter-mapping>
第三步:开发视图层页面
创建一个login.jsp
<div align="center">
<form action="" method="post">
用户名:<input type="text" name=""/><br/>
密 码:<input type="password" name=""/><br/>
<input type="submit" value="登录"/>
</form>
</div>
第四步:开发控制层Action
实现Action(import com.opensymphony.xwork2.Action;)
public class HelloWorldAction implements Action {// 用户输入的姓名
private String name = "";
// 向用户显示的信息
private String message = "";
public String execute() {
// 根据用户输入的姓名,进行"Hello,XXXX!"的封装
this.setMessage("Hello,"+this.getName()+"!");
// 处理完毕,返回导航结果的逻辑名
return "success";
}
…
//省略setter、getter方法
}
第五步:src下配置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="true" />
<!-- Struts-default里面是一些拦截器的配置 ("/")代表根目录-->
<package name="mypackage" extends="struts-default" namespace="/">
<action name="user" class="com.zking.action.UserAction">
<!--成功跳转到login_success.jsp页面-->
<result name="success" type="">login_success.jsp</result>
<!--失败跳转到login_success.jsp页面-->
<result name="fail" >login_fail.jsp</result>
</action>
</package>
</struts>
最后:部署运行项目