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 ...
随机推荐
- Lab1--关于安装JUnit的简要描述
安装JUnit的过程描述: 下载两个jar包: hamcrest-all-1.3.jar junit-4.12.jar 注意在导入完成jar包之后不要随意改变jar包的路径. 创建java程序,书写如 ...
- C#爬虫之~苏飞万能框架使用教程
苏飞的框架帮助类,很多人应该都知道,不知道可以百度,此处直接说用法. //引入命名空间 using CsharpHttpHelper; //创建Httphelper对象 HttpHelper http ...
- 01WebApi防篡改机制---HMAC机制
防篡改,顾名思义就是防止有人恶意篡改请求数据URL以达到恶意攻击的目的,那要怎么才能实现这样的目的呢? 很简单,将要请求的数据加上合作号.合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将 ...
- 如何让JQuery报错-遁地龙卷风
0.解决的问题 a.当选择器语法没有问题,找不到元素时,让jquery报错 b.选择器语法有问题,程序无法继续执行时,让jquery报错 主要针对传递字符串,尝试前请备份jquery库,最好改变名字加 ...
- 基于SSL协议的双向认证 - 数字证书 [2]
1.1 数字证书 1.1.1 概念理解 一种文件的名称,例如一个机构或人的签名,能够证明这个机构或人的真实性.简而言之数字证书是一种网络上证明持有者身份的文件,同时还包括有公钥.证书是由国际 ...
- Codeforces 271 Div 2 B. Worms
题目链接:http://codeforces.com/contest/474/problem/B 解题报告:给你n个堆,第i个堆有ai个物品,物品的编号从1开始,第一堆的编号从1到a1,第二堆编号从a ...
- iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全
一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...
- 访问者(Visitor)模式
http://www.cnblogs.com/zhenyulu/articles/79719.html 一. 访问者(Visitor)模式 访问者模式的目的是封装一些施加于某种数据结构元素之上的操作. ...
- unity3d教程游戏包含的一切文件导入资源
http://www.58player.com/blog-2327-954.html 导入资源 将文件增加至工程文件夹的资源 (Assets) 文件夹后,Unity 将自动检测文件.将任何资源 (As ...
- u-boot 2011.09 开启debug 调试
以前做过,现在刚才又想不起来了,这个错误非常的严重. 在这里记一下. debug 调试信息的开启在 include/common.h 有如下宏定义: #ifdef DEBUG #define debu ...