Eclipse错误中的Struts2 MVC Maven Java项目

时间:2017-01-22 13:55:46

标签: eclipse maven jsp model-view-controller struts2

我正在使用Struts2 MVC框架创建一个maven项目。我收到以下错误: org.apache.jasper.JasperException:找不到Struts调度程序。这通常是由于使用没有关联过滤器的Struts标记引起的。 Struts标记仅在请求通过其servlet过滤器时可用,该过滤器初始化此标记所需的Struts调度程序。 - [未知位置]

根本原因无法找到Struts调度程序。这通常是由于使用没有关联过滤器的Struts标记引起的。 Struts标记仅在请求通过其servlet过滤器时可用,该过滤器初始化此标记所需的Struts调度程序。 - [未知位置]

  

错误StatusLogger Log4j2找不到日志记录实现。请将log4j-core添加到类路径中。使用SimpleLogger登录控制台...   2017年1月22日上午8:28:39 org.apache.catalina.core.StandardWrapperValve调用   严重:Servlet [jsp]的Servlet.service()在路径[/ mvnStruts2Mvc]的上下文中引发异常[无法找到Struts调度程序。这通常是由于使用没有关联过滤器的Struts标记引起的。 Struts标记仅在请求通过其servlet过滤器时可用,该过滤器初始化此标记所需的Struts调度程序。 - [未知位置]]有根本原因   找不到Struts调度程序。这通常是由于使用没有关联过滤器的Struts标记引起的。 Struts标记仅在请求通过其servlet过滤器时可用,该过滤器初始化此标记所需的Struts调度程序。 - [未知位置]       在org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:59)       在org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)       at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)       at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:174)       在org.apache.jsp.index_jsp._jspService(index_jsp.java:138)       在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:729)       在org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)       at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)       在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:729)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)       在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)       在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)       在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)       在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)       在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)       at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)       在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)       在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)       在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)       在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)       at org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:767)       在org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1347)       在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)       at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)       在java.lang.Thread.run(未知来源)

SEVERE: Servlet.service() for servlet [jsp] in context with path [/mvnStruts2Mvc] threw exception [An exception occurred processing JSP page /index.jsp at line 15

12:     </head>
13:     
14:     <body>
15:         <s:form action="login">
16:             <s:textfield key="user.name"></s:textfield>
17:             <s:textfield key="user.city"></s:textfield>
18:             <s:submit key="submit"></s:submit>


Stacktrace:] with root cause
The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
at  org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:174)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:138)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

这是&#39; pom.xml&#39;:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                             http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.struts2.mvc.maven</groupId>
<artifactId>mvnStruts2Mvc</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mvnStruts2Mvc Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
  </dependency>

  <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.5.8</version>  
  </dependency>

  <dependency>
      <groupId>org.apache.struts.xwork</groupId>
      <artifactId>xwork-core</artifactId>
      <version>2.2.1</version>
  </dependency>   

  <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-dojo-plugin</artifactId>
      <version>2.3.31</version>
  </dependency>

  <dependency>
      <groupId>asm</groupId>
      <artifactId>asm</artifactId>
      <version>3.3.1</version>
  </dependency>

  <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-commons</artifactId>
      <version>3.3.1</version>
  </dependency>

  <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-tree</artifactId>
      <version>3.3.1</version>
  </dependency>   
</dependencies>
<build>
<finalName>mvnStruts2Mvc</finalName>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
</plugins>
</build>
</project>

这是&#39; struts.xml&#39;:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
                    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.custom.i18n.resources" value="package" />
<package name="/" extends="struts-default">
    <action name="login" class="com.struts2.mvc.maven.Controller.UserAction" method="execute">
        <result name="success">/success.jsp</result>
        <result name="input">/index.jsp</result>
    </action>

    <action name="purItm" class="com.struts2.mvc.maven.Controller.PurItmAction" method="execute">
        <result name="success">/Rpt/Mkt/purItmResult.jsp</result>
        <result name="input">/Rpt/Mkt/purItm.jsp</result>
    </action>
</package>
</struts>

这是&#39; web.xml&#39;

<?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_3_0.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>mvnStruts2Mvc</display-name>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

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

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

这是&#39; index.jsp&#39;:

<%@ page language="java"
     contentType="text/html; charset=ISO-8859-1"
     pageEncoding="ISO-8859-1" %>
<%@ taglib prefix="s" uri="/struts-tags" %>      
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 - Transitional//EN"
                  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type"
          content="text/html; charset=ISO-8859-1" />
    <title>Insert title here</title>      
</head>

<body>
    <s:form action="login">
        <s:textfield key="user.name"></s:textfield>
        <s:textfield key="user.city"></s:textfield>
        <s:submit key="submit"></s:submit>
        <%-- <s:textfield name="user.name" label="Name" />
        <s:textfield name="user.city" label="City" />
        <s:submit value="Submit" /> --%>
    </s:form>
</body>
</html>

有人可以帮我解决上述错误吗?非常感谢。

0 个答案:

没有答案