`
bjxagu
  • 浏览: 161659 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Struts的多模块设计

阅读更多

Struts在1.1以后的版本引入了模块(Module)的概念,克服了1.0的并行开发所遇到的问题。但是模板的规划往往又是比较麻烦,如果不注意,可能适得其反,影响你的开发速度。下面我们看看如何去规划一个对模块的Struts项目。

首先我们需要建立一个web的项目,接下来就要进行目录规划。如下图:
 

 

1 首先确定项目的模块,如此项目中包含两个模块:mFirst和mSecond,当然还有缺省模板。

2 本例子中考虑到使用XDoclet自动生成Struts配置和校验文件,所以有些特殊性。在WEB-INF下建立两个目录mFirst和mSecond,用于模块配置文件的存放。同时建立merge目录,并包含相应的模块目录,主要存放XDoclet生成Struts配置文件所需要的合并文件。模板的java源码和测试代码也分别存放,这样便于管理。为了包含某些不允许从浏览器端直接访问的jsp文件,我们在WEB-INF下同时建立webpages目录,该目录下同时包含模块目录,主要存放各个模块的受限文件。

3 本例中为了集成方便,所有编译后的代码均存在同一目录下(WEB-INF\classes),编译后的测试代码同样存在同一目录下。

4 经过以上的设置,为XDoclet生成配置文件提供了方便,我们的原则是同一个模块只有一个配置文件(struts-config.xml)和校验文件(validation.xml)。

 

 

5 接下来我们只需在web.xml中进行模块声明即可,其他信息请参考struts的sample。

<init-param>

<param-name>config</param-name>

<param-value>WEB-INF/struts-config.xml</param-value>

</init-param>

<init-param>

<param-name>config/mFirst</param-name>

<param-value>WEB-INF/mFirst/struts-config.xml</param-value>

</init-param>

<init-param>

<param-name>config/mSecond</param-name>

<param-value>WEB-INF/mSecond/struts-config.xml</param-value>

</init-param>

6 完成这些信息以后,我们要注意一些事情:

struts-config.xml文件中的Controller声明,由于我们将模板的jsp文件隐藏到WEB-INF目录下,而不是在根目录下直接建立模板目录,所以必须设置forwardPattern,详细信息请参考Struts文档。请在每个模块的struts-config.xml文件中添加以下代码,在本例中为:

<controller forwardPattern=”/WEB-INF/webpages/$M$P”/>

在每个模块的properties资源文件中可能都有配置Struts默认的出错信息,因为这些模块都是独立的。

7 接下来就是模块的之间的切换问题,因为在现时过程必须需要解决的问题。其实很简单,如果你想使用项目下绝对路径(包含模块目录信息),只需将forward的contextRelative属性值设置为true即可,这样模块之间切换也很容易实现。

<forward contextRelative=”true” name=”success”

path=”/mSecond/second.do” redirect=”false”/>

8 接下来就是你的代码啦,可能你要在编码中适当地考虑到项目模块之间的关系。

总结:多模块设计不太难,但是你也的考虑周全点,这样会给你的开发带来方便。在IntelliJ IDEA下,虽然在模块比较多的情况下目录很乱,通过设置excluded,让你的目录更整洁,这样就可以关注你的模块。在有些情况下,取消excluded,这样你有可以把握项目全局。

  • 大小: 8.3 KB
分享到:
评论

相关推荐

    struts2 课程设计

    通用WEB 应用系统,包括交易系统和管理系统两个独立的子系统,主要包括:商品展示、购物车管理、我的订单、用户管理、商品管理五个功能模块。

    struts2登录注册简单实现

    用struts2简单实现登录注册功能。。。。

    Struts模块化编程教程 .doc

    Struts模块化编程教程 .doc1、前言 STRUTS是标准的"模型2"的WEB应用框架,其中的ActionServlet代表了"模型2"MVC设计模式中的"控制器" 。STRUTS应用程序一般使用JSP代码生成用户界面,这些代码不包括任何商业逻辑,...

    基于JSP+Spring+Hibernate+Struts2+mysql的毕业生离校管理系统设计与实现(源码+文档).zip

    5.1 系统登录功能实现52管理员模块设计5.2.1人员信息管理5.3教务处模块设计 5.3.1离校学生添加 5.3.2离校学生确认 5.4辅导员模块设计 5.4.1离校学生确认5.5图书馆模块设计 5.5.1图书借阅管理 5.52离校学生确认 5....

    struts2写的电子商城系统

    为了寝室里交大作业,用struts2写的一个电子商城系统。包含完整的数据库创建文件,在根项目的sql文件夹里,还有初步的测试数据。整个项目分包明确,每个功能模块一目了然。根据网上的资源实现了一个登陆时邮箱验证的...

    struts课程设计

    关于开源框架开发的酒店管理系统,其中包括代码,数据库和课程设计报告,系统模块有库存管理,人事管理等

    全开架图书管理系统图书管理模块struts框架设计以及实现毕业论文.doc

    全开架图书管理系统图书管理模块struts框架设计以及实现毕业论文.doc

    基于Python的Struts2安全漏洞扫描工具设计源码

    Struts2安全漏洞扫描工具 - 基于Python开发,包含21个文件,如WAR、GITIGNORE、...该项目为用户提供了一个Struts2安全漏洞扫描工具,通过界面交互和功能模块,为用户提供了一个高效、易用的安全漏洞检测解决方案。

    基于Struts技术的图书管理系统

    第二章 Struts概述 7 2.1 Struts的由来和发展 7 2.1.1 MVC简介 7 2.1.2 jsp发展模型对比 9 2.1 Struts的优缺点 10 2.2.1 Struts的优点 10 2.2.2 Struts的缺点 10 2.2.3 Struts的工作流程 10 第三章 系统需求分析 12 ...

    基于Struts技术的图书管理系统 源码 mysql

    基于Struts技术的图书管理系统 第一章 JAVA的网络功能与编程 5 1.1 JAVA语言简介 5 1.2 JAVA语言在网络上的运用 5 1.3 sevlet技术简介 5 第二章 Struts概述 7 2.1 Struts的由来和发展 7 2.1.1 MVC简介 7 2.1.2 jsp...

    房子管理系统设计与实现struts2+hibenrnate实现

    房子管理系统设计与实现struts2+hibenrnate实现

    struts养老保险系统设计与实现

    非常静电的关于struts架构的论文,摘要如下: 传统的基于客户机/服务器(client/server,ClS)体系结构的养老保险管理系统 ...关键{司:B/S模式、J2EE、MVC模式、Struts框架、DAO设计模式、养老保险

    Struts框架下桌游门户网站商家模块的设计与实现开题报告.pdf

    Struts框架下桌游门户网站商家模块的设计与实现开题报告.pdf

    网上书店论文(基于Struts\Hibernate)

    电子商务,网上书店,论文 目 录 1 系统概述(开发背景) 2 2 系统分析 2 3 系统设计 3 3.1 系统实现目标 3 ...5.1 用户模块设计: 11 5.2 图书模块 11 5.3 实现功能的主要方法及过程 11 6 开发技巧、难点及注意事项 15

    DWR,Struts,Hibernate和Spring的J2EE架构开发大全

    基于Struts框架的多文件上传组件设计和研究.pdf 基于Struts+Hibernate+Spring框架的毕业设计管理系统.pdf 基于Struts+Hibernate+Spring框架的电子政务系统研究.pdf 基于Struts+Hibernate+Spring的整合架构及其...

    酒店管理系统基于struts2实现工程文件源代码

    struts2 ibatis tiles框架实现的 myeclipse工程文件 培训的时候和小组成员一起做的 没有全部实现 但是好几个模块都实现了 附上整个工程文件 还包括需求分析的PDF 数据库设计的word文档 还有oracle数据库设计的SQL...

    JSP+Struts 编程体验BBS-论坛

    内含完整数据库,毕业设计题目,功能模块健全,绝对可用.... JSP+Struts+MyEclipse sqlsever 2000 jsp+struts

    谈谈你对Struts的理解。

     一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀;  2. ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个...

    基于Struts框架的网上订票系统的设计与实现

    基于Struts框架,Java Web应用程序,MVC模式,网上订票系统,模块设计

    Struts开发在线考试系统\.pdf

    介绍目前流行的MVC设计模式以及基于MVC模式的Struts框架;通过模拟传统的考场考试,利用 Struts框架的优势设计出在线考试系统;给出了该系统的功能、模块划分、处理流程及关系表与部分代码,并以 该系统为例分析了Struts...

Global site tag (gtag.js) - Google Analytics