这是struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://struts.apache.org/dtds/struts-config_1_2.dtd">
      
<struts-config> <data-sources>
<data-source key="projDB" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName"
value="com.mysql.jdbc.Driver" />
<set-property property="url"
value="jdbc:mysql://60.10.1.15/itvoo?useUnicode=true&amp;characterEncoding=gb2312" />
<set-property property="maxActive"
value="500" />
<set-property property="username"
value="itvoo" />
<set-property property="password"
value="xuKnGPEP" />
<set-property property="autoCommit"
value="true" />
<set-property property="autoReconnect"
value="true" />
</data-source>
</data-sources>
<!--data-sources>
<data-source key="projDB" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName"
value="com.mysql.jdbc.Driver" />
<set-property property="url"
value="jdbc:mysql://localhost/db_proj?useUnicode=true&amp;characterEncoding=gb2312" />
<set-property property="maxActive"
value="500" />
<set-property property="username"
value="root" />
<set-property property="password"
value="test01" />
<set-property property="autoCommit"
value="true" />
<set-property property="autoReconnect"
value="true" />
</data-source>
</data-sources-->
<form-beans>

<form-bean name="productForm" type="com.proj.controller.admin.EditProductForm" />

<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type ="java.lang.String" />
<form-property name="password" type ="java.lang.String" />
</form-bean>

<form-bean name="pwdEditForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="old" type ="java.lang.String" />
<form-property name="new" type ="java.lang.String" />
<form-property name="re" type ="java.lang.String" />
</form-bean>

</form-beans> <global-forwards>
<forward name="toIndex" path="/index.jsp" />
<forward name="toMap" path="/merchant.jsp" />
<forward name="toAdmin" path="/admin/admin.jsp" />
<forward name="toAdminMsg" path="/admin/adminmsg.jsp" />
<forward name="toAdminProductList" path="/admin/plist.jsp" />
<forward name="toProductEdit" path="/admin/pedit.jsp" />
<forward name="toUserList" path="/admin/ulist.jsp" />
<forward name="toPTypeList" path="/admin/pclist.jsp" />
<forward name="toNTypeEdit" path="/admin/ntedit.jsp" />
<forward name="toAdminNewsList" path="/admin/nlist.jsp" />
<forward name="toNewsEdit" path="/admin/nedit.jsp" />
<forward name="toMerchantList" path="/admin/mlist.jsp" />
<forward name="toSetup" path="/admin/setup.jsp" />
<forward name="toBackup" path="/admin/backup.jsp" />
<forward name="toStatic" path="/admin/static.jsp" />
<forward name="toSetFlash" path="/admin/setflash.jsp" />
<forward name="toChkUni" path="/chkUni.jsp" />
<forward name="toSuccess" path="/success.jsp" />
<forward name="toWrong" path="/wrong.jsp" />
<forward name="toProductList" path="/pSchList.jsp" />
<forward name="toProductDetail" path="/pDetail.jsp" />
<forward name="toNewsList" path="/nSchList.jsp" />
<forward name="toNewsDetail" path="/nDetail.jsp" />
<forward name="toNewsRight" path="/nListRight.jsp" />
<forward name="toTop" path="/inc_head.jsp" />
<forward name="toBottom" path="/inc_bottom.jsp" />
<forward name="toMall" path="/merchant_all.jsp" />
<forward name="toSall" path="/shop_all.jsp" />
<forward name="toUppic" path="/admin/uploadSuccess.jsp" />
</global-forwards> <action-mappings>
<action path="/index" type="com.proj.controller.Index" scope="request" validate="true" input="/wrong.jsp" />
<action path="/logout" type="com.proj.controller.LogoutAction" scope="request" validate="true" input="/wrong.jsp" />
<action path="/psch" type="com.proj.controller.ProductSearch" scope="request" validate="true" input="/wrong.jsp" />
<action path="/pdetail" type="com.proj.controller.ProductDetail" scope="request" input="/wrong.jsp" />
<action path="/nsch" type="com.proj.controller.NewsSearch" scope="request" input="/wrong.jsp" />
<action path="/ndetail" type="com.proj.controller.NewsDetail" scope="request" input="/wrong.jsp" />
<action path="/subpage" type="com.proj.controller.SubPage" scope="request" input="/wrong.jsp" />
<action path="/makepage" type="com.proj.controller.MakePage" scope="request" input="/wrong.jsp" />
<action path="/map" type="com.proj.controller.Map" scope="request" input="/wrong.jsp" />
<action path="/admin/pcedit" type="com.proj.controller.admin.EditProductCatalog" name="productForm" scope="request" input="/wrong.jsp" />
<action path="/admin/pedit" type="com.proj.controller.admin.EditProduct" name="productForm" scope="request" input="/wrong.jsp" />
<action path="/admin/uppic" type="com.proj.controller.admin.UpPicture" name="productForm" scope="request" input="/wrong.jsp" />
<action path="/admin/ntedit" type="com.proj.controller.admin.EditNewsType" scope="request" input="/wrong.jsp" />
<action path="/admin/nedit" type="com.proj.controller.admin.EditNews" scope="request" input="/wrong.jsp" />
<action path="/admin/uedit" type="com.proj.controller.admin.EditManager" scope="request" input="/wrong.jsp" />
<action path="/admin/medit" type="com.proj.controller.admin.EditMerchant" scope="request" input="/wrong.jsp" />
<action path="/admin/setup" type="com.proj.controller.admin.Setup" name="productForm" scope="request" input="/wrong.jsp" />
<action path="/admin/setflash" type="com.proj.controller.admin.SetFlash" name="productForm" scope="request" input="/wrong.jsp" />
<action path="/admin/static" type="com.proj.controller.admin.Static" scope="request" input="/wrong.jsp" />
<action path="/admin/login" type="com.proj.controller.admin.EditManager" name="loginForm" scope="request" validate="true" input="/wrong.jsp" />
<action path="/admin/chgpwd" type="com.proj.controller.admin.ChangePwd" name="pwdEditForm" scope="request" validate="true" input="/wrong.jsp" />
<action path="/admin/expdata" type="com.proj.controller.admin.ExpData" scope="request" validate="true" input="/wrong.jsp" />
</action-mappings>

<controller processorClass="com.proj.common.MyRequestProcessor" />
<message-resources parameter="com.proj.MyResource" /> <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
     <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
   <set-property property="stopOnFirstError" value="false" />
</plug-in>

</struts-config>
这是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>  <listener>
<listener-class>com.proj.controller.admin.TimerServlet</listener-class>
  </listener>  <!-- Action Servlet Configuration -->
  <servlet>
    <servlet-name>actionServlet</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>
<load-on-startup>0</load-on-startup>
  </servlet>  <!-- Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>actionServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
    
  <!-- The Welcome File List -->
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
</web-app>

解决方案 »

  1.   

    知道了,是因为你把jsp文件打包了导致的,应该在jsp跳转中使用绝对路径
      

  2.   

    用request获得服务器地址+用request或得端口号+request获得当前容器路径+“XX.do”
      

  3.   

    前几天我也碰到过这个问题。查了N久,终于找到原因,结果是我少了些类包到lib目录下,光struts.jar是不够的,struts还依赖于其他common-***.jar,不知道楼主是犯了跟我一样的错误