giovedì 20 giugno 2013

Riepilogo applicazione di base.

Riepiloghiamo tutte le operazioni effettuate nella scrittura dell'applicazione di base descritta in precedenza.
  • Creazione di un progetto java (springapp) con Eclipse
  • Creazione del pacchetto springapp.web nel source folder src
  • Creazione della classe HelloController.java in src
  • Creazione del source folder test
  • Creazione del pacchetto springapp.web nel source folder test
  • Creazione della classe HelloControllerTests.java in test
  • Creazione della cartella war
  • Creazione della cartella WEB-INF
  • Creazione della cartella lib dentro WEB-INF
  • Creazione di springapp-servlet.xml in WEB-INF
  • Creazione di web.xml in WEB-INF
  • Creazione di build.properties
  • Creazione di build.xml
  • Creazione del file hello.jsp dentro war
  • Creazione del file index.jsp dentro war
  • Copia di tutti i jar di Spring dentro la cartella lib
  • Copia dei jar esterni dentro la cartella lib :
    • com.springsource.org.apache.commons.logging-1.1.1.jar
    • junit-4.11.jar
    • servlet-api.jar
  • Per far compilare l'applicazione in Eclipse inoltre vanno collegati i jar dal build bath

Segue il codice di tutti i file.
 
HelloController.java



package springapp.web;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.IOException;
public class HelloController implements Controller {
        protected final Log logger = LogFactory.getLog(getClass());
        public ModelAndView handleRequest(HttpServletRequest request,
                         HttpServletResponse response) throws ServletException, IOException {
                 logger.info("Returning hello view");
                 return new ModelAndView("hello.jsp");
        }

}



HelloControllerTests.java



package springapp.web;
import org.springframework.web.servlet.ModelAndView;
import springapp.web.HelloController;
import junit.framework.TestCase;
public class HelloControllerTests extends TestCase {
    public void testHandleRequestView() throws Exception{         
        HelloController controller = new HelloController();
        ModelAndView modelAndView = controller.handleRequest(null, null);          
        assertEquals("hello.jsp", modelAndView.getViewName());
    }
}

springapp-servlet.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">
  <!-- the application context definition for the springapp DispatcherServlet -->
  <bean name="/hello.htm" class="springapp.web.HelloController"/>
</beans> 
web.xml
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns=http://java.sun.com/xml/ns/j2ee
        xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <servlet>
                 <servlet-name>springapp</servlet-name>
                 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                 <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
                 <servlet-name>springapp</servlet-name>
                 <url-pattern>*.htm</url-pattern>
        </servlet-mapping>
        <welcome-file-list>
                 <welcome-file>
      index.jsp
    </welcome-file>
        </welcome-file-list>
</web-app> 
hello.jsp
<html>
  <head><title>Hello :: Spring Application</title></head>
  <body>
    <h1>Hello - Spring Application</h1>
    <p>Greetings.</p>
  </body>
</html>
index.jsp
<html>
  <head><title>Example :: Spring Application</title></head>
  <body>
    <h1>Example - Spring Application</h1>
    <p>This is my test.</p>
  </body>
</html> 

build.properties
tomcat.home = C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0
applicazione = springapp
EElavoro = C:\\ JAVA\\EE lavoro 
build.xml

<project name="Ant_Project" basedir="." default="creazionestruttura">
        <property file='build.properties'/>
        <target name="info">
                 <echo message="Inizio deploy di ${applicazione}" />
                 <echo message="${tomcat.home}" />
        </target>
        <target name="pulizia" depends="info">
                 <echo message="Pulizia della struttura" />
                 <delete dir="${tomcat.home}/webapps/${applicazione}" />
        </target>
        <target name="creazionestruttura" depends="pulizia">
                 <echo message="Creazione delle directory" />
                 <mkdir dir="${tomcat.home}/webapps/${applicazione}" />
                 <mkdir dir="${tomcat.home}/webapps/${applicazione}/WEB-INF" />
                 <mkdir dir="${tomcat.home}/webapps/${applicazione}/WEB-INF/classes" />
                 <mkdir dir="${tomcat.home}/webapps/${applicazione}/WEB-INF/lib" />
                 <echo message="copio i file" />
                 <copy todir="${tomcat.home}/webapps/${applicazione}/WEB-INF/classes">
                         <fileset dir="${EElavoro}/${applicazione}/bin">
                                  <include name="**/*.class"/>
                         </fileset>
                 </copy>
                 <copy todir="${tomcat.home}/webapps/${applicazione}/WEB-INF">
                         <fileset dir="${EElavoro}/${applicazione}/war/WEB-INF">
                                  <include name="**/*.xml"/>
                         </fileset>
                 </copy>
                 <copy todir="${tomcat.home}/webapps/${applicazione}">  
                         <fileset dir="${EElavoro}/${applicazione}/war">
                                  <include name="**/*.html"/> 
                                  <include name="**/*.jsp"/>  
                         </fileset>
                 </copy>
                 <copy todir="${tomcat.home}/webapps/${applicazione}/WEB-INF/lib">
                         <fileset dir="${EElavoro}/${applicazione}/war/WEB-INF/lib">
                                  <include name="**/*.jar"/>
                         </fileset>
                 </copy>
        </target>
</project>

Nessun commento:

Posta un commento