1.helloWorld.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><bean:message key="helloworld.title"/></title>
</head>
<body style="FONT-SIZE: 12px">
<html:form action="/helloWorld">
    <bean:message key="helloworld.message"/><br>
<bean:message key="helloworld.form.name"/>
<html:text property="name"/>
<html:errors property="name"/><br/>
<html:submit value="确定"/>
<html:reset value="重置"/>
</html:form>
<logic:notEmpty name="user">
    Hello <bean:write name="user" property="name"/>
</logic:notEmpty>
</body>
</html>
2.struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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 />
  <form-beans>
   <form-bean name="helloWorldForm" type="com.gong.struts.form.HelloWorldForm" />
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <action-mappings>
    <action
      attribute="helloWorldForm"
      input="/helloWorld.jsp"
      name="helloWorldForm"
      path="/helloWorld"
      scope="request"
      type="com.gong.struts.action.HelloWorldAction">
      <forward name="succ" path="/helloWorld.jsp" />
    </action>
  </action-mappings>
  <message-resources parameter="com.gong.struts.ApplicationResources" />
</struts-config>其他.java文件都没问题初学java web开发,使用struts1.2,比着书上抄了第一个例子就出错,不知道怎么回事。请各位高手帮助。
在myeclipse发布执行后可以正常显示jsp,但是输入name,点确定后报错:
HTTP Status 500 - No action instance for path /helloWorld could be created--------------------------------------------------------------------------------type Status reportmessage No action instance for path /helloWorld could be createddescription The server encountered an internal error (No action instance for path /helloWorld could be created) that prevented it from fulfilling this request.
--------------------------------------------------------------------------------Apache Tomcat/6.0.16请问是怎么回事啊?

解决方案 »

  1.   

    1.HelloWorldForm.java
    /*******************************************************************************
     * ClassName:   HelloWordForm                                                  *
     * Description: Use for Input User Name                                        *
     * Date:  2009-02-24                                                     *
     * Author:  Gong*****                                                      *
     ******************************************************************************/package com.gong.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;/**
     * 
     * @author gongyumin
     *
     */
    public class HelloWorldForm extends ActionForm { /**
     * name property
     */
    private String name;

    /**
     * Method validate
     * @param mapping
     * @param request
     * @return ActionErrors
     */
    @Override
    @SuppressWarnings("deprecation")
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();
    if (name.length() == 0) {
    ActionError error = new ActionError("helloworld.name.required");
    errors.add("name", error);
    }

    return errors;
    }

    /**
     * Method reset
     * @param mapping
     * @param request
     */
    @Override
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    this.name = "";
    } /**
     * Returns the name.
     * @return String
     */
    public String getName() {
    return name;
    } /**
     * Set the name.
     * @param name The name to set
     */
    public void setName(String name) {
    this.name = name;
    }
    }2.HelloWordAction.java
    /*******************************************************************************
     * ClassName:  HelloWordAction                                                *
     * Description: Use for Disposing User Name                                    *
     * Date:  2009-02-24                                                     *
     * Author:  Gong*****                                                     *
     ******************************************************************************/package com.gong.struts.action;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.ActionForward;
    import org.apache.struts.action.ActionMapping;import com.gong.beans.User;
    import com.gong.struts.form.HelloWorldForm;/**
     * 
     * @author gongyumin
     *
     */
    public class HelloWordAction extends Action { /**
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {

    HelloWorldForm helloWorldForm = (HelloWorldForm)form;
    String name = helloWorldForm.getName();
    User user = new User();
    user.setName(name);
    request.setAttribute("user", user);

    return mapping.findForward("succ");
    }
    }3.User.java
    /*******************************************************************************
     * ClassName:  User                                                           *
     * Description: User Bean                                                      *
     * Date:  2009-02-24                                                     *
     * Author:  Gong*****                                                      *
     ******************************************************************************/package com.gong.beans;/**
     * 
     * @author gongyumin
     *
     */
    public class User { private String name;

    public void doSomething() {
    // 进行具体的业务逻辑处理
    } /**
     * Returns the name
     * @return name
     */
    public String getName() {
    return name;
    } /**
     * Sets the name
     * @param name
     */
    public void setName(String name) {
    this.name = name;
    }
    }
    4.web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <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>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>helloWorld.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
      

  2.   

     type="com.gong.struts.action.HelloWorldAction">
    写错了 应该是com.gong.struts.action.HelloWordAction
      

  3.   

    HTTP Status 500 - No action instance for path /helloWorld could be created 
    意思是说找到了struts的配置文件,但是根据path="/helloWorld",未找到相应的 type="com.gong.struts.action.HelloWorldAction">
      

  4.   

    多谢各位。
    world又写成word了。
    真是白痴。
      

  5.   

    <html:form action="/helloWorld"> 
    我也试过加.do,但是没有解决问题,书上例子没加.do,结果我又去掉了。