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中,模块化设计是其核心特性之一,它使得开发者可以将应用程序拆分成独立的功能单元,每个单元称为一个模块。这样做有助于提高代码的复用性和可测试性,同时简化了大型项目的开发和管理。 标题“Struts2 ...
1. **模块化设计**:模块化是软件工程中的最佳实践,通过将大项目分解为多个小模块,可以更好地组织代码,便于团队协作,每个模块负责特定的业务逻辑,便于维护和测试。 2. **Struts配置文件**:每个模块通常有自己...
### Struts多模块开发概述与实践 #### 一、引言 在当今的软件开发领域,多模块开发和软件扩展性已成为评估一个框架优劣的关键指标。尤其对于框架型软件而言,其是否支持多模块开发、是否具备良好的扩展性及与其他...
Struts框架的多模块设计是其一大特色,它有助于将复杂的项目拆分成多个可管理的小模块,提高代码的可维护性和可扩展性。本资料“Java进阶Struts多模块的技巧”旨在帮助开发者掌握如何有效地组织和管理Struts2框架中...
通过上述步骤,我们可以有效地在Struts1框架中实现多模块多配置文件的设计。这种方式不仅提高了项目的可维护性和可扩展性,还使得代码结构更加清晰,有助于团队协作。对于大型项目来说,这是一种非常实用且高效的...
总结起来,"struts2 课程设计"涉及到Web开发中的多个核心概念和技术,包括Struts2框架的Action和拦截器,Ajax的前后端通信,以及Hibernate的数据库操作。通过实际项目实践,你可以深入理解这些技术的运用,提升自己...
本文将详细介绍如何在Struts框架下实现多模块配置。 在Struts框架中,多模块的实现主要依赖于Action和配置文件的划分。每个模块可以视为一个独立的功能单元,拥有自己的Action类和对应的配置文件。下面我们将深入...
**Struts1.2 BBS课程设计项目详解** 在IT行业中,Struts1.2是一个经典的MVC(Model-View-Controller)框架,它在Java Web开发领域有着广泛的应用。本项目以“BBS(Bulletin Board System,电子公告板)”为主题,...
在Struts.xml文件中,你可以为每个模块定义一个或多个Action,每个Action对应一个特定的业务操作。通过配置`<action>`标签,指定Action类、输入输出结果以及异常处理。 2. **包的概念**:在Struts 2中,引入了包...
在本篇文章模块中,我们将深入探讨Struts框架在处理"更多文章"功能时的关键技术和实现方式。 一、Struts框架基础 1.1 Struts概述:Struts是由Apache软件基金会维护的,它的核心是ActionServlet,负责处理HTTP请求,...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度结构化的Web应用程序。这个框架是基于MVC(Model-View-Controller)设计模式的,旨在简化开发过程并提供更好的控制流。《Struts2技术...
总的来说,这个“struts2登录注册简单实现”项目涵盖了Struts2框架的基础应用,包括Action的创建、配置文件的编写、视图设计、数据处理以及安全性考虑等多个方面。通过实践,开发者能更深入地理解Struts2的架构和...
JavaWeb学生公寓管理系统基于Struts2的毕业设计项目是一个典型的Web应用开发实例,它涵盖了Java后端编程、数据库设计以及MVC框架的应用等多个关键知识点。下面将详细解析这个项目的相关技术点。 1. **Struts2框架**...
ContextLoaderPlugin是Spring为Struts设计的一个插件,它能够加载一个Spring配置文件,该文件指向由ContextLoaderListener加载的根WebApplicationContext作为其父上下文。默认情况下,配置文件的名称是映射的servlet...
在本“Struts课程模块测试”中,学生需要利用MyEclipse开发工具来实现一个基于Struts的Web项目,其核心功能是判断一个字符串是否为另一个字符串的前缀。 首先,创建一个新的Web项目“Prefix”,这是开发的基础。在...
- **模块化设计**:将应用划分为多个逻辑上独立的模块,每个模块都可以独立部署。 - **使用Spring进行依赖注入**:Spring框架可以很好地与Struts2集成,通过Spring进行依赖注入可以提高代码的可维护性和可测试性。 -...
通过学习和实践这个Struts Login模块,你可以掌握Struts的基本架构、请求处理流程、数据校验、视图渲染等核心概念,为后续深入学习和使用Struts框架打下坚实的基础。同时,这个过程也会帮助你理解MVC模式在实际项目...
网上书店的毕业设计项目通常是为了让学生实践Web应用开发技能,特别是使用Struts和JSP技术。这个项目旨在帮助开发者理解MVC(Model-View-Controller)设计模式在实际中的应用,以及如何通过JSP和Struts框架来实现...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化且易于管理的Web应用。这个框架是基于MVC(Model-View-Controller)设计模式的,旨在简化开发过程并提供一种统一的方式来处理HTTP请求。...