struts.xml 放在src目录下

<?xml version="1.0" encoding="UTF-8"?>
<struts>
<package name="struts2 " namespace="/" extends="struts-default">
<action name="sum" class="com.umgsai.test.FirstAction">
<result name="positive ">/positive.jsp</result>
<result name="negative ">/negative.jsp</result>
</action>
</package>
</struts>

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>

</filter-mapping>

lib目录下添加jar包

  1. asm-x.x.jar

  2. asm-commons-x.x.jar

  3. asm-tree-x.x.jar

  4. commons-io-X.X.X.jar

  5. commons-lang3-X.X.X.jar

  6. commons-fileupload-X.X.X.jar

  7. freemarker-X.X.X.jar

  8. javassist-X.X.X.jar

  9. ognl-X.X.X.jar

  10. struts2-core-X.X.X.X.jar

  11. xwork-core-X.X.X.jar

java文件

package com.umgsai.test;  

import com.opensymphony.xwork2.ActionSupport;  

publicclass FirstAction extends ActionSupport {  

/**

    *  

    */

privatestaticfinallong serialVersionUID = 1L;  

privateint operand1;  

privateint operand2;  

public String execute() throws Exception {  

if (getSum() >= 0) // 如果代码数和是非负整数,跳到positive.jsp页面

       {  

return"positive";  

       } else// 如果代码数和是负整数,跳到negative.jsp页面

       {  

return"negative";  

       }  

   }  

publicint getOperand1() {  

return operand1;  

   }  

publicvoid setOperand1(int operand1) {  

       System.out.println(operand1);  

this.operand1 = operand1;  

   }  

publicint getOperand2() {  

return operand2;  

   }  

publicvoid setOperand2(int operand2) {  

       System.out.println(operand2);  

this.operand2 = operand2;  

   }  

publicint getSum() {  

return operand1 + operand2; // 计算两个整数的代码数和

   }  

}

sum.jsp文件

<%@ page language="java"import="java.util.*"pageEncoding="GBK"%>

<%@ taglib prefix="s"uri="/struts-tags"%>

<%  

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>

<basehref="<%=basePath%>">

<title>输入操作数</title>

<metahttp-equiv="pragma"content="no-cache">

<metahttp-equiv="cache-control"content="no-cache">

<metahttp-equiv="expires"content="0">

<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">

<metahttp-equiv="description"content="This is my page">

<!--

   <link rel="stylesheet" type="text/css" href="styles.css">

   -->

</head>

<body>

       求代数和  

<br/>

<s:formaction="sum"namespace="/">

<s:textfieldname="operand1"label=" 操作数1"/>

<s:textfieldname="operand2"label=" 操作数2"/>

<s:submitvalue="代数和"/>

</s:form>

</body>

</html>

positive.jsp页面

<%@ page language="java"import="java.util.*"pageEncoding="GBK"%>

<%@ taglib prefix="s"uri="/struts-tags"%>

<%  

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>

<basehref="<%=basePath%>">

<title>显示代数和</title>

<metahttp-equiv="pragma"content="no-cache">

<metahttp-equiv="cache-control"content="no-cache">

<metahttp-equiv="expires"content="0">

<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">

<metahttp-equiv="description"content="This is my page">

<!--

   <link rel="stylesheet" type="text/css" href="styles.css">

   -->

</head>

<body>

       代数和为非负整数  

<h1>

<s:propertyvalue="sum"/>

</h1>

</body>

</html>

negative.jsp页面

<%@ page language="java"import="java.util.*"pageEncoding="GBK"%>

<%@ taglib prefix="s"uri="/struts-tags"%>

<%  

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>

<basehref="<%=basePath%>">

<title>显示代数和</title>

<metahttp-equiv="pragma"content="no-cache">

<metahttp-equiv="cache-control"content="no-cache">

<metahttp-equiv="expires"content="0">

<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">

<metahttp-equiv="description"content="This is my page">

<!--

   <link rel="stylesheet" type="text/css" href="styles.css">

   -->

</head>

<body>

       代数和为负整数  

<h1>

<s:propertyvalue="sum"/>

</h1>

</body>

</html>
------------------------------------------------------------------------------

struts2基本配置的更多相关文章

  1. Struts2 基本配置

    Struts2是一个优秀的MVC框架,也是我比较喜欢用的框架.它个各种配置基本都可以集中在一个xml文档中完成.现在让我们看看如何简单几步实现常用功能. 一.搭建Struts2的开发环境 1)首先是利 ...

  2. Struts2 XML配置详解

    struts官网下载地址:http://struts.apache.org/   1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: S ...

  3. struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

    struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

  4. struts2环境配置

    struts2环境配置 struts2框架,大多数框架都在使用.由于工作需要,开始做Java项目.先学个struts2. 一.下载struts2 有好多版本,我下载的是struts-2.2.1.1. ...

  5. 在Struts2中配置Action

    在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package&g ...

  6. Struts2的配置

    Struts2的配置 Struts2可以通过Convention插件管理Action和结果映射,也可以通过使用XML文件进行管理,这两种方式各有好处:使用Convention插件管理减少了XML文件的 ...

  7. Struts2的配置和一个简单的例子

    Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...

  8. 1-1 struts2 基本配置 struts.xml配置文件详解

    详见http://www.cnblogs.com/dooor/p/5323716.html 一. struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomc ...

  9. spring+hibernate+struts2零配置整合

    说句实话,很久都没使用SSH开发项目了,但是出于各种原因,再次记录一下整合方式,纯注解零配置. 一.前期准备工作 gradle配置文件: group 'com.bdqn.lyrk.ssh.study' ...

  10. struts2基本配置详解2

    接上篇struts2基本配置详解,还有一些配置没有讲到,下面将继续. struts.xml <package name="com.amos.web.action" names ...

随机推荐

  1. CAN开发中遇到的奇怪问题

    问题背景: 之前在做USBCAN2开发过程中,遇到一个奇葩问题,当我们加上其中某一句代码时,我们的程序会走不下去,得不到数据,而且在调试的过程中,你也不能暂停,不然,你也得不到数据.后来参考网上一篇帖 ...

  2. sqlalchemy 的 ORM 与 Core 混合方式使用示例

    知乎: sqlalchemy 的 ORM 与 Core 混合方式操作数据库是一种怎样的体验? 答: 酸! 本文基于:win 10 + python 3.4 + sqlalchemy 1.0.13 基本 ...

  3. python数字图像处理(4):图像数据类型及颜色空间转换

    一.图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换.这些数据类型及取值范围如下表所示: Data type Range uin ...

  4. WebSocket使用教程 2

    WebSocket使用教程 - 带完整实例 收藏 james_laughing 发表于 2年前 阅读 46438 收藏 23 点赞 5 评论 4 摘要: WebSocket使用教程 - 带完整实例 什 ...

  5. Java集合---Arrays类源码解析

    一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型: ...

  6. c#中的var优缺点和适用场景

    var是c# 3.0新加的特性,叫做隐式类型局部变量,大家都知道c#其实是一种强类型的语言,为什么会引入匿名类型呢? 我猜测是因为linq的原因吧,因为感觉var在linq中被大量使用.下面说下var ...

  7. Object C学习笔记24-关键字总结

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  8. 判断一个点是否在多边形内部,射线法思路,C#实现

    感谢原作者,原理请看原作者的文章 http://www.html-js.com/article/1517 C#实现 public string rayCasting(PointF p, PointF[ ...

  9. JavaScript 里 new 出来的对象 怎么销毁它?

    JavaScript的规范(ECMA-262 ECMAScript)没规定JavaScript引擎要如何实现对JavaScript对象的内存管理.实际实现中几乎所有JavaScript引擎都使用基于跟 ...

  10. [BZOJ1951][SDOI2005]古代猪文(数论好题)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1951 分析: 练习数论知识的好题,涉及到费马小定理.lucas定理.求逆元