java-web Error List

1.There is no Action mapped for namespace [/] and action name []

解决方案:struts.xml文件放置错误,应该放在src文件夹下面,此时在编译后的artifacts/war_exploded/classes文件夹下面可以看到structs.xml文件,否则struts.xml文件放置位置错误时,在该文件夹下是看不到的。

2.找不到 jspjavaclass

error message :
java.lang.ClassNotFoundException: org.apache.jsp.login1_jsp
java-web Error List_第1张图片
我们知道,在java-web中,jsp文件首先被编译成servlet文件再被运行的。而servlet文件实际上就是一种java文件,简言之,jsp文件最后都是转化为class文件被调用。
当出现以上错误时,一般有以下两种原因:

  • jsp文件本身编写错误,导致没有被编译成java的class文件,这种可能性很大;这个原因也是我出现这个错误的原因。

  • servlet容易的缓存混乱,这一般是因为开发使用的IDE插件不够好。因此,此时,我们应该clean工程缓存。重新编译,部署。

2.自定义interceptor没有效果

<package name="intercpt" extends="struts-default">
        <interceptors>
            <interceptor name="replace" class="interceptor.MyInterceptor"/>
        </interceptors>
        <action name="public" class="interceptor.PublicAction">
            <result name="success">success.jsp</result>
            <result name="login">success.jsp</result>
            <interceptor-ref name="defaultStack"/>
            <interceptor-ref name="replace"/>
        </action>
    </package>

在自定义的interceptor中,一定要加上<interceptor-ref name="defaultStack"/>这句,因为这是struts默认的拦截器,如果不定义这个的,那么你将任何的数据都接收不到。

3.The requested resource is not available.

很多时候都会出现这个错误,出现这个错误无非是两个原因:
1.源文件有错误,在部署的工程中找不到这个文件;
2.路径跳转错误,导致找不到;
大部分情况下,都是第二种原因导致的,这个时候我们可以看看 url 是否正确,然后输入正确的 url ,看是否会出现同样的错误,如果出现我们想要的结果后,我们再去看看配置文件中的一些路径配置错误。

你可能感兴趣的:(java-web)