Struts集成Spring出错:Servlet action is not available 的解决

【科研导航】【计算机视觉与图像处理】从顶刊到潜力股:跨学科(电子/电气/信息)SCI期刊投稿全景图 本文全面解析了计算机视觉与图像处理领域的SCI期刊投稿策略,涵盖从顶刊到潜力股的各类期刊特点。重点介绍了IEEE Transactions系列、Elsevier旗舰期刊以及二区优质期刊的审稿偏好和投稿技巧,特别适合电子/电气/信息交叉学科的研究者。文章还提供了三区、四区期刊的实用投稿建议,帮助科研新手快速找到适合的发表平台。 阅读详情

Servlet action is not available

先讲讲如何把Struts和Spring给整合到一块去,提供还不会整的兄弟们参考参考,如果你只是关心上面提到的那个问题的解决,可以略过直接看最后面应该可以解决!

      在Struts中集成Spring,把原来用户的请求由原来的Action直接处理变成请求先被Spring拦截,对Action所依赖的某些关系(如某个Action依赖某个Service)进行依赖注入后,再转到Action继续处理:

首先,先加载集成Spring的插件:就是在struts-config.xml配置文件中加入如下几行代码:

<plug-in
       
className="org.springframework.web.struts.ContextLoaderPlugIn">
       
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>

修改前的Action的如下:

<action attribute="LoginForm" name="LoginForm"
     input
="/WEB-INF/jsps/sysadmin/login.jsp" parameter="method"
     path
="/login" scope="request"
     type
="com.custudio.cdman.ui.admin.struts.action.LoginAction">
</action>

对Action的修改通常有以下两种做法:

1、把type属性改为"org.springframework.web.struts.DelegatingActionProxy"

<action attribute="LoginForm" name="LoginForm"
     input
="/WEB-INF/jsps/sysadmin/login.jsp" parameter="method"
     path
="/login" scope="request"
     type
="org.springframework.web.struts.DelegatingActionProxy">
</action>

2、type属性可以保留原样不变,也可以直接删掉如下:

<action attribute="LoginForm" name="LoginForm"
     input
="/WEB-INF/jsps/sysadmin/login.jsp" parameter="method"
     path
="/login" scope="request">
</action>

保留原样的原因只是方便以后查看时容易找出对应的处理请求的具体Action类

接着在struts-config.xml配置文件中加入<controller>字节点:

下面是把<controller>字节点附近的代码一起帖出来,目的是为了让大家知道<controller>字节点的位置,以免不必要的麻烦

<action forward="/WEB-INF/jsps/cdmgr/cdMgr.jsp"
            path
="/showCDMgrMain" />
        
<action forward="/WEB-INF/jsps/datamgr/dataMgr.jsp"
            path
="/showDataMgrMain" />
    
</action-mappings>
    
    
<controller
        
processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />
        
    
<message-resources
        
parameter="com.custudio.cdman.ui.resource.ApplicationResources" />
    
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        
<set-property property="pathnames"
            value
="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    
</plug-in>
    
<plug-in
        
className="org.springframework.web.struts.ContextLoaderPlugIn">
        
<set-property property="contextConfigLocation"
            value
="/WEB-INF/applicationContext.xml" />
    
</plug-in>

 

到 此struts-config.xml文件修改完成,接着就是如何让Spring在拦截用户的请求了,其实很新简单,只要把请求对应Action注册成 Spring的一个bean就可以了,仍以上面的那个Action为例,下面是applicationConfig.xml中的代码:

<!-- Service -->
    
<bean id="IOperatorService"
        class
="com.custudio.cdman.bussiness.sysadmin.OperatorServiceImpl"
        abstract
="false" singleton="true" lazy-init="default"
        autowire
="default" dependency-check="default">
        
<property name="operatorDAO">
            
<ref bean="OperatorDAO" />
        
</property>
    
</bean>
    
    
<!-- Struts Action -->    
    
    
<bean name="/login"
        class
="com.custudio.cdman.ui.admin.struts.action.LoginAction"
        abstract
="false" singleton="true" lazy-init="default"
        autowire
="default" dependency-check="default">
        
<property name="operatorService">
            
<ref bean="IOperatorService" />
        
</property>
    
</bean>

注意 这个bean用的是name="/login",不能用id="..."之类的 !!!

通过上面几步就完成了对Struts和Spring的整合。

进入正题,解决Servlet action is not available 的问题,

其实就是一个很小的地方修改一下就OK了,当然前提是你的struts-config.xml和applicationContext.xml文件配置确认无误,还出现了上面提示的错误的话,那现在试着把jsp页面的Action对应的Form表单的属性action="xxx.do?method=..."改成action="/xxx.do?method=..."

 
基于opencv的鱼群检测和数量统计识别鱼群密度带界面 摘要:本项目利用OpenCV图像处理技术实现了视频鱼类自动检测计数系统。通过背景减除、形态学处理和轮廓检测等方法,在视频帧中标记鱼类并统计数量。系统包含视频读取、前景提取、轮廓分析、中心点跟踪等核心功能,可实时显示计数结果。适用于水产养殖、生态监测等领域,具有实用价值。未来可通过参数优化、引入深度学习和多目标跟踪技术进一步提升准确性。(147字) 阅读详情

相关推荐

Vue3+Vite+Electron桌面应用开发:从零到打包的完整避坑指南

本文是一份详尽的Vue3+Vite+Electron桌面应用开发实战指南。文章从项目初始化、环境配置、主进程构建、Vite深度优化,到最终的打包配置与优化,系统性地讲解了使用现代前端技术栈开发跨平台桌面应用的完整流程,并重点分享了开发与打包过程中的常见“坑点”与解决方案,旨在帮助开发者高效构建稳定可交付的桌面端应用。

hh234的博客 108

springBoot服务分析

参考:https://blog.youkuaiyun.com/javazejian/article/details/56267036

qq_36236038的博客 1094

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

Spring管理Struts action的安全问题

1、在没有集成之前,struts本身是怎么管理的? struts配置 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "ht...

chouzhulun1683的博客 202

Python实战:3种高效方法将txt转csv(附pandas对比测试)

本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。

weixin_29073241的博客 263

PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出)

PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出)

算法如诗的博客 258

Servlet action is not available 问题解决

       环境eclipse3.2+myeclipse+tomcat5.0x       重要提示:出现这个问题的原因很多,最多见的是配置文件出错不能初始化出现Servlet action is not available提示。要解决问题需要具体问题具体分析,多看容器的logs。       背景提示,我要做struts+spring+hibernate的配置,但是按照书上说的配置

lijiuu的专栏 1万+

MIPI D-PHY IP 使用说明(一)

目录 前言 一、IP 特点 二、IP 可用性 三、IP 总览 四、IP 声明 五、IP 结构 六、IP 分流桥 模式 七、端口描述 1、PPI 接口信号 1、常规 PPI控制信号 2、发送模式 时钟通道 高速 PPI 信号 3、发送模式 时钟通道 逃逸模式PPI 信号 4、发送模式 数据通道 高速 PPI 信号 5、发送模式 数据通道 控制接口PPI 信号 6、发送模式 ...

记录所学,分享知识,结识挚友 2504

Servlet action is not available问题

我的myeclipse没有把spring.jar拷贝到lib,将myeclipse安装目录下找到的spring.jar拷贝到lib中,Servlet action is not available问题解决  其他可能: 2. Servlet action is not available 问题解决            原文出处:http://blog.youkuaiyun.com/lij

shaofei1986的专栏 1005

图像处理:张量分解在图像处理领域的应用

随着计算机视觉和图像处理技术的快速发展,图像数据呈现出高维、多模态、海量等特点。传统的矩阵分解方法已经无法有效处理这些复杂的图像数据。张量分解作为一种高阶矩阵分解方法,可以很好地捕捉图像数据的高维结构信息,在图像处理领域展现出巨大的应用前景。本节介绍几种常用的张量分解算法,包括高阶SVD(HOSVD)、Tucker-ALS、CP-ALS等。这些算法的核心思想是通过迭代优化的方式,交替更新张量分解的因子矩阵,直到收敛为止。综上所述,本文系统地介绍了张量分解技术在图像处理领域的应用。

AI天才研究院 7104

【定位教程2----旋转中心标定之方法一】

【定位教程2----旋转中心标定之方法一】

Quintin 3万+

用Spring集成Struts时老出Servlet action is not available错

用Spring集成Struts时老出Servlet action is not available错本人用Spring集成Struts时老出Servlet action is not available错找配置文件找了N久,没有找出错来。后面把      这段代码给剪掉。在web.xml文件中加上  contextConfigLocation  /WEB-INF/application

tcrct的专栏 756

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Servlet action is not available 总结

使用struts+spring+hibernate框架编写web程序了,我经常遇到这样一个错误“Servlet action is not available ”(无法找到Servlet action),当然导致这个错误的原因有很多,下面我总结一下自己的解决方案,希望对大家有所帮助:      1,使用hibernate时,反转表出错,这个错误一般情况下很难被发现,在你的src目录下加入log4j

forerver121的专栏 1520

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

struts+spring 在myeclipse中配置出现Servlet action is not available

前几天没事做的情况下想重新温习一下spring的知识,想起之前用struts+spring在myeclipse做东西的时候,出现了一个问题,用spring来做struts的Action代理的时候出现Servlet action is not available这个错误,郁闷了一天没有解决到问题,后来要做一个模拟项目的时候用到另一个springside的框架,对这个框架我的看法是挺不错的,虽然刚开始...

xiaosasion的专栏 214

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

The requested resource (Servlet action is not available) is not available.这个问题让我通宵了一个晚上

    在昨晚用struts+spring+hibernate做注册页面时,一路上下来都非常的顺利,但在运行时能出现注册的页面,一点击注册,就出现了以下的页面:    type Status report    message Servlet action is not available     description The requested resource (Servlet

群峰之巅的专栏 8564

HTTP Status 404 - Servlet action is not available

struts,spring,hibernate的项目中,出错时tomcat无任何提示只有浏览器HTTP Status 404 - Servlet action is not available。spring调试applicationContext.xml中注释掉   class="org.springframework.jndi.JndiObjectFactoryBean">   替换

Digyso 注芯蛋糕 1263

Servlet action is not available

郁闷了好几天就差重装系统了 本次配置环境:Myeclipse6.0、MySQL5.0、Struts1.2、Spring2.0、Hibernate3.1 一、建工程 这里不再多说 二、要使用 Struts、Spring、Hibernate 必须导入必需的包 1、Struts(和之前没区别) 2、Spring 分别导入Spring 2...

SailingAptech的专栏 145

SSH整合-Http 404 Servlet action is not available的解决方案

 SSH整合-Http 404 Servlet action is not available的解决方案本文地址:http://qzone.qq.com/blog/18203800-1234437203 本文标签: SSH signer log4j Servlet appender          这个困扰我已久的问题终于解决了,让我又一次坚信是问题总有办法解决的,没有什么奇奇怪怪的问题,特

FastThinking的专栏 7349

【项目推荐】基于 SpringBoot3 + Spring AI 的游泳馆管理系统:Agent + RAG + Function Calling 一次学全

它不是玩具 Demo,而是一个「业务 + AI」双主线交织的真实系统——预约业务在跑,AI 客服在旁边实时查库作答,两条线通过 Function Calling、RAG、站内消息串成一体。面试官问「你做过什么 AI 项目」时,你能从业务场景讲到架构取舍,从 RAG 切分参数讲到降级兜底——这和「我调了一下 ChatGPT 的 API」是完全不同的两个段位。项目已包含完整的建表 SQL、初始化数据、部署文档,克隆下来就能跑。获取方式:见文末说明 / 后台回复关键词获取。—— 完 ——

深耕开发,专注编程实战。分享源码解析、项目搭建、问题排查笔记,沉淀技术,持续更新。 347
上一篇: Struts原理、开发及项目实施
lw0121
博客等级 码龄19年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值