struts 多模块配置

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

来源:http://blog.csdn.net/qking93415981/archive/2007/07/23/1702980.aspx

struts 多模块配置

新一篇: struts 中的dispatch学习 | 旧一篇: Java New I/O的使用

 1、在web系统根目录下建立与模块名相同的文件夹

2、在WEB-INFO中建立同样的与模块名一一对应的文件夹,存放配置文件

3、web.xml中配置 

    <servlet>
        
<servlet-name>action</servlet-name>
        
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

        
<!-- Default -->
        
<init-param>
            
<param-name>config</param-name>
            
<param-value>/WEB-INF/struts-config.xml</param-value>
        
</init-param>

        
<!-- Exercise module -->
        
<init-param>
            
<param-name>config/exercise</param-name>
            
<param-value>/WEB-INF/exercise/struts-config.xml</param-value>
        
</init-param>

        
<!-- File Upload module -->
        
<init-param>
            
<param-name>config/upload</param-name>
            
<param-value>/WEB-INF/upload/struts-config.xml</param-value>
        
</init-param>

        
<!-- Validator module -->
        
<init-param>
            
<param-name>config/validator</param-name>
            
<param-value>/WEB-INF/validator/struts-config.xml,
                /WEB-INF/validator/struts-config-bundles.xml,
                /WEB-INF/validator/struts-config-i18nVariables.xml,
                /WEB-INF/validator/struts-config-type.xml,
                /WEB-INF/validator/struts-config-validwhen.xml
            
</param-value>
        
</init-param>

        
<!-- Dispatch Action module -->
        
<init-param>
            
<param-name>config/dispatch</param-name>
            
<param-value>/WEB-INF/dispatch/struts-config.xml</param-value>
        
</init-param>

        
<init-param>
            
<param-name>debug</param-name>
            
<param-value>2</param-value>
        
</init-param>
        
<init-param>
            
<param-name>detail</param-name>
            
<param-value>2</param-value>
        
</init-param>
        
<load-on-startup>2</load-on-startup>
    
</servlet>

 

 该系统中一共配置了四个模块

4、在WEB-INFO下与模块对应的文件夹中添加该模块的struts配置文件,名称没有限制,可以在web.xml中进行指定。

5、在web系统根目录下的与模块对应的文件夹中放置对应的jsp文件。

6、注意:4、中action路径都是相对于本模块的

WEB-INFO/dispatch/struts-config.xml

        <action path="/dispatch-submit" 
                type
="org.apache.struts.webapp.dispatch.DispatchExampleAction"
                parameter
="dispatchMethod"
                name
="testForm"
                scope
="request">
            
<exception key="dispatch.NoSuchMethodException"
                       type
="java.lang.NoSuchMethodException"
                       path
="/dispatch.jsp"/>
            
<exception key="dispatch.ServletException"
                       type
="javax.servlet.ServletException"
                       path
="/dispatch.jsp"/>
            
<forward name="success" path="/dispatch.jsp"/>
        
</action>

在jsp中对应的action的写法

          <html:form action="dispatch-submit" style="display:inline">
              
<input type="hidden" name="dispatchMethod" value="doFoo" />
              
<html:submit><bean:message key="button.foo.label" /></html:submit>
          
</html:form>

实际上客户端的实际html代码是:

          <form name="testForm" method="post" action="/strtus-eg/dispatch/dispatch-submit.do" style="display:inline">
              
<input type="hidden" name="dispatchMethod" value="doFoo" />
              
<input type="submit" value="Foo Button">
          
</form>

注:a、/strtus-eg/dispatch/dispatch-submit.do中 /struts-eg是prj名称,dispatch即对应的模块名

        b、xml配置文件中:parameter="dispatchMethod" ,

           jsp中<input type="hidden" name="dispatchMethod" value="doFoo" />,这种写法表示在对应的action中调用doFoo这个方法进行请求处理,而不是默认的execute。如果客户端没有给action中parameter="dispatchMethod" 中的参数dispatchMethod赋值那么就会以这个参数名"dispatchMethod"去找对应的方法。

     c、模块之间的跳转 

<html:link module="/exercise" page="/welcome.do">
<html:link module="/exercise" action="/welcome">

 module指明是哪一个模块,page与action意思相同,action会自动给你加上.do.如果要跳到默认模块[即WEB-INFO文件夹下面]设置module="/" 即可

       d、配置文件中设置从该模块跳到别的模块forward中 path="/../validator/index.jsp"      表示从该模块跳到validator模块中的index.jsp页面,其中path必须以"/"开始,“/”表示的是该模块的根目录。 

        <action path="/dispatch-noparam" 
                type
="org.apache.struts.webapp.dispatch.DispatchExampleAction"
                name
="testForm"
                scope
="request">
            
<forward name="success" path="/../validator/index.jsp"/>
        
</action>


Spring MVC "The request sent by the client was syntactically incorrect ()"解决办法 使用Spring MVC3框架时,可能会遇到这个问题,请求后台没有任何响应,页面显示 让人很莫名其妙。 The request sent by the client was syntactically incorrect 说的意思是:由客户端发送的请求是语法上是不正确的。但还是不明白哪里出了问题, 我的URLhttp://localhost:8080/mmsys/ 阅读详情

相关推荐

The request sent by the client was syntactically incorrect 服务器,tomcat,网页请求错误400,

这是今天项目中遇到的一个让我纠结的问题,当时特郁闷,找了半天也没找到原因.最后一点一点的测试提交数据才慢慢发现其中的端倪,最后也给遇到类似问题的朋友一点建议吧! 我的项目是运用SpringMVC作为控制层,然后是添加页面,页面需要提交一堆数据到服务器,当 写完数据提交的时候,并没有如我想象的那样跳入控制层,而跳入下面页面: 这个让我纠结了,以前都没遇到过,这个错误的原因看描述应该是说,客户

zhoucheng05_13的博客 1042

SpringMvc参数绑定400之The request sent by the client was syntactically incorrect.

springmvc数据绑定是一个很好的东西,在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写,如果不一致,可能会报如下错误: The request sent by the client was syntactically incorrect ().从字面上理解是:客户端发送的请求语法错误。实际就是springmvc无法实现数据绑定...

疙瘩陈 370

OpenLoaf:基于多智能体架构的本地化AI生产力桌面平台

在当今的软件开发与知识工作中,多任务并行与信息碎片化是普遍痛点。传统AI助手往往缺乏上下文连续性,导致重复沟通和效率低下。其核心原理在于通过分层多智能体架构,模拟公司组织模式,实现任务的智能路由与专业化处理。这种设计的技术价值在于将AI从通用聊天工具转变为拥有持久记忆和专项技能的“数字同事”,从而深度融入工作流。其应用场景广泛,尤其适合需要持续性、创造性工作的软件开发者、研究员和项目经理。OpenLoaf通过创新的“项目链接”与“记忆注入”机制,打破了项目间的信息孤岛,并坚持“本地优先”原则,确保数据隐私与

weixin_30376509的博客 613

Struts多模块配置跳转方法整理

struts 多模块配置有3种跳转模块的方法:1,html:link 标签。       依赖配置 struts-config-SMS.xml                     举例:       缺陷:需要struts1.2的支持,和 标签类似,传参是一个难题,容易造成乱码2,forward 转向方式       依赖配置 struts-config.xml

ibmOpen's World 812

Struts多模块配置(简单教程)

   在稍微大一点的项目中,由于为了方便开发,所以大部分项目采用多模块开发,以此来提高团队的开发效率, 下面写一个简单的教程来看看在采用Struts框架的项目中,如何进行多模块配置, 这里采用的是struts1.2版本    通常在项目中,每个模块都有一个单独的配置文件     这里我们只是演示一下,所以采用两个模块,即两个配置文件.          1.默认的struts-config.

Ivan Zhang's 弹丸之地 746

Struts多模块配置和模块之间的切换

假设一个应用中存在以下三个模块: 默认模块, module1 , module2先来看一下web.xml的配置     action     org.apache.struts.action.ActionServlet            config       /WEB-INF/struts-config.xml                 config/module1     

chensugang的专栏 973

STRUTS多模块开发配置

为便于开发,配置,管理,松耦的优点。配置Struts应用的多模块!0.web.xml如&lt;init-param&gt;      &lt;param-name&gt;config&lt;/param-name&gt;      &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;    &lt;/init-param...

123

struts多模块配置,真滴很扯淡?

        首先声明,struts1的多模块配置很好很强大很有用,对于大型的web项目来说多模块化是必不可少的,结合合理的分层分包可以实现基本的可组装的业务。扯淡的是其配置方式,完全不人性化,感觉作者是火星人,举个例子:既然模块已经分成单个配置文件了,干嘛还要在web.xml中指定模块名??这不是人为增加了配置环节吗?这个问题在java web开发中大量存在:学院派的思维习惯作祟,今天只是揪住...

chesman的专栏 115

Struts1.1多模块配置开发的问题

 最近研究了一下struts1.1的多模块置开发,本以为已经基本掌握,但突然又遇到了问题。在登录界面(默认模块)我试着调用一个logon模块的action,结果总是失败,找不到对应的配置,经过分析最后终于勉强成功。现将有关东西记录一下:web.xml配置文件      action    com.logon.MainServlet          debug      2          

漠然 2930

struts 多模块开发实例及配置

本文章所写的例子,由于csdn没有上传文件的功能,所以只能放在邮箱里邮箱名称:rain200485@126.com,密码:123654,如果有需要的可到里面下载,不过下载完后千万别删1.版本        jdk1.5.0,tomcat 5.0,struts 1.2.2 2.例子说明          在这个例子中主要有两个模块:登陆和注册模块,有默认的首页welcome.js

liukaiwei0805的专栏 940

Struts+spring, 多模块Struts配置文件

1. web.xml ... &lt;init-param&gt; &lt;param-name&gt;config&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt; &lt;/init-param&gt; &lt;init-param&gt; &lt;param-nam

乐在其中/Leo在其中 130

struts2:多模块配置文件开发

struts2支持多模块配置文件开发。下面是一个仅包含两个模块的示范程序,包括财务、仓库模块。它们都有一个“caiwu“的Action,在各自的命名空间下;还有一个从财务转向到仓库的Action。 1. 创建模块的控制层 财务模块: package com.clzhang.ssh.demo3; // 财务类 public class CaiwuAction { ...

weixin_30488085的博客 79

Struts文件上传及多模块调用的配置

/*应用Struts上传文件*//*UpLoad.jsp*/<html:form action="/upload.do" method="post" enctype="multipart/form-data"><html:file property="myfile"></html:file><html:sumbit value="上传"/>...

74
上一篇: servlet v2.3规范学习笔记(更新到第十二章)
fan_7
博客等级 码龄26年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值