Tomcat——请求的资源()不可用

时间:2022-02-03 13:29:54

I'm trying to get a struts tutorial working but I am coming up against the following error when I try to run the file in Tomcat.

我正在尝试使用struts教程,但是当我尝试在Tomcat中运行这个文件时,我遇到了以下错误。

The requested resource () is not available.

请求的资源()不可用。

Tomcat Log Output:

Tomcat日志输出:

Aug 29, 2012 9:55:37 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\GTK2-Runtime\bin;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;.
Aug 29, 2012 9:55:37 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsExample1' did not find a matching property.
Aug 29, 2012 9:55:37 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Aug 29, 2012 9:55:37 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1367 ms
Aug 29, 2012 9:55:37 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Aug 29, 2012 9:55:37 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
Aug 29, 2012 9:55:38 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Aug 29, 2012 9:55:39 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Aug 29, 2012 9:55:39 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/56  config=null
Aug 29, 2012 9:55:39 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1468 ms

My web.xml file:

我的网络。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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>StrutsExample1</display-name>

  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
 </servlet>

  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

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

Struts-config.xml

struts - config . xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>

    <form-beans>
        <form-bean name="helloWorldForm" type="com.vaannila.form.HelloWorldForm"/>
    </form-beans>

    <global-forwards>
        <forward name="helloWorld" path="/helloWorld.do"/>
    </global-forwards>

    <action-mappings>
        <action path="/helloWorld" type="com.vaannila.action.HelloWorldAction" name="helloWorldForm">
            <forward name="success" path="/helloWorld.jsp" />
        </action>
    </action-mappings>

</struts-config>

I'm running Tomcat as a plug-in for Eclipse.

我将Tomcat作为Eclipse的插件运行。

2 个解决方案

#1


0  

Are you running the .java file on the server?If you do so,you will get this error.You only need to run the .jsp(or .html) file on the server,and even if your .jsp(or .html) file include some .java file's methods.The browser can only run .html(or .jsp) files.

在服务器上运行.java文件吗?如果这样做,就会得到这个错误。您只需在服务器上运行.jsp(或.html)文件,即使.jsp(或.html)文件包含一些.java文件的方法。浏览器只能运行.html(或.jsp)文件。

#2


0  

The servlet mapping is *.do only mapped resources by extension. The message

servlet映射是*。只按扩展名映射资源。的消息

The requested resource () is not available

shows that resource path is empty. The requested resource is web application root.

显示资源路径为空。所请求的资源是web应用程序根。

Even if you have welcome file index.jsp it might not be loaded by the Tomacat. It might also doesn't exist.

即使您有欢迎文件索引。jsp可能不会被Tomacat加载。它也可能不存在。

If you are using Struts framework you should not access JSP directly, and to access Struts action you should specify valid URL that is mapped to the action. I.e. http://localhost:8080/StrutsExample1/helloworld.do.

如果您正在使用Struts框架,那么您不应该直接访问JSP,并且要访问Struts操作,您应该指定映射到该操作的有效URL。例如http://localhost:8080 / StrutsExample1 / helloworld.do。

#1


0  

Are you running the .java file on the server?If you do so,you will get this error.You only need to run the .jsp(or .html) file on the server,and even if your .jsp(or .html) file include some .java file's methods.The browser can only run .html(or .jsp) files.

在服务器上运行.java文件吗?如果这样做,就会得到这个错误。您只需在服务器上运行.jsp(或.html)文件,即使.jsp(或.html)文件包含一些.java文件的方法。浏览器只能运行.html(或.jsp)文件。

#2


0  

The servlet mapping is *.do only mapped resources by extension. The message

servlet映射是*。只按扩展名映射资源。的消息

The requested resource () is not available

shows that resource path is empty. The requested resource is web application root.

显示资源路径为空。所请求的资源是web应用程序根。

Even if you have welcome file index.jsp it might not be loaded by the Tomacat. It might also doesn't exist.

即使您有欢迎文件索引。jsp可能不会被Tomacat加载。它也可能不存在。

If you are using Struts framework you should not access JSP directly, and to access Struts action you should specify valid URL that is mapped to the action. I.e. http://localhost:8080/StrutsExample1/helloworld.do.

如果您正在使用Struts框架,那么您不应该直接访问JSP,并且要访问Struts操作,您应该指定映射到该操作的有效URL。例如http://localhost:8080 / StrutsExample1 / helloworld.do。