首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

struts2小白有关问题

2012-03-27 
struts2小白问题我是一刚刚开始自学struts2的小白 自己写了一小段代码,一直有错误不知道怎么调 请各位帮忙

struts2小白问题
我是一刚刚开始自学struts2的小白 自己写了一小段代码,一直有错误不知道怎么调 请各位帮忙

错误提示:
Struts Problem Report

Struts has detected an unhandled exception:
# Messages: Unable to instantiate Action, userData.action.UserAction, defined for 'execute' in namespace '/'null
File: userData/action/UserAction.java
Line number: 11
Stacktraces
Unable to instantiate Action, userData.action.UserAction, defined for 'execute' in namespace '/'null

  com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:318)
  com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)
  com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)
  org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
  org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
  com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
  org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
  org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  java.lang.Thread.run(Thread.java:662)
   

java.lang.NullPointerException

  userData.action.UserAction.(UserAction.java:11)
  sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  java.lang.Class.newInstance0(Class.java:355)
  java.lang.Class.newInstance(Class.java:308)
  com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:130)
  com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:161)
  com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)
  com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:120)
  com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:299)
  com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)
  com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)
  org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
  org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
  com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)


  org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
  org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  java.lang.Thread.run(Thread.java:662)
   

struts.xml:




XML code
<?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>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <package name="query"  extends="struts-default" namespace = "/">           <default-action-ref name="index" />        <action name="index" class = "userData.action.UserAction" method = "index">            <result>/index.jsp</result>        </action>                <action name = "execute" class = "userData.action.UserAction" method = "execute">            <result>/query.jsp</result>        </action>             </package>    <!-- Add packages here --></struts>

web.xml
XML code
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" 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">    <display-name>Struts Blank</display-name>        <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>        <welcome-file-list>        <welcome-file>index.jsp</welcome-file>    </welcome-file-list>       </web-app>

UserAction.java:
Java code
package userData.action;import java.util.*;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{    public ArrayList<UserBean> users = null;    public UserBean user = null;        public UserAction() {        users.add(new UserBean(1));            users.add(new UserBean(2));        users.add(new UserBean(3));        users.add(new UserBean(4));        users.add(new UserBean(5));    }        public ArrayList<UserBean> getUsers() {        return users;    }    public void setUsers(ArrayList<UserBean> users) {        this.users = users;    }    public UserBean getUser() {        return user;    }    public void setUser(UserBean user) {        this.user = user;    }        public String index(){        return SUCCESS;    }    public String execute(){        return SUCCESS;            }} 


UserBean.java:
Java code
package userData.action;public class UserBean {    public String userId = null;    public String userName = null;    public String userEmail = null;    public UserBean(int i){        this.userId = String.valueOf(i);        this.userName = "user"+String.valueOf(i);        this.userEmail = "user"+String.valueOf(i)+"@163.cmo";    }    public String getUserId() {        return userId;    }    public void setUserId(String userId) {        this.userId = userId;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getUserEmail() {        return userEmail;    }    public void setUserEmail(String userEmail) {        this.userEmail = userEmail;    }}



[解决办法]
Unable to instantiate Action -->不能实例化action。 看看,action 的配置 或者action执行方法中有没有错!
[解决办法]
你这个UserAction有编译通过吗?
你把里面的execute函数注释掉,再运行看看。

热点排行