浏览 20572 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-04
一个小例子: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <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> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> </web-app> applicationCont.xml: <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= --> <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>/init.properties</value> </property> </bean> <!-- Choose the dialect that matches your "dataSource" definition --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>${datasource.driverClassName}</value> </property> <property name="url"> <value>${datasource.url}</value> </property> <property name="username"> <value>${datasource.username}</value> </property> <property name="password"> <value>${datasource.password}</value> </property> <property name="maxActive"> <value>${datasource.maxActive}</value> </property> <property name="maxIdle"> <value>${datasource.maxIdle}</value> </property> <property name="maxWait"> <value>${datasource.maxWait}</value> </property> <property name="defaultAutoCommit"> <value>${datasource.defaultAutoCommit}</value> </property> </bean> <bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"><ref local="dataSource"/></property> <property name="mappingResources"> <list> <value>com/wen/bean/Userinfotab.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop> </props> </property> </bean> <bean id="userInfoDAO" class="com.wen.dao.hibernate.UserInfoHibernateDAO"> <property name="sessionFactory"> <ref local="mySessionFactory"/> </property> </bean> <bean id="userInfoService" class="com.wen.business.service.UserInfoSeviceImp"> <property name="userInfoDAO"> <ref local="userInfoDAO"/> </property> </bean> <!-- <bean name="sysInfo" class="com.laoer.bbscs.sys.SysInfo" singleton="true"/> --> <!-- <bean name="forbid" class="com.laoer.bbscs.sys.Forbid" singleton="true"/> --> </beans> TopAction: package com.wen.struts.action; import javax.servlet.ServletContext; import org.apache.struts.action.Action; import org.apache.struts.action.ActionServlet; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.wen.business.IUserInfoService; public class TopAction extends Action { private WebApplicationContext wac; private IUserInfoService userInfoService; public void setServlet(ActionServlet actionServlet); { super.setServlet(actionServlet);; ServletContext servletContext=actionServlet.getServletContext();; this.wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);; this.userInfoService = (IUserInfoService); wac.getBean("userInfoService");; } protected WebApplicationContext getWebApplicationContext(); { return wac; } protected IUserInfoService getUserInfoService(); { return userInfoService; } } LoginActionpublic class LoginAction extends TopAction { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response); { LoginForm loginForm = (LoginForm); form; // TODO Auto-generated method stub com.wen.bean.UserInfo ui = getUserInfoService();.findUserInfoByPasswd(loginForm.getUserName();, loginForm.getPassWord(););; if (ui == null); { ActionErrors errors = null; errors.add("error.user.nouser", new ActionError("error.user.nouser"););; saveErrors(request, errors);; return mapping.findForward("login");; } return mapping.findForward("login");; } } 严重: Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from resource [/WEB-INF/applicationContext.xml] of ServletContext; nested exception is java.io.FileNotFoundException: Could not open resource [/WEB-INF/applicationContext.xml] of ServletContext java.io.FileNotFoundException: Could not open resource [/WEB-INF/applicationContext.xml] of ServletContext at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:73) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:125) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:125) at org.springframework.context.support.AbstractXmlApplicationContext.refreshBeanFactory(AbstractXmlApplicationContext.java:65) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:226) at org.springframework.web.context.support.XmlWebApplicationContext.refresh(XmlWebApplicationContext.java:131) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:156) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:97) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277) at org.apache.catalina.core.StandardHost.install(StandardHost.java:832) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091) at org.apache.catalina.core.StandardHost.start(StandardHost.java:789) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:480) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) at org.apache.catalina.startup.Catalina.start(Catalina.java:556) 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:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) 2006-9-4 11:13:36 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 2006-9-4 11:13:36 org.apache.catalina.core.StandardContext start 严重: Context startup failed due to previous errors 2006-9-4 11:13:36 org.apache.coyote.http11.Http11Protocol start 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-04
listener可以放context-param前面?楼主对tomcat还不是很熟悉啊!
http://java.sun.com/dtd/web-app_2_3.dtd 去这里看下DTD再说吧! 另,我记得,myeclipse的xml会报错才对! |
|
返回顶楼 | |
发表时间:2006-09-04
我改了后还是出项同样的问题
请看: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <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> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> </web-app> |
|
返回顶楼 | |
发表时间:2006-09-04
错误提示是:没有找到applicationContext.xml文件
|
|
返回顶楼 | |
发表时间:2006-09-08
无法找到applicationContext.xml的问题解决了
我在的web.xml中的<context-param>改成了 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> 但新的问题出现了: 严重: Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'HibernateTransactionManager' defined in resource [/WEB-INF/classes/applicationContext.xml] of ServletContext: Bean class [org.springframework.orm.hibernate3.HibernateTransactionManager] not found; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.HibernateTransactionManager java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.HibernateTransactionManager 严重: Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'mySessionFactory' defined in resource [/WEB-INF/classes/applicationContext.xml] of ServletContext: Bean class [org.springframework.orm.hibernate3.LocalSessionFactoryBean] not found; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.LocalSessionFactoryBean java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.LocalSessionFactoryBean 这两个异常, 相应的包都存在于工程的lib目录里面,我在类中import过是存在的 但是在启动tomcat的时候始终出现上面的问题。请大家指教。 我的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="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>org.gjt.mm.mysql.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/wen</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value></value> </property> </bean> <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="mappingResources"> <list> <value>com.yourcompany.bean.Userinfotab.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="HibernateTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="mySessionFactory"/> </property> </bean> <bean id="userInfoDAO" class="com.yourcompany.dao.hibernate.UserInfoHibernateDAO"> <property name="sessionFactory"> <ref local="mySessionFactory"/> </property> </bean> <bean id="userInfoService" class="com.yourcompany.business.server.UserInfoServerImp"> <property name="userInfoDAO"> <ref local="userInfoDAO"/> </property> </bean> </beans> 刚研究这个 对spring的配置文件还很生疏。望指点 |
|
返回顶楼 | |
发表时间:2006-09-08
java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.LocalSessionFactoryBean
你的Spring.jar在WEB-INF\lib目录下吗? |
|
返回顶楼 | |
发表时间:2006-09-11
感谢楼上的 ,在。不在的话还好解决,问题就是在lib目录里面还是出这个错误
|
|
返回顶楼 | |
发表时间:2006-09-12
问题已经解决,
把web.xml中的listener <listener> <listener-class>com.yourcompany.struts.servlet.SysListener</listener-class> </listener> 换成 <servlet> <servlet-name>SpringContextServlet</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> 就run起来了 不知道何故? 令人费解!!! |
|
返回顶楼 | |
发表时间:2006-09-14
com.yourcompany.struts.servlet.SysListener是哪抄来的?
|
|
返回顶楼 | |
发表时间:2006-09-15
我自己些的一个。
不是这个,我拷错了,这是其中的一个配置,在他之前还配置了:<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 结果就出现上边的问题了,现在解决了。我再去换成org.springframework.web.context.ContextLoaderListener试试看 |
|
返回顶楼 | |