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 ...
随机推荐
- 论在Windows下远程连接Ubuntu
Ubuntu下1:下载xrdp sudo apt-get install xrdp 2: urs/share/applications 下找到 远程桌面 设置成这样 Windows下 1; ...
- Ubuntu 14 修改默认打开方式
通过研究,有三种修改方式. 方式一: 修改路径:右上角“系统设置” -> 详细信息 -> 默认应用程序 但是,有个缺陷,可修改的项比较少. 方式二: 例如,修改pdf的打开方式,只要查看任 ...
- jQuery Ajax无刷新操作一般处理程序 ashx
//前台实例代码 aspx文件 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser ...
- java之BASE64加解密
1.简介 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到. 注:位于jdk的java.util包中. 2. ...
- laravel路由基础
基础: 所有的laravel路由都定义在 app/Http/routes.php 这个文件里,会被框架自带加载.简单的路由会接受一个URI和一个Closure类. Route::get('foo', ...
- [OpenJudge0054]特务会议召开
[OpenJudge0054]特务会议召开 试题描述 在敌占区的特务时常会碰头.敌占区有n个城市,为保证安全,中央经过侦查,只选择了n-1条较安全的道路作为特务们碰头可以走的道路.每次开会,中央会选择 ...
- 剑指Offer 替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 替换空格,先遍历一遍记 ...
- pro*c添加SQLCHECK后编译报错PLS-S-00201
如果在pro*c中调用数据库了里的函数,就需要在proc的cfg配置文件中添加一行: SQLCHECK=SEMANTICS 但是添加之后又会出现PLS-S-00201错误,原因在与添加SQLCHECK ...
- 3 EventTime 事件时间类和TimeNow函数——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 这里是时间相关类的第三个部分,也是最后一个部分. EventTime 事件时间类 这个类和Dela ...
- hdu1455 dfs+剪枝
Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...