javax.servlet.ServletException: javax.servlet.ServletException: Specified RequestProcessor not compatible with sa
at net.sf.struts.saif.SAIFSpringPlugin.initRequestProcessorClass(SAIFSpringPlugin.java:99)
at net.sf.struts.saif.SAIFSpringPlugin.init(SAIFSpringPlugin.java:40)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:69)
at com.caucho.server.dispatch.ServletConfigImpl.createServletImpl(ServletConfigImpl.java:646)
at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:587)
at com.caucho.server.dispatch.ServletManager.init(ServletManager.java:154)
at com.caucho.server.webapp.Application.start(Application.java:1654)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:
at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at com.caucho.server.webapp.ApplicationContainer.start(ApplicationContainer.java:670)
at com.caucho.server.host.Host.start(Host.java:420)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:
at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at com.caucho.server.host.HostContainer.start(HostContainer.java:504)
at com.caucho.server.resin.ServletServer.start(ServletServer.java:971)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.AbstractDeployControllerStrategy.start(AbstractDeployControllerStrategy.java:
at com.caucho.server.deploy.DeployController.start(DeployController.java:517)
at com.caucho.server.resin.ResinServer.start(ResinServer.java:551)
at com.caucho.server.resin.Resin.init(Resin.java)
at com.caucho.server.resin.Resin.main(Resin.java:625)
在网上搜下相关的信息,也没有找到答案,在线等大虾指导
at net.sf.struts.saif.SAIFSpringPlugin.initRequestProcessorClass(SAIFSpringPlugin.java:99)
at net.sf.struts.saif.SAIFSpringPlugin.init(SAIFSpringPlugin.java:40)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:69)
at com.caucho.server.dispatch.ServletConfigImpl.createServletImpl(ServletConfigImpl.java:646)
at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:587)
at com.caucho.server.dispatch.ServletManager.init(ServletManager.java:154)
at com.caucho.server.webapp.Application.start(Application.java:1654)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:
at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at com.caucho.server.webapp.ApplicationContainer.start(ApplicationContainer.java:670)
at com.caucho.server.host.Host.start(Host.java:420)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:
at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at com.caucho.server.host.HostContainer.start(HostContainer.java:504)
at com.caucho.server.resin.ServletServer.start(ServletServer.java:971)
at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
at com.caucho.server.deploy.AbstractDeployControllerStrategy.start(AbstractDeployControllerStrategy.java:
at com.caucho.server.deploy.DeployController.start(DeployController.java:517)
at com.caucho.server.resin.ResinServer.start(ResinServer.java:551)
at com.caucho.server.resin.Resin.init(Resin.java)
at com.caucho.server.resin.Resin.main(Resin.java:625)
在网上搜下相关的信息,也没有找到答案,在线等大虾指导
解决方案 »
- 我想问个关于hibernate的问题,求解答,hql相关的
- struts1 DispatchAction
- 关于ssh框架和.net分层的几个问题
- VBScript 运行时错误 '800a01fa'
- 换了一台机子运行就总出错
- HttpURLConnection / URLConnection 传输大文件数据错误问题,请大虾指教
- Struts <html:submit>问题
- 请问tomcat为什么启动一会就停止了?
- 关于struts的菜鸟问题
- EJB客户程序运行出错了,帮忙检查一下!!!!!
- 怎样将hashtable的数据写入csv文件,要求A列写key,B列写value
- struts2,Action重定向,跳转的到的action重复执行
严重: Servlet /student_score_manager threw load() exception
javax.servlet.UnavailableException: javax.servlet.ServletException:
Specified RequestProcessor not compatible with saif.
网上搜了好多,有一种解决方案 把:一下纯COPY:
SAIF 目前支持struts1.1 的版本 所以可能配置好的项目会报如下异常:
Specified RequestProcessor not compatible with saif. 异常 这就是saif与 struts 的不兼容导致的!
解决方案:
把SAIFSpringPlugin反编译,将saif-sping.jar中的那个class删除了
然后自己在src下面建个相同的包,下面建个同名的java类。
这样,在struts1.3+ spring3.1环境下也没问题了。
SAIFSpringPlugin.java
package net.sf.struts.saif;
import javax.servlet.ServletException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.config.ControllerConfig;
import org.apache.struts.config.ModuleConfig;/**
*
* <pre>
* Title:SAIFSpringPlugin,替代saif-spring.jar中的SAIFSpringPlugin
* Description: Title:SAIFSpringPlugin,
* 增加对DelegatingRequestProcessor和DelegatingTilesRequestProcessor的支持
* </pre>
*
***/
public class SAIFSpringPlugin implements org.apache.struts.action.PlugIn { private static final Log log; private static final String DelegatingRequestProcessor = "org.springframework.web.struts.DelegatingRequestProcessor"; private static final String DelegatingTilesRequestProcessor = "org.springframework.web.struts.DelegatingTilesRequestProcessor"; public SAIFSpringPlugin() {
} public void init(ActionServlet servlet, ModuleConfig config) throws ServletException {
initRequestProcessorClass(servlet, config);
} public void destroy() {
} protected void initRequestProcessorClass(ActionServlet servlet, ModuleConfig config) throws ServletException {
String saifProcessorClassname = net.sf.struts.saif.SAIFSpringRequestProcessor.class.getName();
String saifTilesProcessorClassname = net.sf.struts.saif.SAIFTilesSpringRequestProcessor.class.getName();
ControllerConfig ctrlConfig = config.getControllerConfig();
String configProcessorClassname = ctrlConfig.getProcessorClass();
if (configProcessorClassname.equals(org.apache.struts.action.RequestProcessor.class.getName()) || configProcessorClassname.endsWith(saifProcessorClassname) || configProcessorClassname.equals(DelegatingRequestProcessor)) {
ctrlConfig.setProcessorClass(saifProcessorClassname);
if (log.isInfoEnabled()) {
log.info("Loading the saif request processor without Tiles support");
}
return;
}
if (configProcessorClassname.equals(org.apache.struts.tiles.TilesRequestProcessor.class.getName()) || configProcessorClassname.endsWith(saifTilesProcessorClassname) || configProcessorClassname.equals(DelegatingTilesRequestProcessor)) {
ctrlConfig.setProcessorClass(saifTilesProcessorClassname);
if (log.isInfoEnabled()) {
log.info("Loading the saif request processor with Tiles support");
}
return;
}
try {
Class saifProcessorClass = net.sf.struts.saif.SAIFSpringRequestProcessor.class;
Class saifTilesProcessorClass = net.sf.struts.saif.SAIFTilesSpringRequestProcessor.class;
Class configProcessorClass = Class.forName(configProcessorClassname);
if (!saifProcessorClass.isAssignableFrom(configProcessorClass) && !saifTilesProcessorClass.isAssignableFrom(configProcessorClass)) {
String msg = "Specified RequestProcessor not compatible with saif.";
throw new ServletException(msg);
}
} catch (Exception ex) {
throw new ServletException(ex);
}
if (log.isDebugEnabled()) {
log.debug("saif plugin class successfully registered");
}
} static {
log = LogFactory.getLog(net.sf.struts.saif.SAIFSpringPlugin.class);
}}重新启动服务器试试成功了吗!
完整的成功项目地址:
http://download.csdn.net/detail/goumin1818/4353279
PS:本来是用spring 的拦截器的,也是配置问题,不是有bug就是不执行到interceptor.郁闷啦