1 .structs2 开发所需的jar包.
commons-fileupload-1.3.1.jar 上传文件
struts2-core-2.3.16.3.jar 核心jar包
xwork-core-2.3.16.3.jar xwork
commons-logging-1.1.3.jar log4j日志输出
ognl-3.0.6.jar 读写对象的属性
javassist-3.11.0.GA.jar 代码生成工具包
freemarker-2.3.19.jar 模板
commons-io-2.2.jar apache io
commons-lang3-3.1.jar
2.编写structs2 配置文件
struct2 默认配置文件为structs.xml,放在WEB-INF下,直接放src目录下,配置模板如下:
<?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">
<struts>
<!--package 是structs2 管理一组业务相同的action ,主要是供其他包集成
namespace 访问该包下action的一部分
extends 继承这个包是引用stucts2的核心功能
-->
<package name="default" namespace="/ok" extends="struts-default">
<!--
name 请求action名
class 请求action类路径
method 请求action类的具体方法
result 返回结果
-->
<action name="firstAction" class="com.zj.practice.action.FirstAction" method="excute">
<result name="success">/WEB-INF/page/my.jsp</result>
</action>
</package>
</struts>
3.web.xml文件加入structs2框架启动配置. 当structs2启动时,就会读取structs.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>
</filter-mapping>
4 .action类
package com.zj.practice.action;
public class FirstAction {
private String message;
public String excute(){
message = "我的第一个action";
return "success";
}
public String getMessage() {
return message;
}
}
5 .jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'my.jsp' starting page</title>
</head>
<body>
${message }
</body>
</html>