【问题标题】:Struts 2 : "The requested ressource is not available"Struts 2:“请求的资源不可用”
【发布时间】:2012-04-12 23:42:06
【问题描述】:

我用 struts 2 实现了一个简单的例子。

但点击操作时出现此错误:

“请求的资源不可用”

好像apache服务器找不到jsp文件。

这是法语的错误。

  Etat HTTP 404 - /StrutsTraining/classes/Hello.jsp

type Rapport d''état

message /StrutsTraining/classes/Hello.jsp

description La ressource demandée (/StrutsTraining/classes/Hello.jsp) n'est pas disponible.

我的 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.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <action name="action1" class="org.training.Hello">
            <result name="Hello">classes/Hello.jsp</result>
            <result name="goodBy">classes/GoodBy.jsp</result>
        </action>
    </package>
</struts>

我的 Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>StrutsTraining</display-name>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

jsp文件位于:

/StrutsTraining/WebContent/WEB-INF/classes

【问题讨论】:

  • 您将它们放在类文件夹中的任何特殊原因?
  • 我认为有一个 struts2 插件可以在类路径中启用 JSP,如果这是您必须做的事情,请检查 struts2 插件注册表,但不要把它们放在那里会提供更快的解决方案。我会推荐 /WEB-INF/content 作为一个很好的起点,那么如果你决定使用非常棒的 struts2-conventions-plugin 并为自己节省很多时间,你会稍微舒服一些(默认情况下就是这样喜欢 JPS 生活)。
  • 这是一个错误。没有理由将 jsp 放在类路径中。谢谢。

标签: java struts2 web


【解决方案1】:

将 jsp 放在 classes 文件夹中不是一个好主意,在 WEB-INF 文件夹中创建一个 jsp 文件夹并保留您的 jsp 文件。

        <action name="action1" class="org.training.Hello">
            <result name="Hello">/WEB-INF/jsp/Hello.jsp</result>
            <result name="goodBy">/WEB-INF/jsp/GoodBy.jsp</result>
        </action>

【讨论】:

    猜你喜欢
    • 2014-06-09
    • 2015-02-05
    • 2014-09-11
    • 2014-07-01
    • 2015-05-26
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多