精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-15
错误提示如下: HTTP Status 404 - Servlet action is not available type Status report message Servlet action is not available description The requested resource (Servlet action is not available) is not available. Apache Tomcat/5.5.23 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="findUserForm" type="org.xredleaf.form.FindUserForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="findUserForm" input="/form/findUser.jsp" name="findUserForm" path="/findUser" scope="request" validate="true" /> </action-mappings> <message-resources parameter="org.xredleaf.ApplicationResources" /> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> </plug-in> </struts-config> applicationContext.xml 文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="DataSoure" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </property> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433</value> </property> <property name="username"> <value>sa</value> </property> <property name="password"> <value>123456</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="DataSoure" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>org/xredleaf/dao/Sysuser.hbm.xml</value> </list> </property> </bean> <bean id="SysuserDAO" class="org.xredleaf.dao.SysuserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean name="/findUser" class="org.xredleaf.action.FindUserAction" singleton="false"> <property name="dao"> <ref bean="SysuserDAO"/> </property> </bean> </beans> SysuserDAO.java内容如下: package org.xredleaf.dao; import java.util.Date; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.LockMode; import org.springframework.context.ApplicationContext; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * Data access object (DAO) for domain model class Sysuser. * @see org.xredleaf.dao.Sysuser * @author MyEclipse - Hibernate Tools */ public class SysuserDAO extends HibernateDaoSupport { private static final Log log = LogFactory.getLog(SysuserDAO.class); //property constants public static final String USERNAME = "username"; public static final String PASSWORD = "password"; public static final String TYPE = "type"; protected void initDao() { //do nothing } public void SysuserDAO(){ log.debug("init SysuserDAO"); } public void save(Sysuser transientInstance) { log.debug("saving Sysuser instance"); try { getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } public void delete(Sysuser persistentInstance) { log.debug("deleting Sysuser instance"); try { getHibernateTemplate().delete(persistentInstance); log.debug("delete successful"); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } public Sysuser findById( java.lang.Integer id) { log.debug("getting Sysuser instance with id: " + id); try { Sysuser instance = (Sysuser) getHibernateTemplate() .get("org.xredleaf.pojo.Sysuser", id); return instance; } catch (RuntimeException re) { log.error("get failed", re); throw re; } } public List findByExample(Sysuser instance) { log.debug("finding Sysuser instance by example"); try { List results = getHibernateTemplate().findByExample(instance); log.debug("find by example successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find by example failed", re); throw re; } } public List findByProperty(String propertyName, Object value) { log.debug("finding Sysuser instance with property: " + propertyName + ", value: " + value); try { String queryString = "from Sysuser as model where model." + propertyName + "= ?"; return getHibernateTemplate().find(queryString, value); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } public List findByUsername(Object username) { return findByProperty(USERNAME, username); } public List findByPassword(Object password) { return findByProperty(PASSWORD, password); } public List findByType(Object type) { return findByProperty(TYPE, type); } public Sysuser merge(Sysuser detachedInstance) { log.debug("merging Sysuser instance"); try { Sysuser result = (Sysuser) getHibernateTemplate() .merge(detachedInstance); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } public void attachDirty(Sysuser instance) { log.debug("attaching dirty Sysuser instance"); try { getHibernateTemplate().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public void attachClean(Sysuser instance) { log.debug("attaching clean Sysuser instance"); try { getHibernateTemplate().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public static SysuserDAO getFromApplicationContext(ApplicationContext ctx) { return (SysuserDAO) ctx.getBean("SysuserDAO"); } } FindUserAction.java内容如下: /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package org.xredleaf.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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.xredleaf.dao.Sysuser; import org.xredleaf.dao.SysuserDAO; import org.xredleaf.form.FindUserForm; /** * MyEclipse Struts * Creation date: 08-15-2007 * * XDoclet definition: * @struts.action path="/findUser" name="findUserForm" input="/form/findUser.jsp" scope="request" validate="true" */ public class FindUserAction extends Action { private static final Log log = LogFactory.getLog(FindUserAction.class); private SysuserDAO dao; public FindUserAction(){ log.debug("init FindUserAction"); } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { log.debug("start..."); FindUserForm findUserForm = (FindUserForm) form; List list = dao.getHibernateTemplate().loadAll(Sysuser.class); //dao=(SysuserDAO)getBean("SysuserDAO"); log.debug(list.size()); return null; } public void setDao(SysuserDAO dao){ this.dao=dao; } public SysuserDAO getDao(){ return dao; } } web.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.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> </web-app> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-15
action 都没找到,这是哪里配置错了???
|
|
返回顶楼 | |
发表时间:2007-08-15
对Struts 1.x不熟悉,不过有个疑问:
<bean name="/findUser" class="org.xredleaf.action.FindUserAction" singleton="false"> <property name="dao"> <ref bean="SysuserDAO"/> </property> </bean> 为什么这个bean的名字里有个/号? |
|
返回顶楼 | |
发表时间:2007-08-15
movingboy 写道 对Struts 1.x不熟悉,不过有个疑问:
<bean name="/findUser" class="org.xredleaf.action.FindUserAction" singleton="false"> <property name="dao"> <ref bean="SysuserDAO"/> </property> </bean> 为什么这个bean的名字里有个/号? 对应struts-config.xml文件里action path = "/findUser"的名字 |
|
返回顶楼 | |
发表时间:2007-08-15
兄弟姐妹们帮忙找找原因啊,做过的肯定知道的呀!!!
|
|
返回顶楼 | |
发表时间:2007-08-16
找个视频重做一遍
|
|
返回顶楼 | |
发表时间:2007-08-16
步骤都和书上一样的,昨天晚上重做了两遍,只是没把hibernate加上,结果就可以了,步骤是一模一样的,不知道问题出在哪里
|
|
返回顶楼 | |
发表时间:2007-08-16
我感觉好象是struts和spring集成出问题了
|
|
返回顶楼 | |
发表时间:2007-08-17
<action-mappings >
<action attribute="findUserForm" input="/form/findUser.jsp" name="findUserForm" path="/findUser" scope="request" validate="true" type="org.springframework.web.struts.DelegatingActionProxy" /> </action-mappings> |
|
返回顶楼 | |
发表时间:2007-08-17
感觉还是先把struts能用上再去管下面的吧 404啊,找不到啊
|
|
返回顶楼 | |