This spring example is using xml base config

But it creates object using explict new operator.

model

 

 

public class Brand {

       private Long id;

       private String name;

       private String country;

      

       public String getCountry() {

             return country;

       }

       public void setCountry(String country) {

             this.country = country;

       }

       public Long getId() {

             return id;

       }

       public void setId(Long id) {

             this.id = id;

       }

       public String getName() {

             return name;

       }

       public void setName(String name) {

             this.name = name;

       }

}

 

 

 

 

public class Car {

       private Long id;

       private Brand brand;

       private String model;

       private BigDecimal price;

      

       public Long getId() {

             return id;

       }

       public void setId(Long id) {

             this.id = id;

       }

       public Brand getBrand() {

             return brand;

       }

       public void setBrand(Brand brand) {

             this.brand = brand;

       }

       public String getModel() {

             return model;

       }

       public void setModel(String model) {

             this.model = model;

       }

       public BigDecimal getPrice() {

             return price;

       }

       public void setPrice(BigDecimal price) {

             this.price = price;

       }

}

 

 

 

 

service

 

 

 

public class CarManager {

      

       private static List<Car> carList;

 

       static {

             Brand brand1 = new Brand();

             brand1.setId((long)1);

             brand1.setName("Mercedes");

             brand1.setCountry("Germany");         

 

             Brand brand2 = new Brand();

             brand2.setId((long)2);

             brand2.setName("Peugeot");

             brand2.setCountry("France");          

 

             Car car1 = new Car();

             car1.setId((long)1);

             car1.setBrand(brand1);

             car1.setModel("SL 500");

             car1.setPrice(new BigDecimal(40000));

 

             Car car2 = new Car();

             car2.setId((long)2);

             car2.setBrand(brand2);

             car2.setModel("607");

             car2.setPrice(new BigDecimal(35000));

            

             carList = new LinkedList<Car>();

             carList.add(car1);

             carList.add(car2);       

       }

      

       public List<Car> getCarList() {

             return carList;

       }     

}

 

 

controller

 

 

public class CarListController implements Controller {

 

       public ModelAndView handleRequest(HttpServletRequest arg0,

                    HttpServletResponse arg1) throws Exception {

 

             CarManager carManager = new CarManager();

            

             ModelAndView modelAndView = new ModelAndView("carList");

             modelAndView.addObject("carList", carManager.getCarList());

 

             return modelAndView;

       }

}

 

 

carList.jsp

 

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>

<body>

       <h1>Car List</h1>

 

       <c:forEach items="${carList}" var="car">

             ${car.brand.name} ${car.model}: ${car.price}<br />

       </c:forEach>

 </body>

</html>

 

 

 


 

 

spring-mvc.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"

       xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

 

       <bean name="/list_cars.html" class="springmvc.web.CarListController"/>

 

       <bean id="viewResolver"

       class="org.springframework.web.servlet.view.InternalResourceViewResolver">

           <property name="viewClass"

              value="org.springframework.web.servlet.view.JstlView"/>

           <property name="prefix" value="/WEB-INF/jsp/"/>

           <property name="suffix" value=".jsp"/>

       </bean>

   

</beans>

 

 


 

 

web.xml

 

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns="http://java.sun.com/xml/ns/javaee"

       xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

             id="WebApp_ID" version="3.0">

       <display-name>SpringMvcCar</display-name>

 

       <servlet>

             <servlet-name>SpringController</servlet-name>

             <servlet-class>

                    org.springframework.web.servlet.DispatcherServlet

             </servlet-class>

             <init-param>

                    <param-name>contextConfigLocation</param-name>

                    <param-value>/WEB-INF/spring-mvc.xml</param-value>

             </init-param>

             <load-on-startup>1</load-on-startup>

       </servlet>

 

       <servlet-mapping>

             <servlet-name>SpringController</servlet-name>

             <url-pattern>/</url-pattern>

       </servlet-mapping>

      

</web-app>