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 ...
随机推荐
- OC第八节——目录操作和文件管理
1.需要理解的知识 通常程序在运行中或者程序结束之后,需要保存一些信息,而且需要持久化存储信息,比如登陆信息.视频播放记录.收藏记录等等,那么我们可以采用以下几种方式对数据进行持 ...
- 微信事业群WXG成立 致力于打造微信大平台
今天,微信之父张小龙带领微信团队成立微信事业群(WeiXin Group,简称WXG),致力于打造微信大平台,由他们负责微信基础平台.微信开放平台.微信支付拓展.O2O等微信延伸业务的发展,并包括邮箱 ...
- C语言各种标准的
[K&R C] 1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了<The C Programming Language>的第一版(按照惯例 ...
- FineUI第十七天---- 表格之扩展列
{ sb.AppendFormat(]); 1.通过表格的SelectedRowIndexArray获得选中行的索引号列表: 2.通过表格的DataKeys(二维数组)获取本行的数据 ...
- Android手机的上网功能需要用到APN(网络接入点)的设置 电信
手机apn出问题了,上不网 电信天翼: 我们经常使用的APN有三个,分别是NET网络设置.WAP网络设置和彩信网络设置. 1.NET网络设置 名称:CTNET APN:#777 用户名:ctnet@m ...
- css3延时动画
不太理解属性都是什么意思,但是有动画效果,我也是惊呆了 <style> #animated_div{animation:animated_div 4s 1; -moz-animation: ...
- 关于cin,getchar(),scanf()的注意事项(转)
问题描述一:(分析scanf()和getchar()读取字符) scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些 ...
- Linux之匹配符
shell常见通配符: 字符 含义 实例 * 匹配 0 或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab. ? 匹配任意 ...
- SPOJ 375 Query on a tree
Description 给出一个树,每条边有边权,支持两种操作,询问 \(u,v\) 路径上边权最大值,修改第 \(i\) 条边的边权,\(n\leqslant 10^4,T\leqslant 10\ ...
- Apache Thrift 环境配置
在 Ubuntu 14.04 下Apache Thrift 的安装方法: 1安装依赖包 sudo apt-get install libboost-dev libboost-test-dev libb ...