提交文件login.jsp内容如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*,java.io.*,java.text.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>登录</title>
<style type="text/css">
<!--
body {
background-color: #000000;
}
.STYLE3 {font-family: "宋体"; font-size: 16px; color: #FFFFFF; }
.STYLE4 {color: #FFFFFF}
-->
</style>
<script language="javascript">
<!--
  function resetBtn(fm){
      fm.reset();
      return false;
  }
-->
</script>
</head>
<body><%
request.setCharacterEncoding("gb2312");
%><p>&nbsp;</p>
<p><br />
  <br />
  <br />
  <br /></p>
<table width="636" height="404" border="0" align="center" cellpadding="0" cellspacing="0" background="images/tl_login1.jpg">
  <tr>
    <td width="39%" align="center" valign="middle">&nbsp;</td>
    <td width="61%" height="282">
    <form name="dtx_login" method="post" action="login.do?xp=我的电脑">  //此处提交
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <br />
      <table width="64%" height="123" align="center" cellpadding="0" cellspacing="0">  
  <tr>
    <td width="48%" height="23" align="right"><div align="center"><span class="STYLE3">用户名</span></div></td>
    <td width="52%">&nbsp;<input name="username" type="text" size="15" /></td>
  </tr>
  <tr>
    <td height="43" align="right"><div align="center"><span class="STYLE3">密&nbsp;&nbsp;码</span></div></td>
    <td>&nbsp;<input name="password" type="password" size="15" /></td>
  </tr>
  <tr>
    <td height="55" align="right"><div align="center">
      <input name="imageField" type="image" src="images/putin.gif" align="middle" onClick="dtx_login.submit();" />
    </div></td>
    <td><div align="center">
      <input name="imageField2" type="image" onClick="return resetBtn(this.form)" src="images/rewrite.gif" align="middle" />
    </div></td>
  </tr>
</table>
      <br />
    </form></td>
  </tr>
  <tr>
    <td height="115">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>

解决方案 »

  1.   

    web.xml内容如下:
    <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app><filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>com.utils.EncodingFilter</filter-class>
        <init-param>
          <param-name>ignore</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>GB2312</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <servlet-name>*.jsp</servlet-name>
      </filter-mapping>
      <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <servlet-name>action</servlet-name>
      </filter-mapping>  <servlet>
       <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>5</param-value>
        </init-param>
        <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>  <!-- The Usual Welcome File List -->
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>  <!-- Struts Tag Library Descriptors -->
      <taglib>
        <taglib-uri>/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
      </taglib>  <taglib>
        <taglib-uri>/struts-html</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
      </taglib>  <taglib>
        <taglib-uri>/struts-logic</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
      </taglib>  <taglib>
        <taglib-uri>/struts-nested</taglib-uri>
      

  2.   

    struts-config.xml内容如下:
    <?xml version="1.0" encoding="ISO8859-1"?>
    <!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>
     <data-sources>
        <data-source>
          <data-source key="oracleDB1" type="org.apache.commons.dbcp.BasicDataSource">
          <set-property value="oracle.jdbc.driver.OracleDriver" property="driverClass" />
          <set-property value="jdbc:oracle:thin:@172.16.16.146:1521:JGZS" property="url" /> //这里会用问题吗?数据库名用大写JGZS
          <set-property value="200" property="maxCount" />
          <set-property value="1" property="minCount" />
          <set-property value="1000" property="maxWait" />
          <set-property value="JGZS" property="user" />
          <set-property value="12345678" property="password" />
          <set-property value="true" property="AutoCommit" />
        </data-source>
      </data-sources> <form-beans>
       <form-bean name="login" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="username" type="java.lang.String" />
          <form-property name="password" type="java.lang.String" />
       </form-bean>
     
    </form-beans><global-forwards>
    </global-forwards>
     
    <action-mappings>
         <action name="login" type="dtx.LoginAction" validate="true" scope="request" path="/login">
          <forward name="print" path="/print.jsp" />
          <forward name="fail" path="/index.jsp" />
        </action>
    </action-mappings>

      <message-resources parameter="dtx.MyResource_zh" />
      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml" property="pathnames" />
        <set-property property="stopOnFirstError" value="false"/>  
    </plug-in>
    </struts-config>错误现象:Servlet action is not available 
      

  3.   

    进入提交界面请求为http://172.16.16.146:8080/jgzs/
    点击提交出现该界面,服务器无任何输出提示,是该struts 没有处理该请求,因为
    提交处理LoginAction为:
    package dtx;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.DynaActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import baseclass.*;
    import javax.servlet.ServletContext;
    import javax.sql.DataSource;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    public  class LoginAction extends Action{

    public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception
    {
    System.out.println("ssss=用户字典");//无此处输出,是没有进入该action的意思吧
    request.setCharacterEncoding("ISO8859_1");
    DynaActionForm dyform=(DynaActionForm)form;
    String name=(String)dyform.get("username");
    String psw=(String)dyform.get("password");
    String sp=(String)request.getParameter("xp");
    System.out.println(sp);
    ServletContext context=servlet.getServletContext();
    DataSource datasource=(DataSource)context.getAttribute("oracleDB1");
    baseclass dbuser=new baseclass(datasource);
    System.out.println("wwww=用户字典");
    if(!dbuser.checklogin("用户字典","用户名称","密码",name,psw))
    {
    ActionMessages errors=new ActionMessages();
    errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("label.deny"));
    if(!errors.isEmpty())
    {
    saveErrors(request,errors);
    }
    dbuser.closedbk();
    return mapping.findForward("failed");
    }
    else

        return mapping.findForward("print");
        }
    }
    }
      

  4.   

    在action="login.do?xp=我的电脑" 中加个/试试,如action="/login.do?xp=我的电脑"
    检查一下你的配置文件----------------------------------------
    城市劣人 http://www.5ai7.net/
      

  5.   

    shuai007(城市劣人)
    --------------------------
    试过,结果一样
    是tomcat配置问题???,可是tomcat正常启动,无任何提示错误!!!!!!
      

  6.   

    请用<html:form></html:form>标签
      

  7.   

    <action name="login" type="dtx.LoginAction" validate="true" scope="request" path="/login">里面少了一个input属性,改成<action name="login" type="dtx.LoginAction" validate="true" scope="request" path="/login" input="/login.jsp">试试