我用struts写了一个登陆的简单程序,但是始终跳不到action中,
我用jbuild2005写的,请大家给予帮助.谢谢了

解决方案 »

  1.   

    不action 就是你 在 提交 登录 表单的时候 没指定 是哪个action
      

  2.   

    你的struts.xml文件配置你的action没有?
    把你的配置帖出来
      

  3.   

    补楼上,jsp中的form标签对应的action=。。对应的地址,
      

  4.   

    谢谢大家给我回复,我现在把代码贴出来,请大家指教.期待回复
    web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app 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" version="2.4">
      <display-name>erp_test</display-name>
      <jsp-config>
        <taglib>
          <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
        </taglib>
      </jsp-config>
      <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>
        <init-param>
          <param-name>debug</param-name>
          <param-value>2</param-value>
        </init-param>
        <init-param>
          <param-name>application</param-name>
          <param-value>ApplicationResources</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>
    </web-app>
    struts-config.xml<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
      <form-beans>
        <form-bean name="loginActionForm" type="testActionForm.loginActionForm" />
      </form-beans>
      <action-mappings>
        <action input="/login.jsp" name="loginActionForm" path="/loginAction" scope="request" type="testAction.loginAction" validate="false">
          <forward name="success" path="/login_success.jsp" />
        </action>
      </action-mappings>
    </struts-config>登陆程序login.jsp
    <%@ page contentType="text/html; charset=GB18030" %>
    <html>
    <head>
    <title>
    login
    </title>
    </head>
    <body bgcolor="#ffffff">
      <h1>用户登陆</h1>
        <hr>
        <form action="/loginAction.do" method=post>
           用户:<input type="text" name="username"><br>
           密码:<input type="password" name="password"><br>
           <input type="submit" value="登陆">
        </form></body>
    </html>loginAction.javapackage testAction;import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForward;
    import testActionForm.loginActionForm;
    import org.apache.struts.action.Action;public class loginAction extends Action {
        public ActionForward execute(ActionMapping actionMapping,
                                     ActionForm actionForm,
                                     HttpServletRequest servletRequest,
                                     HttpServletResponse servletResponse) {
            loginActionForm laf = (loginActionForm) actionForm;        String username = laf.getUsername();
            String password = laf.getPassword();        if ("admin".equals(username) && "admin".equals("password")) {
                return actionMapping.findForward("success");
            }        throw new java.lang.UnsupportedOperationException(
                    "Method $execute() not yet implemented.");
        }
    }
      

  5.   

    把action=="/loginAction.do" 前面的斜线去掉或者在斜线前面在加上项目名,在客户端解释相对地址是以服务器作为基准的,所以你以后在填写路径的时候,要么全部填写完整要么只写***.do,都能正确解释。你报的的应该是404错误~~~
      

  6.   

    你学得是struts1吧,开始学struts2吧
      

  7.   

    我把/去掉
    又报错错误是C:\Borland\JBuilder2005\jdk1.4\bin\javaw -classpath "C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\bin\bootstrap.jar;C:\Borland\JBuilder2005\jdk1.4\lib\tools.jar"  "-Dcatalina.home=C:/Borland/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27"  org.apache.catalina.startup.Bootstrap -config E:\新框架\2009-03-03\erp_test\erp_test\Tomcat\conf\server8083.xml start 
    2009-3-10 11:03:24 org.apache.coyote.http11.Http11Protocol init
    信息: Initializing Coyote HTTP/1.1 on http-8083
    2009-3-10 11:03:24 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 703 ms
    2009-3-10 11:03:24 org.apache.catalina.core.StandardService start
    信息: Starting service Catalina
    2009-3-10 11:03:24 org.apache.catalina.core.StandardEngine start
    信息: Starting Servlet Engine: Apache Tomcat/5.0.27
    2009-3-10 11:03:24 org.apache.catalina.core.StandardHost start
    信息: XML validation disabled
    2009-3-10 11:03:25 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
    2009-3-10 11:03:25 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
    2009-3-10 11:03:25 org.apache.struts.util.PropertyMessageResources <init>
    信息: Initializing, config='ApplicationResources', returnNull=true
    2009-3-10 11:03:25 org.apache.catalina.core.StandardHost getDeployer
    信息: Create Host deployer for direct deployment ( non-jmx ) 
    2009-3-10 11:03:25 org.apache.coyote.http11.Http11Protocol start
    信息: Starting Coyote HTTP/1.1 on http-8083
    2009-3-10 11:03:25 org.apache.catalina.startup.Catalina start
    信息: Server startup in 1500 ms
    2009-3-10 11:03:34 org.apache.struts.action.RequestProcessor processException
    警告: Unhandled Exception thrown: class java.lang.UnsupportedOperationException
    StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
    java.lang.UnsupportedOperationException: Method $execute() not yet implemented.
    java.lang.UnsupportedOperationException: Method $execute() not yet implemented.
    at testAction.loginAction.execute(loginAction.java:25)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
      

  8.   

    错误信息:
    警告: Unhandled Exception thrown: class java.lang.UnsupportedOperationException
    原因:
     import org.apache.struts.action.ActionMapping; 
    import org.apache.struts.action.ActionForm; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    import org.apache.struts.action.ActionForward; 
    import testActionForm.loginActionForm; 
    import org.apache.struts.action.Action; public class loginAction extends Action { 
        public ActionForward execute(ActionMapping actionMapping, 
                                    ActionForm actionForm, 
                                    HttpServletRequest servletRequest, 
                                    HttpServletResponse servletResponse) { 
            loginActionForm laf = (loginActionForm) actionForm;         String username = laf.getUsername(); 
            String password = laf.getPassword();         if ("admin".equals(username) && "admin".equals("password")) { 
                return actionMapping.findForward("success"); 
            }         throw new java.lang.UnsupportedOperationException( 
                    "Method $execute() not yet implemented."); 
        } 
    } 你这里 始终抛出了 异常 把这句话给去掉:

     throw new java.lang.UnsupportedOperationException( 
                    "Method $execute() not yet implemented."); 

      

  9.   

    throw new java.lang.UnsupportedOperationException( 
                    "Method $execute() not yet implemented."); 
    =========================================
    这个是你自己代码里面抛出来的异常阿,基础都没打好就学struts...