Question

I m trying to port my hibernate example to spring by using spring hibernatetemplate but i m getting this error Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/applicationContext.xml]. Please suggest me run my project. I m fresher in my company

my web.xml file

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
  <servlet-name>spring</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>



 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>


    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>applicationContext.xml</param-value>
  </context-param>


</web-app>

my applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="jdbc:mysql://my server/emp_app"></property>
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource"> <ref bean="dataSource" /> </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </prop>
        </props>
    </property>
</bean>


    <bean id="d" class="login.HrDao">

    <property name="sessionFactory" ref="mysessionFactory"></property>

    </bean>

</beans>

my HrDAO.java file ->

package login;

import org.hibernate.SessionFactory;

import org.springframework.orm.hibernate3.HibernateTemplate;

public class HrDao {

    HibernateTemplate template;

    public void setSessionFactory(SessionFactory factory) {

        template = new HibernateTemplate(factory);

    }

    public void saveStudent(HrModel e) {

        template.save(e);

    }

}

MY HrMain.java File ->

package login;
import org.springframework.beans.factory.BeanFactory;

import org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.Resource;

public class HrMain {

    public static void main(String[] args) {

        Resource resource = new ClassPathResource("applicationContext.xml");

        BeanFactory factory = new XmlBeanFactory(resource);

        HrDao dao = (HrDao) factory.getBean("d");

    HrModel student = new HrModel();

        student.setEmployee_Name("Akash");

        student.setPassword("jaisiaram");

        dao.saveStudent(student);

    }

}

Finally my View page ->

<html>
<head>
<title></title>
</head>
<body>

<form action="HrMain" method="post">
<input type="text" name="Employee_Name"/>
<input type="text" name="password">
<input type="submit">
</form>
</body>
</html>
Was it helpful?

Solution

Where is your applicationContext.xml? You can refer your applicationContext.xml in web.xml as:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top