安装Struts 2 ,并开发一个简单 Model

1、下载Struts 2

  在Struts 2 官网下载:http://struts.apache.org ,下载 struts-2.3.16.3-all.zip 。

2、添加Struts 2 .jar文件

  将 struts-2.3.16.3-all.zip 中 lib 目录下的所有不以struts 2*命名开头的.jar包、struts 2-core-2.3.16.jar 复制到项目:WebContent/WEB-INF/lib 目录下。

(其实只要导入基本包就行:

  struts2-core-2.0.11.jar、 xwork-2.0.4.jar、 ognl-2.6.11.jar、 jstl.jar、 freemarker-2.3.8.jar、commons-logging-1.0.4.jar

;可以导入以下包:

3、添加Struts 2 配置文件

  下载默认配置文件,将以下文件复制到 src 目录下:

    struts.properties

    struts.xml

    commons-logging.properties

    log4j.properties

    simplelog.properties

  修改 struts.properties 文件 struts.action.extension=action 为  struts.action.extension=do (为了让Struts 2 接收 *.do 形式的请求)

4、添加Struts 2 过滤器( web.xml 文件)

  配置 web.xml 文件,添加以下代码:

        <filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

5、编写输入表单页面.jsp 文件

  如以下代码:

<form action="test.do" method="post">
<input type="text" name="str1">
<input type="text" name="str2">
<input type="submit">
</form>

6、配置 struts.xml

  如添加以下代码:

    <package name="main" extends="struts-default">
<action name="test" class="com.demo.struts2.actions.TestAction">
<result name="success">success.jsp</result>
<result name="input">index.jsp</result>
</action>
</package>

7、编写处理器类 TestAction.java

package com.demo.struts2.actions;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { private static final long serialVersionUID = 1L; private String str1;
private String str2; public String execute() throws Exception { if (!str1.equals("") && !str2.equals("")) {
ActionContext.getContext().getSession().put("str1", str1);
ActionContext.getContext().getSession().put("str2", str2);
return Action.SUCCESS;
} else {
//super.addActionError(super.getText("login.message.failed"));
return Action.INPUT;
} } public String getStr1() {
return str1;
} public void setStr1(String str1) {
this.str1 = str1;
} public String getStr2() {
return str2;
} public void setStr2(String str2) {
this.str2 = str2;
}
}

8、编写返回页面

  如以下内容:

<table width="" border="">
<tr>
<td>str1=<%=(String) session.getAttribute("str1")%></td>
</tr>
<tr>
<td>str2=<%=(String) session.getAttribute("str2")%></td>
</tr>
<tr>
<td><a href="index.jsp">[Back]</a></td>
</tr>
</table>

最后完成简单的Struts 2 框架模型,可以在此基础上添加功能。

  

Struts2的安装的更多相关文章

  1. Struts2之Struts2的下载与安装

    Struts2的下载 登陆struts的官网 下载Full Distribution这个选项的struts2的包. 这是Struts2的完整版,里面包括Struts2的实例应用,空实例应用,核心库,源 ...

  2. strust1与strust2,springmvc三者之间的区别?

    strust1与struts2的区别    1.struts2是基于webWork的一个全新的框架,比struts1学习更方便    Struts2主要是改进了Struts1的servlet和acti ...

  3. 操作手册_MyEclipse

    前言 假 如 你 的 人 生 有 理 想,那 么 就 一 定 要 去 追,不 管 你 现 在 的 理 想 在 别 人 看 来是 多 么 的 可 笑 , 你 也 不 用 在 乎 , 人 生 蹉 跎 几  ...

  4. 安装Struts2 类库

    现在,如果一切正常,那么你可以继续设置您的Struts 2框架.以下是简单的步骤,下载并安装在机器上Struts2. 请选择是否要安装Hibernate在Windows或Unix,然后继续进行下一个步 ...

  5. Struts2安装与简单部署实例

    打开http://struts.apache.org/网站,下载strut2 版本选择: Full Distribution: Struts2完整版 建议下载该项(此版包括以下4项): Example ...

  6. 13、零配置Struts2开发

    Convention 插件 从 Struts 2.1 开始, Struts 可以使用 Convention 插件来支持零配置: Convention 插件完全抛弃配置信息, 不仅不需要使用 strut ...

  7. 深入浅出Struts2+Spring+Hibernate框架

    一.深入浅出Struts2 什么是Struts2? struts2是一种基于MVC的轻量级的WEB应用框架.有了这个框架我们就可以在这个框架的基础上做起,这样就大大的提高了我们的开发效率和质量,为公司 ...

  8. Struts2框架简介和示例

    struts2框架 Struts2是java web的框架,在Java Web开发中,表示层框架,其核心是通过扩展Servlet来帮助处理http请求. Struct2的基本流程 Struct2的框架 ...

  9. Struts2框架深入详解版

    一.认识Struts2 1. 什么是Web框架? 1.1  模型1 1.2  模型2 和MVC 1.3   Web框架的诞生 2. Struts1 到Struts2 2.1 其他 Web框架 2.2 ...

随机推荐

  1. JavaScript术语:shim 和 polyfill

    转自:https://www.html.cn/archives/8339 在学习和使用 JavaScript 的时候,我们会经常碰到两个术语:shim 和 polyfill.它们有许多定义和解释,意思 ...

  2. Let the Balloon Rise HDU水题

    题意 让你统计字符串最多的那个串,并输出 分析 直接用map统计,不断更新最大值即可 代码 #include<iostream> #include<algorithm> #in ...

  3. 《Linux内核分析》第六周学习小结

    进程的描述和进程的创建 一.进程的描述 进程描述符task_struct数据结构: (1)操作系统的三大功能: 进程管理.内存管理.文件系统 (2)进程的作用: 将信号.进程间通信.内存管理和文件系统 ...

  4. keras-VGG16 猫狗分类器

    keras 原理: keras系列︱图像多分类训练与利用bottleneck features进行微调(三)https://blog.csdn.net/sinat_26917383/article/d ...

  5. vue 单文件 样式写了scoped 不能覆盖框架原有样式的解决办法

    vue 单文件 样式写了scoped 不能覆盖框架原有样式的解决办法 在vue 里面<style scoped></style> 是为了让样式只影响本身自己组件的样式,不改变全 ...

  6. opencv学习笔记(四)

    ROI---设定感兴趣的区域(region of interest) 定义: Mat imageROI; //方法一:通过Rect指定矩形区域 imageROI=image(Rect(500,250, ...

  7. PAT 1047 编程团体赛

    https://pintia.cn/problem-sets/994805260223102976/problems/994805277163896832 编程团体赛的规则为:每个参赛队由若干队员组成 ...

  8. Oracle 数据表误删恢复 Flashback

    1. 前提条件. recyclebin 参数打开. 验证参数是否打开: SHOW PARAMETER RECYCLEBIN 2. 如果参数没有打开的话 需要打开,并且重启一下数据库方法为 alter ...

  9. ArrayMap代码分析

    Java提供了HashMap,但是HashMap对于手机端而言,对内存的占用太大,所以Android提供了SparseArray和ArrayMap.二者都是基于二分查找,所以数据量大的时候,最坏效率会 ...

  10. YII2十三大特性

    第一(框架&项目) 1. 框架安装 2. 框架扩展安装 3. 项目初始化-->php yii init 4. 美化URL配置 'urlManager' => [ 'enablePr ...