前面两篇通过手工写代码,手工配置struts-config.xml文件的方法来开发了一个最简单的struts项目,通过手工的方式旨在学习底层原理细节。当熟悉了以后,我们就不需要再通过纯手工的方式来开发struts了,MyEclipse为我们提供了便捷的集成开发工具。 
下面就介绍通过MyEclipse自动开发struts的步骤。这里仍然使用登录验证系统来说明。

1.建立web工程

首先要建立web工程,这是所有项目的第一步。这里我新建项目StrutsLoginByTool


2.引入struts开发包

(1)右键该项目,依次点击MyEclipse->Project Facets[Capabilities]->Install Apache Struts(1.x) Facet(该步骤针对MyEclipse2015 Stable 2.0版本,不同版本步骤可能略有出入)。如图:

(2)在跳出来的对话框中选择struts 1.3版本。

(3)在接下来跳出来的对话框中选择struts-config.xml文件的路径,选择URL Pattern等一些配置。

(4)点击finish,就会自动地引入struts开发包和自动生成struts-config.xml文件,并完成一些配置。现在的项目目录如下:

可以看到,它自动引入的struts开发包是1.3.8版本的,并且生成了struts-config.xml文件。

在这一步之后,MyEclipse帮我们自动配置了struts的开发环境,我们已经可以在项目中使用struts来开发了。 
我们依然可以按照手工的方式来开发ActionForm、Action,以及在之后的过程中手工配置struts-config.xml文件。但是MyEclipse的强大之处就在于这些工作它也完全可以自动完成,简化了我们手工的麻烦。

下面我们采用纯自动的方式来开发。


3.开发login.jsp

开发简单的登录页面:login.jsp,该jsp依然放在WEB-INF目录下,通过index.jsp转发到该页面。与上篇一样,核心代码如下:

<body>
<form action="??" method="post">
UserName:<input type="text" name="username"/><br><br>
Password:<input type="password" name="password"/><br><br>
<input type="submit" value="Login"/>
</form>
</body>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这里action提交的地址还不知道,暂时先放在这里。两个表单组件的名字分别为username和password,这两个名字在struts中很关键,后面填充表单的时候要用到。


4.开发welcome.jsp和error.jsp

顺手把welcome.jsp和error.jsp也一并写出来,用于之后登陆验证后的跳转目标页面。


5.开发ActionForm和Action

(1)我们打开struts-config.xml文件,该文件可以采用DesignSource两种方式编写,Design模式就是我们自动开发ActionForm和Action的窗口,而Source模式让我们直接编辑源代码。

(2)在Design模式下的空白处点击右键,选择New,可以看到它可以新建Action,可以新建Form等

(3)我们先新建Form,创建UserForm,如下图:

(4)再创建和UserForm关联的Action,名字为LoginAction,如下图:

(5)完成上述步骤之后,我们可以看看MyEclipse帮我们完成哪些工作:

<1>看看项目目录,它自动生成了UserForm和LoginAction的代码:

<2>再看struts-config.xml文件,在Design模式下,可以看到它多出了一个LoginAction的视图,在Source模式下可以看到源代码,它已经帮我们配置好了UserForm和LoginAction以及它们两者之间的关联。


6.在struts-config.xml的Design模式下配置跳转关系

(1)将login.jsp、welcome.jsp和error.jsp都拖动到struts-config.xml的视图上,如下图:

(2)选择左侧的Add Connection工具,通过连线配置login.jsp到LoginAction的input关系,配置LoginAction到welcome.jsp和error.jsp的转发关系。对于到welcome.jsp,转发的判断名字为ok,而到error.jsp的转发判断名字为error

(3)最后形成的关系图如下:

(4)我们可以看看struts-config.xml的源代码,它在LoginAction中又给我们自动配置了forward关系:


7.在LoginAction的excute方法中添加业务逻辑

判断用户验证是否通过,如下:

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
if("123".equals(userForm.getPassword())){
return mapping.findForward("ok");
}else {
return mapping.findForward("error");
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

8.别忘了在login.jsp中将表单的action地址补充上去,我们的LoginAction的path为/login,所以应该写上/StrutsLoginByTool/login.do

<body>
<form action="/StrutsLoginByTool/login.do" method="post">
UserName:<input type="text" name="username"/><br><br>
Password:<input type="password" name="password"/><br><br>
<input type="submit" value="Login"/>
</form>
</body>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

9.测试

运行该项目,发现跟手工写代码配置的一样,运行正常。

可以看到我们只写了3个简单的jsp页面,和一点简单的业务逻辑代码。而其他的全部都是MyEclipse帮我们做的,生成Action和ActionForm,配置struts-config.xml等。

所以呢,struts简化了我们手工书写和配置跳转关系的麻烦,让我们专注于业务逻辑的书写。当然这么一个简单的登录验证只是一个非常小的例子,而项目真正复杂的地方正是在于业务逻辑。

这个例子旨在介绍通过集成工具开发struts的一般流程。



为什么说struts是一个web框架?

struts横贯了Web层,因为struts接管了Web层的组件,包括jsp,表单,Action等,所以把Struts称之为Web层框架,但是Struts并没有影响下面的业务逻辑层、DAO层和数据库层,这些层次将来会有其他的框架接管。

Struts1.3——使用MyEclipse集成工具开发Struts的更多相关文章

  1. MyEclipse 集成 Gradle开发环境

    一.上Grandle官网下载Gradle,地址:http://www.gradle.org/downloads 如果只是运行只下载gradle-2.6-bin.zip 就可以了,如果为了扩展开发的话就 ...

  2. HUDSON(Java开发的一种持续集成工具)

    Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. Hudson的特性 1.易于 ...

  3. 持续集成工具Jenkins学习总结

    概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...

  4. (转)持续化集成工具CruiseControl.NET

    持续化集成工具CC.NET[ 引言: 团队开发需要 进行集中的项目文件管理与有效的协调,我们采用源代码管理工具协助我们管理,卓有成效.限定重要文件的访问权限.使用悲观锁杜绝成员同时编辑同一份文件. 不 ...

  5. 集成产品开发-IPD简介

    内训IPD流程,听完后,觉的流程的力量很强大,可以高效的团队几千上万人的研发团队,来正确地为同一个目标前进.因为讲解者是从华为出来的,所以,相关的案例分析以及理解,都是以华为研发为模板来讲解的.这没错 ...

  6. 用持续集成工具Travis进行构建和部署

    用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...

  7. ScalaPB(0): 找寻合适的内部系统微服务集成工具

    前一段时间我们探讨了SDP的一个基于集群的综合数据平台解决方案,由多种数据库组成,包括:JDBC, Cassandra 及MongoDB.其中Cassandra和MongoDB属于分布式数据库,可以在 ...

  8. 系统设计与架构笔记:ETL工具开发和设计的建议

    最近项目组里想做一个ETL数据抽取工具,这是一个研发项目,但是感觉公司并不是特别重视,不重视不是代表它不重要,而是可能不会对这个项目要求太高,能满足我们公司的小需求就行,想从这个项目里衍生出更多的东西 ...

  9. 持续集成工具之Jenkins

    Jenkins是一个很好的持续集成工具,不光可以帮助开发进行自动打包,自动验证升级和安装,也可以帮助测试人员定时执行测试任务,或者在开自动打包安装之后自动执行测试任务,实现打包-安装-测试一条线服务, ...

随机推荐

  1. 117、TensorFlow变量共享

    # sharing variables # Tensorflow supports two ways of sharing variables # 1.Explicitly passing tf.Va ...

  2. python接口自动化测试三十六:数据驱动参数化之paramunittest

    官方文档1.官方文档地址:https://pypi.python.org/pypi/ParamUnittest/2.github源码下载地址:https://github.com/rik0/Param ...

  3. linux目录及文件命令学习

    学习Linux 目录操作 1.pwd 可以看当前目录路径 2.cd change directory 改变目录,切换目录 cd / 进入跟目录 cd ..返回上级目录 cd 进入用户主目录 cd .. ...

  4. Vue.use

    不管是对象还是函数install 是Vue.use()必须要有的方法 否则无法使用(Vue.use(MintUI))但axios 不需要Vue.use(axios) 可以直接使用 因为axios没有i ...

  5. 构建一个简单的Spring Boot项目

    11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能. ...

  6. java虚拟机规范(se8)——class文件格式(六)

    4.7.4 StackMapTable 属性 StackMapTable 属性是一个变长属性,位于 Code(§4.7.3)属性的属性表中.这个属性会在虚拟机类加载的类型阶段(§4.10.1)被使用. ...

  7. DB2实例

    实例是逻辑数据库管理环境,可以在此环境中对数据库进行编目和设置配置参数.根据需要, 可以在一台服务器上创建多个实例,该服务器为每个实例提供唯一的数据库服务器环境.   默认实例:DB2   显示实例: ...

  8. 使用TortoiseGit合并分支

    1.切换到主分支 2.右击选择merge, 选择被合并的分支

  9. 回车\r的含义

    package main import "fmt" func main() { // \r 回车,从当前行的最前面开始输出,覆盖掉以前的内容 // 输出:曹操刘备关羽 fmt.Pr ...

  10. PHP 接口签名验证

    目录 概览 常用验证 单向散列加密 对称加密 非对称加密 密钥安全管理 接口调试工具 在线接口文档 扩展 小结 概览 工作中,我们时刻都会和接口打交道,有的是调取他人的接口,有的是为他人提供接口,在这 ...