无法运行基于struts框架的应用程序

时间:2013-11-19 12:32:18

标签: java struts2

我正在使用struts.xml文件,如下所述:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <constant name="struts.devMode" value="true" />
   <constant name="struts.multipart.maxSize" value="1000000" />

   <package name="helloworld" extends="struts-default">

      <interceptors>
         <interceptor name="myinterceptor"
            class="com.struts2examples.MyInterceptor" />
         <interceptor name="myinterceptor1"
            class="com.struts2examples.MyInterceptor1" />

      </interceptors>

      <action name="hello" 
            class="com.struts2examples.HelloWorldAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
            <result name="error">/AccessDenied.jsp</result>
            <interceptor-ref name="params"/>
            <interceptor-ref name="myinterceptor"/>
            <interceptor-ref name="myinterceptor1"/>
      </action>

      <action name="hello1" 
            class="com.struts2examples.HelloWorldAction1" 
            method="execute">
            <result name="success" type="freemarker">
                <param name="location">/hello.fm</param>
            </result>
            <result name="nopassnofail" type="redirect">
                <param name="location">/NewWorld.jsp</param >
            </result>
            <result name="error">/AccessDenied.jsp</result>
      </action>

      <action name="upload" class="com.struts2examples.UploadFile" method="execute">

       <interceptor-ref name="fileUpload">
           <param name="allowedTypes">image/jpeg,image/gif</param>
       </interceptor-ref>
       <result name="success">/success.jsp</result>
       <result name="error">/error.jsp</result>
      </action>
   </package>
</struts>

在我添加最后一个操作&#34;上传&#34;之前它正在工作。当我启动服务器时,它显示404错误。有人可以帮我解决这个问题。我觉得这个问题归因于<interceptor-ref name="fileUpload">

2 个答案:

答案 0 :(得分:1)

尝试在<interceptor-ref name="fileUpload"> <interceptor-ref name="defaultStack">之后添加。如果向动作添加显式拦截器,则defaultStack消失。

答案 1 :(得分:1)

尝试这样写,然后再试一次

<interceptor-ref name="defaultStack"/>
<interceptor-ref name="fileUpload">
   <param name="allowedTypes">image/jpeg,image/gif</param>
</interceptor-ref>