2 ym184767847 ym184767847 于 2016.01.17 20:53 提问

struts配置web.xml提示not assignable to 'javax

struts配置web.xml提示org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter' is not assignable to 'javax.servlet.Filter
导入的包和报错情况如下:
图片说明
项目运行报错
WARNING: Could not find action or result
There is no Action mapped for namespace [/] and action name [learn] associated with context path []. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:553)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:617)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1778)
at java.lang.Thread.run(Thread.java:724)

struts配置如下
    <package name="xxx" extends="struts-default">
    <action name="learn" class="main\java\action\HelloAction" method="execute">
        <result name="success">/success.jsp</result>
    </action>
</package>
    HelloAction.java文件如下

public class HelloAction extends ActionSupport{
@Override
public String execute() throws Exception {
System.out.println("正在访问action");
return "success";
}
}

4个回答

wh15842400641
wh15842400641   2016.01.18 09:07

class="main\java\action\HelloAction" 导入的时候不是用 \ 而是用 . ,改成 class="main.java.action.HelloAction"试试

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.18 14:25

你的Struts2.xml的配置可能有问题,class的值是类的全路径名称,是用.分割包名的。
参考下这个:http://www.cnblogs.com/gulvzhe/archive/2011/11/21/2256632.html

wojiushiwo945you
wojiushiwo945you 还有这个链接,跟你的问题一模一样的:http://blog.csdn.net/liu578182160/article/details/17266879
2 年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.01.19 10:10

main\java\action\HelloAction,,不知道你这样是在哪里学的

xiaomoxn
xiaomoxn   2016.01.20 09:17

class="main\java\action\HelloAction" 是包名+类名,要用.连接,换成class="main.java.action.HelloAction"试一下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Idea 添加完项目以后自动生成的web.xml报错 'org.springframework.web.servlet.DispatcherServlet' is not assignable to
点击打开链接
关于Struts2配置 web.xml 404错误现象 记录
初学 Struts2 需要在web.xml中配置下:
Struts2在web.xml,struts.xml配置中出现404错误,解决方案
在JSP开发中使用struts2框架,配置web.xml和struts.xml后,jsp文档运行都是404错误 找了很多方法,都不能解决问题,最终发现是struts包不兼容,最新的struts2.5.8的版本与2.3之前的版本不同 像xwork.core的包就被整合到Struts-dore包里面 用了不少方法都没能解决,最终还是换回了2.2.3的包才能正常运行
Struts 项目中web.xml文件配置
web.xml文件对于配置任何Java Web应用都必需的。(1)配置Struts的ActionServlet元素来声明ActionServlet元素:用来定义Servlet的名称元素:用来指定Servlet的完整类名actionorg.apache.struts.action.ActionServlet还要配置元素,它用来指定ActionServlet可以处理哪些URLaction*
最全三大框架整合(使用映射)——struts.xml和web.xml配置
suc.jsp web.xml: <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.
Struts在Web.xml中的配置及Struts1和Struts2的区别
struts1 在web.xml中的配置: (1)配置Struts的ActionServlet      元素来声明ActionServlet     元素:用来定义Servlet的名称     元素:用来指定Servlet的完整类名      action org.apache.struts.action.ActionServle
struts-2.3.31和struts-2.5.10引入jar以及配置web.xml和struts.xml
在struts学习过程中,很多教程用的都是strut-2.3.31,而现在最新的是struts-2.5.10,升级之后的strut2技能总是会有点变化的。还以为只要对着教程敲就行了,没想到不停地报错,简直无法让人享受敲代码的乐趣呀!该教程记录对struts2-2.3.31和struts2-2.5.10基本配置的不同。
Struts2.5版本struts.xm和web.xml配置更改
1.web.xml核心过滤器的修改 struts2 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 之前的核心过滤器全类名会有个ng  ,struts2.5核心过滤器没有这个 --> struts2 /* 2.struts.xml每个package需要增加如下配置 rege
StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter
使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 然后输出错误: 严重: Exception starting filter encodingFilter java.lang.
web.xml中配置struts标记库
Struts 框架提供了6个核心的标记库,供应用程序使用,每个标记库各有不同的用途。它们分别是:HTML,Bean,Logic,Nested,Template,Tiles标记库,在Struts1.3之前的版本中使用这些标记库的时候必须要先在web.xml文件中向web应用程序注册这些标记库。方法如下(用HTML举例):            /tags/struts-html//这个路径值