Myeclipse编写struts程序
说到struts则必须要谈到MVC模式(Model2)
什么是MVC模式。随着应用系统的逐渐增大,系统的业务逻辑复杂度以几何级数方式增加,在这样的情况下,如果还是把所有的处理逻辑都放在JSP页面中,那将会是一场噩梦,因为无论我们要进行什么样的改变,都必须打开那些杂乱的JSP脚本进行更改,而MVC正是基于此,将应用系统中的各个组件按照功能进行分类,不同的组件使用不同的技术,相同的组件被严格的限制在其所在层内,各个层之间一松耦合的的方式组织在一起,从而提供良好的封装。
其实,简单而言,MVC就是减少代码在页面中的复杂度,减少代码的冗余,增加代码的重用性,降低应用扩展性和维护的难度,在大型的软件系统中非常使用而jsp页面适用于快速开发小规模项目。
如果说到这里还是有疑问,那么我们就试着自己编写一个基本的struts的实例对比JSP页面即Model1模式与Model2的对比
首先创建一个新项目HelloWorld
如图
接着添加struts包 这是必须而且非常重要的一步
鼠标对新建的项目点击右键 找到Myeclipse->add struts capabilities...
接下来 会弹出如图配置界面
因为我使用的是Myeclipse8,5 我选择的是Struts2.1 在这里需要说明一下
因为我们在使用的时候不仅有action的运行,所有这里最好选择/* 而*.action在运行JSP页面时会产生错误。
现在我们就添加好struts了:
当然了,由于没有页面提交也没有后台执行,所以我们的struts里面是空的,不过接下来我们会让它有用武之地。
说了这么多,现在是该编写代码的时候了。
首先我们需要先创建一个JSP页面 如图:
这里要说明一下,我们的JSP页面都是创建在WebrRoo文件夹目录下
在Struts中,如果要用<s:>系列标签,我们需要在页面顶部添加上<%@ taglib prefix="s" uri="/struts-tags" %> 否则<s:>系列标签是无法使用的(为了良好的书写习惯我们建议写上)
接下来是是页面成功的success.jsp和失败的error.jsp页面,内容自拟。
接下来是最重要的操作,由于不再使用JSP页面的页面发送请求,我们需要建立Action业务控制器HelloWorld.java,代码如下:
package com;
public class HelloWorld {
public String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute(){
if(message.equals("")){
return "error";
}else{
return "success";
}
}
}
然后是配置Struts如图所示:
接着运行整个项目,这里呢会出现一个小问题,也是不存在的问题
因为项目默认是启动index.jsp页面,所以我们看到的是这样的
要想每一次的授业都是我们需要的页面有两种方法
第一 更改WebRoot->WEB-INF下的web.xml,如图:
将index.jsp更改为自己需要的首页即可
第二就是自己在浏览器里输入需要的页面。。。
当然结果肯定是返回的success
其实我相信看到这里会有疑问,因为步骤实在太繁琐了,要是直接写在JSP页面里,多容易,而且更“高效”,是,也许直接写在JSP里面可以让我们敲代码的时间减少许多,但是对于一个大型的软件来说,如此多的代码都放在JSP页面里真的好吗?更重要的,高效是不仅仅是我们编写程序的时间,更是对软件进行后期维护的时间,减少代码冗余,提高重用性,减少错误才是高效。
Myeclipse编写struts程序的更多相关文章
- 使用MyEclipse编写Java程序
MyEclipse是非常实用的一款Java程序开发工具,主要用于Java.Java EE以及移动应用的开发.MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错. My ...
- 用Myeclipse 编写struts.xml时,自动提示
之所以不自动提示,是因为这个xml它不知道自己的xml格式是什么有哪些标签,所以不知道该怎么提示 所以就要给它引入格式,所以要引入XSD或者DTD文件 1.首先打开MyEclipse的窗口,选择“Wi ...
- [转]Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/13/251101.html 本系列教程将详细介绍Struts 1.x的基本原理和使用方法, ...
- CSharpGL(11)用C#直接编写GLSL程序
CSharpGL(11)用C#直接编写GLSL程序 +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharp ...
- 在Linux上编写C#程序
自从C#开源之后,在Linux编写C#程序就成了可能.Mono-project就是开源版本的C#维护项目.在Linux平台上使用的C#开发工具为monodevelop.安装方式如下: 首先需要安装一些 ...
- 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n
35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...
- 如何让VS2013编写的程序
总体分c++程序和c#程序 1.c++程序 这个用C++编写的程序可以经过设置后在XP下运行,主要的“平台工具集”里修改就可以. 额外说明:(1)程序必须为Dotnet 4.0及以下版本.(XP只支持 ...
- 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值
编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值 1 #import <Foundation/Foundation.h> 2 3 int main( ...
- 在Salesforce中通过编写C#程序调用dataloadercliq的bat文件取触发调用data loader来批量处理数据
通过这篇文章 http://www.cnblogs.com/mingmingruyuedlut/p/3413903.html 我们已经知道了Data Loader可以对Salesforce的Objec ...
随机推荐
- 微信公众平台中添加qq在线聊天代码
微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...
- 随鼠标移动tab
<script language="javascript"> function tabChange(obj, id) { var ...
- 更新引用google的cdn外部jQuery核心库JS文件
jquery-2.0.3 注!不再支持IE 6/7/8 直接引用地址: <script src="http://ajax.googleapis.com/ajax/libs/jque ...
- Code First02---CodeFirst配置实体与数据库映射的两种方式
Code First有两种配置数据库映射的方式,一种是使用数据属性DataAnnotation,另一种是Fluent API. 这两种方式分别是什么呢?下面进行一一解释: DataAnnotation ...
- Unity手游之路<十二>手游资源热更新策略探讨
http://blog.csdn.net/janeky/article/details/17666409 上一次我们学习了如何将资源进行打包.这次就可以用上场了,我们来探讨一下手游资源的增量更新策略. ...
- 清除SVN版本控制文件
命名为bat后缀文件,放在对应目录下. @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem ...
- 获取SHA1和MD5
首先:1.我们进入到通过cmd打开控制台,进入cmd定位到.android文件夹下.如下图: 2.输入keytool -list -v -keystore debug.keystore得到三种指纹证书 ...
- 网页嵌入swf代码
<object class id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://dow ...
- AJAX 页面数据传递
$.ajax({ //一个Ajax过程 type: "post", //以post方式与后台沟通 url: "personstockajax.php", //与 ...
- PyQt4自定义事件
listview控件与updateText 相关联 self.listview.updateText.connect(self.viewlist) updateText = QtCore.pyqt ...