到目前为止,我们经历了从静态页面到JSP,再到JSP+Servlet+JavaBean的学习过程,又在前面学习了Struts技术。

没有人知道宇宙是怎样开始的。有人推论... 啊,错了,跳到魔兽正史了。

纯JSP盛行的时代是乱世,那时候编写的HTML和JSP混用代码很少存活到今天。业务逻辑越来越复杂,JavaBean和Servlet开始广泛应用,这个世界里开始散发着文明的气息,事情开始变得有秩序。Struts出现的意义大致相当于《拿破仑法典》的颁发,框架的广泛使用铲除了杂乱和无序,还提供给人们各种方便。EJB王朝没落的时候,三层架构+Struts MVC开始了温和的统治,这个新的领袖虽然没有王冠(非jcp委员会) ,也没有权杖(不是jsr标准),但成为了 Java Web应用开发事实标准,得到了天下。

Struts是针对JSP+Servlet的一个MVC的解决方案。

使用开发的4个步骤:

1、给项目添加Struts支持

2、实现业务逻辑类(模型,Model)

3、添加Struts组件

  开发ActionForm组件(视图组件,View)

  开发Action组件(控制组件,Controller)

  开发JSP页面

  修改配置文件struts-config.xml,配置ActionForm和Action

4、调试运行

demo

下面我们写一个Calculator,简单练习下Struts框架:

创建项目,搭建框架,我们创建biz包

public class Calculator {public double addition(double num1,double num2) {return num1+num2;}public double subtract(double num1,double num2) {return num1-num2;}public double multiply(double num1,double num2) {return num1*num2;}public double divide(double num1,double num2) {return num1/num2;}
}

添加Struts支持:

创建结果页面,修改index页面

    Welcome to out website <br><html:form action="/calc" method="post">
<input type="hidden" name="operate" />
Calculator<br/>
num1:
<input type="text" name="num1"><br/>
num2:
<input type="text" name="num2"><br/>
<button οnclick="doSubmit('doAddition')">加</button>
<button οnclick="doSubmit('doSubtract')">减</button>
<button οnclick="doSubmit('doMultiply')">×</button>
<button οnclick="doSubmit('dodDivide')">÷</button>
</html:form>

<script>function doSubmit(opr){document.forms[0].elements["operate"].value=opr;document.forms[0].submit();}
</script>

好,我们开始创建FormBean、action。

选择Formbean的基类

这里action的基类,我们选择DispatchAction,这就意味着struts-config.xml里,我们要添加属性parameter="operate",它是index页面加的隐藏域的值,这个,你懂的

好,下面要做的是修改Action:

public ActionForward doAddition(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.addition(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward doSubtract(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.subtract(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward doMultiply(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.multiply(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward dodDivide(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.divide(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}

输出页面,用el表达式、jstl都行。

转载于:https://www.cnblogs.com/xsxs/archive/2010/11/28/1890098.html

SSH框架--Struts的故事相关推荐

  1. java ssh框架 struts spring hibernate 简介

    目录 什么是SSH框架 浅谈Struts 什么是Struts Struts的核心构成 为什么使用Struts 浅谈Hibernate 什么是Hibernate Hibernate的核心构成 浅谈Spr ...

  2. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

  3. SSM框架+SSH框架简介

    SSM框架 Spring+SpringMVC+MyBatis Spring:Spring是一个开源框架.它的目标是是使现有的JavaEE技术更容易使用和养成良好的编程习惯.它是一个轻量级的框架,渗透了 ...

  4. spring+springMvc+struts的SSH框架整合

    1.建立一个web项目 2.导入SSH框架所需jar包 3.配置web.xml文件 <?xml version="1.0" encoding="UTF-8" ...

  5. 基于SSH框架的二手物品交易网(Struts)

    代码下载地址 介绍 基于SSH框架的二手物品交易网(Struts) 开发工具及环境等 支持Eclipse.IDEA.Maven 功能 用户:登录.注册.商品发布,购买的商品.留言板.我的信息.会员中心 ...

  6. [转载]SSH框架搭建详细图文教程

    什么是SSH? SSH对应 struts spring hibernatestruts 采用MVC模式,主要是作用于用户交互spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合hiber ...

  7. 使用SSH框架实现用户登录验证

    今天,写一个非常简单的通过struts+hibernate+spring的集成来实现用户登录验证的例子,让大家了解一下三者是如何是整合的. 我们可以通过myeclipse的向导,生成相应的环境搭建,如 ...

  8. SSH框架整合-慕课课程

    SSH框架整合-慕课课程 学习时间:2018年12月3日 慕课链接:基于SSH实现员工管理系统之框架整合篇 内容:Struts2+Hibernate+Spring框架整合,分为Struts2整合Spr ...

  9. java web的ssh框架_JavaWeb_(SSH论坛)_二、框架整合

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块传送门 导入Jar包 导入 ...

最新文章

  1. 地图构建两篇顶级论文解析
  2. RBAC基于角色的用户权限管理
  3. Linux平台下的内存泄漏检测
  4. 基于【IPv6】静态路由和默认路由的配置
  5. Java构造和解析Json数据之org.json
  6. OpenCover+ReportGenerator实现.net代码覆盖率测试
  7. 工业互联网的最后一公里
  8. mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!...
  9. mysql中密码存入加密,如何在数据库中存储加密的密码?
  10. rabbitmq中的消息有id吗_RabbitMQ 如何实现对同一个应用的多个节点进行广播
  11. 移动测试基础 android 中 dumpsys 命令使用
  12. JAVA项目实战开发电商项目案例(一)java技术演进与更新
  13. 网络工程师笔记--网络管理技术
  14. 三段式状态机的原理/代码/仿真,1001序列检测实例Verilog
  15. 20张图深度详解MAC地址表、ARP表、路由表
  16. vue 中引入阿里云的云盾防水墙
  17. 第4章 网络信息资源检索
  18. 计算机应用行业平均市盈率,申万行业指数:二级行业:市盈率:医疗器械
  19. get请求报404 NOT FOUND问题的原因及解决。
  20. Office 2016 卡顿问题!如果其他方法都没有用就关掉硬件加速!

热门文章

  1. iOS tableviewcell重用机制避免重复显示
  2. java操作word (jacob)
  3. DP 之 poj 2229
  4. 各国家分析(马来西亚,秘鲁)
  5. 上海 |《PMCAFF产品经理第一课》报名倒计时手慢无,微博副总裁、丁香园、1号店、淘宝产品总监私房干货分享...
  6. 分享经济:我的,就是你的
  7. 基于国密算法SM2SSL证书的https加密,如何实现?
  8. OpenTSDB部署与使用
  9. Lync 小技巧-48-Lync 语音邮箱-英文提示-自动助理-中文提示
  10. NGUI 使用Grid自动排列UI