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="UserForm" type="org.tie.struts.form.UserForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
      <action name="UserForm" path="/register" >
         <forward name="success" path="/success.jsp" redirect="false" ></forward>
         <forward name="failuer" path="/failuer.jsp" redirect="false" ></forward>
      </action>
</action-mappings>
    <controller>
      <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
    </controller>
<message-resources parameter="org.tie.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
    </plug-in>
</struts-config>

解决方案 »

  1.   

    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>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
      

  2.   

    action 代码如下:package org.tie.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 org.tie.service.IUserService;public class RegisterAction extends Action {
    private IUserService iUserService; public IUserService getIUserService() {
    return iUserService;
    } public void setIUserService(IUserService userService) {
    iUserService = userService;
    } @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    // TODO Auto-generated method stub
    return super.execute(mapping, form, request, response);
    }}
      

  3.   


    <action-mappings > 
          <action name="UserForm" path="/register" type="org.tie.struts.action.RegisterAction" > 
            <forward name="success" path="/success.jsp" redirect="false" > </forward> 
            <forward name="failuer" path="/failuer.jsp" redirect="false" > </forward> 
          </action> 
    </action-mappings>
      

  4.   

    UserDAOImpl 代码如下:package org.tie.dao.impl;import org.hibernate.SessionFactory;
    import org.tie.dao.IUserDAO;
    import org.tie.vo.User;public class UserDAOImpl implements IUserDAO {
    private SessionFactory sessionFactory; public SessionFactory getSessionFactory() {
    return sessionFactory;
    } public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
    } public void addUser(User user) {
    // TODO Auto-generated method stub }}
      

  5.   

    IUserService 代码如下:
    package org.tie.service.impl;import javax.xml.registry.infomodel.User;import org.tie.dao.IUserDAO;
    import org.tie.service.IUserService;public class UserServiceImpl implements IUserService {
    private IUserDAO iUserDAO; public IUserDAO getIUserDAO() {
    return iUserDAO;
    } public void setIUserDAO(IUserDAO userDAO) {
    iUserDAO = userDAO;
    } public void addUser(User user) {
    // TODO Auto-generated method stub }}
      

  6.   

    错误提示 :严重: action: null
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceTarget' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/registry/infomodel/User
    Caused by: java.lang.NoClassDefFoundError: javax/xml/registry/infomodel/User
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
    at java.lang.Class.getDeclaredMethods(Class.java:1763)
    at java.beans.Introspector$1.run(Introspector.java:1265)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
    at java.beans.Introspector.getBeanInfo(Introspector.java:387)
    at java.beans.Introspector.getBeanInfo(Introspector.java:159)
    at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:244)
    at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:143)
    at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:236)
    at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:194)
    at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:177)
    at org.springframework.beans.BeanWrapperImpl.<init>(BeanWrapperImpl.java:130)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:753)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:354)
    at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:295)
    at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    2008-12-30 16:06:55 org.apache.catalina.core.ApplicationContext log
    信息: Marking servlet action as unavailable
    2008-12-30 16:06:55 org.apache.catalina.core.StandardContext loadOnStartup
    严重: Servlet /ssh threw load() exception
    javax.servlet.UnavailableException
      

  7.   

    UserServiceImpl 
    这个类里的User 导错包了import javax.xml.registry.infomodel.User; 
    你的应该是import org.tie.vo.User; 
      

  8.   

    在struts-config.xml配置里,把action的type改一下:
    <action-mappings > 
        <action 
          attribute="userForm" 
          input="/JSP/user.jsp" 
          name="userForm" 
          path="/user" 
          scope="request" 
          type="org.springframework.web.struts.DelegatingActionProxy" >//重点是这里 
          <forward name="success" path="/JSP/Success.jsp" /> 
          <forward name="failure" path="/JSP/user.jsp" /> 
        </action> 
      

  9.   

    <action-mappings > 
        <action 
          attribute="userForm" 
          input="/JSP/user.jsp" 
          name="userForm" 
          path="/user" 
          scope="request" 
          type="org.springframework.web.struts.DelegatingActionProxy" >//重点是这里 
          <forward name="success" path="/JSP/Success.jsp" /> 
          <forward name="failure" path="/JSP/user.jsp" /> 
        </action> 
    正解,
      

  10.   

    强烈建议看看这篇文章!
    http://www.blogjava.net/action/archive/2007/08/28/140566.html