【SSH学习笔记】—从配置Struts1环境到简单实例
来源:互联网 发布:淘宝网开店教程视频 编辑:程序博客网 时间:2024/06/07 08:19
下面我将从一个简单点的计算器实例,介绍struts1的环境配置,以及其重要的两个核心类:ActionForm和Action
简单计算器实现思路:
1.提供一个输入界面,输入两个数字和运算符(+、-、*、/),提交后将运算结果显示出来,如果出现错误显示错误页面,在正确页面和错误页面需要显示出输入值、运算符和计算结果。
2.发送计算请求,需要Action处理这个请求,并将计算结果返回。此外,发请求需要传送数据才能计算,所以需要一个ActionForm来进行数据传送。表单上传送过来的数据都是字符串的,ActionForm可以进行数据类型转换。
步骤一:配置Struts环境
1.jar包
拷贝此路径下的所有jar包,并放置在项目的WebRoot\WEB-INF\lib下
\Struts\struts-1.2.9-bin\lib下所有的jar包
2.配置ActionServlet
找到Struts\struts-1.2.9-bin\webapps\struts-blank\WEB-INF\web.xml
将红框中的内容拷贝到项目的WebRoot\WEB-INF\web.xml下
3.配置struts核心配置文件
拷贝Struts\struts-1.2.9-bin\webapps\struts-blank\WEB-INF下的struts-config.xml文件到WebRoot\WEB-INF\下
步骤二:代码实现
1.新建input.jsp页面:提供输入界面,输入两个数字和运算符
<body><h1>简易计算器</h1><hr> <form action="cal.action" method="post"><input type="text" name="value1"><select name="flag"><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option> </select><input type="text" name="value2"><input type="submit" value="计算"></form></body>
2.新建CalActionForm页面并继承Struts的ActionForm:ActionForm将页面上的数据封转到Action业务类。
<pre name="code" class="java">/** * ActionForm传送数据 * @author 火云 * */@SuppressWarnings("serial")public class CalActionForm extends ActionForm {private int value1; private String flag; private int value2;public int getValue1() {return value1;}public void setValue1(int value1) {this.value1 = value1;}public String getFlag() {return flag;}public void setFlag(String flag) {this.flag = flag;}public int getValue2() {return value2;}public void setValue2(int value2) {this.value2 = value2;} }
3.新建CalAction类并继承Struts的Action,并覆盖execute方法:Action处理每一次请求
/** * Action处理每一次请求,继承Struts的Action,并覆盖execute方法 * @author 火云 * */public class CalAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {//取出表单数据CalActionForm calform = (CalActionForm)form; //基于Struts对数据的封装传送,所以我们能强制转换int value1 = calform.getValue1(); String flag = calform.getFlag();int value2 = calform.getValue2(); //处理数据int result = 0; try {if("+".equals(flag)){result = value1+ value2;}else if("-".equals(flag)){ result = value1-value2;}else if("*".equals(flag)){result=value1*value2;}else if ("/".equals(flag)){result=value1/value2;}//转向成功页面request.setAttribute("result", result);return mapping.findForward("success");} catch (Exception e) {e.printStackTrace();}//转向错误页面return mapping.findForward("error");}}
4.配置流程:Struts-config文件
5.success.jsp页面:
<body>${calform.value1 }${calform.flag }${calform.value2 }=${result }</body>
6.error.jsp页面
<body>${calform.value1 }${calform.flag }${calform.value2 }失败!</body>
其实,在DRP分销系统中我们接触过MVC开发模式,在MVC开发模式中Servlet扮演着控制器的角色。其主要功能:参数获取,业务逻辑调用,以及页面转向。
Struts是基于MVC模式的一个web开发框架。对Servlet进行了封装。为什么要进行封转呢。主要是我们在Servlet进行页面转向时,页面都是写死了,直接转到了jsp。如果我们更换jsp名称,就需要修改代码,而且从表单传过来的数据都是字符串类型,我们还需要根据实际的需求进行类型转换。例如(年龄,int类型),每次都需要先转。基于这些种种原因,Struts对其进行了封转,提供了一种更为灵活的机制。
总结:
以上只是通过一个简单的小例子来对struts1的初步学习。这只是学习的第一阶段,对它的理解还需要看在以后的学习中是否真正的用心,每一种框架都有通的一面,所以只要用心学,多思考,再接触新的框架的时候,任何问题也都会迎刃而解。
- 【SSH学习笔记】—从配置Struts1环境到简单实例
- SSH-struts1登录实例
- 01、struts1 的开发环境简单配置
- 从搭建环境到一个简单Android App测试实例
- [struts1]学习笔记1 简单搭建基础
- struts1学习笔记2----执行流程图(简单)
- 从Struts1到Struts2
- SSH学习之Struts1入门的简单登陆案例。
- 【SSH之旅】一步步学习Struts1框架(三):解析对比Struts1实例
- struts1.2简单实例
- 深入浅出学习struts1框架(五)--正式进入struts1框架学习,从一个实例开始
- 深入浅出学习struts1框架(五)--正式进入struts1框架学习,从一个实例开始
- 深入浅出学习struts1框架(五)--正式进入struts1框架学习,从一个实例开始
- 从Native到Web(一), NaCl学习笔记: 环境搭建
- java学习笔记(从搭建环境到入门java)
- SSH网上商城环境配置—简单认识Struts2
- SSH完成配置 struts1版本
- Struts1学习笔记_1(第一个应用实例)
- UIViewController的生命周期及iOS程序执行顺序
- 简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera
- LeetCode 117 Valid Sudoku
- 6.3.2 在 C# 中处理计划
- mini2440基于motion的移动图像监控系统和基于SDL的远程监控
- 【SSH学习笔记】—从配置Struts1环境到简单实例
- 文件操作
- javac 和java 的命令
- 创建目录文件夹
- Jess在Eclipse中的安装
- cubietuck的Openwrt-SDcard启动信息
- 沟通和编程一样,也是一门艺术系列6(艺术境界)
- 如何判断一个模板被实例化了几次?
- 同一个局域网的两台电脑实现文件共享