一个登陆的示例,一个登陆页面,一个返回页面显示登录用户名,密码信息。Action为LoginAction.java:
login.jsp:
<form action="login.action" method="post" name="form1">
    username:<input type="text" name="username"><br>
    password<input type="text" nzme="password">
    <input type="submit" name="sub" value="login">
    </form>
下面是result.jsp:
 <body>
   <center>
  <h1>username:${requestScope.username}</h1>
  <h1>passord:${requestScope.password}</h1>
  </center>
  </body>
LoginAction:
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private String username;
private String password;
public void setUsername(String name){
this.username=name;}
public void setPassword(String pass){
this.password=pass;}
public String getUsername(){
return username;}
public String getPassword(){
return password;}
public String execute()throws Exception{
return SUCCESS;}
}
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
 <filter-name>struts2_clear</filter-name>
 <filter-class>org.apache.dispatcher.ActionContextCleanUp</filter-class>
  </filter>
 <filter-mapping>
  <filter-name>struts2_clear</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.dispatcher.FilterDispatcher</filter-class>
  </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
   <url-pattern>/*.action</url-pattern>
  </filter-mapping>
 </web-app>
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>
    <!--  Overwrite Convention -->
    <constant name="struts.derMode" value="true"/>
    <package name="struts2" extends="struts-default">
     <action name="login" class="com.test.action.LoginAction">
     <result name="success">/result.jsp</result>
     </action>
     </package>
</struts>

解决方案 »

  1.   

    进入http://localhost:8088/struts2/
    就会出现404错误但是除掉web.xml中的filter配置,就能进入login.jsp页面:
    我把sruts-2.1.8中lib包中所有jar包都考进了WEB-INF下的lib里面myeclipse:
    windows-preference-java-instaedJRES:jre1.6.0_06
    tomcatJDK:
    jre1.6.0_06:
    tomcat启动信息:
    2009-10-19 9:34:52 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
    2009-10-19 9:34:52 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
    2009-10-19 9:34:52 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
    2009-10-19 9:34:52 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
    2009-10-19 9:34:52 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
    2009-10-19 9:34:52 org.apache.catalina.core.AprLifecycleListener init
    信息: 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\jre1.6.0_06\bin;C:\Tomcat 6.0\bin
    2009-10-19 9:34:52 org.apache.coyote.http11.Http11Protocol init
    严重: Error initializing endpoint
    。。
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
      

  2.   

    应该是<constant name="struts.devMode" value="true" />报什么错也没说明? 
      

  3.   

    web.xml 改成下面的试试 <?xml version="1.0" encoding="UTF-8"?> 
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <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> 
    </web-app>
      

  4.   


    /*
    http://localhost:8088/struts2/ 
    出现404是找不到文件
    */
    //在web.xml下有个index.jsp改成login.jsp要是还出现404那你就在配下stratus
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
      

  5.   

    装配到MYeclipse自带的tomcat里面启动信息是这样的:
    问题就出现在FILTER配置那块
    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping
    at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:2169)
    ... 46 more
    2009-10-19 9:51:45 org.apache.catalina.startup.ContextConfig applicationWebConfig
    严重: Parse error in application web.xml file at jndi:/localhost/struts2/WEB-INF/web.xml
    java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping

    严重: Parse error in application web.xml file at jndi:/localhost/struts2/WEB-INF/web.xml
    java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2726)
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2752)
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1061)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
    at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:369)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1062)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4236)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
    at java.lang.Thread.run(Thread.java:619)
    2009-10-19 9:54:58 org.apache.catalina.startup.ContextConfig applicationWebConfig
    严重: Occurred at line 22 column 20
    2009-10-19 9:54:58 org.apache.catalina.startup.ContextConfig start
    严重: Marking this application unavailable due to previous error(s)
    2009-10-19 9:54:58 org.apache.catalina.core.StandardContext start
    严重: Error getConfigured
    2009-10-19 9:54:58 org.apache.catalina.core.StandardContext start
    严重: Context [/struts2] startup failed due to previous errors
      

  6.   

    严重: Parse error in application web.xml file at jndi:/localhost/struts2/WEB-INF/web.xml 
    java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping都提示了。 把 web.xml 中的 <url-pattern> /*.action 改为 <url-pattern>/* </url-pattern> 
      

  7.   

    web-root里还有一个index.jsp可以连接到login.jsp问题不是
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>也没必要
    filter里url配置改成这样也不能行
    <filter-mapping>
      <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
    把web.xml力的filter配置删去:输入:http://localhost:8080/struts2/就能进入index页面和链接到login页面加上filter配置就会出现404错误
      

  8.   

    <filter>
    <filter-name>action</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.FilterDispatcher
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>action</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter> 
            <filter-name>struts-cleanup</filter-name> 
            <filter-class> 
                org.apache.struts2.dispatcher.ActionContextCleanUp
            </filter-class> 
        </filter> 
    <filter> 
            <filter-name>struts2</filter-name> 
            <filter-class> 
                org.apache.struts2.dispatcher.FilterDispatcher
            </filter-class> 
        </filter> 
    <filter-mapping> 
            <filter-name>struts-cleanup</filter-name> 
            <url-pattern>/*</url-pattern> 
        </filter-mapping> 
        <filter-mapping> 
            <filter-name>struts2</filter-name> 
            <url-pattern>/*</url-pattern> 
        </filter-mapping> 
    自己改下
      

  9.   

    filter的配置问题.如果你是struts2.0.x的话过滤类是:org.apache.struts2.dispatcher.FilterDispatcher;如果你是struts2.1.x那么过滤器就是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
      

  10.   

    以上的方法都尝试过来,还是解决不了。
    struts-2.18解压时出现:应该不会影响里面的包吧! .8-all.zip: 把 struts-2.1.8\docs\WW\the-struts-2-request-flow.data\index.html?C: 正在尝试更正非法文件名
    !   D:\TDDOWNLOAD\struts-2.1.8-all.zip: 把 struts-2.1.8\docs\WW\index.html?C=S;O=D.html 重命名为 struts-2.1.8\docs\WW\index.html_C=S;O=D.html
    !   D:\TDDOWNLOAD\struts-2.1.8-all.zip: 无法创建 struts-2.1.8\docs\WW\index.html?C=D;O=D.html
    !   文件名、目录名或卷标语法不正确。
    !   D:\TDDOWNLOAD\struts-2.1.8-all.zip: 正在尝试更正非法文件名
    !   D:\TDDOWNLOAD\struts-2.1.8-all.zip: 把 struts-2.1.8\docs\WW\index.html?C=D;O=D.html 重命名为 struts-2.1.8\docs\WW\index.html_C=D;O=D.html
      

  11.   

    在loginaction类中get set方法传参 传属性名:username,password试试,
      

  12.   

    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping 
    at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:2169) 
    ... 46 more 
    就这个错误来看,6楼的答案99.9%是对的
    如果出现了其他的错误,再贴出来
      

  13.   

    java.lang.IllegalArgumentException: Invalid <url-pattern> /*.action in filter mapping
    是这个错