lunedì 24 giugno 2013

Riepilogo applicazione MVC di base

Riepiloghiamo tutte le operazioni effettuate nella scrittura dell'applicazione MVC di base descritta in precedenza.
































  • Creazione di un progetto java (springapp2) con Eclipse
  • Creazione del pacchetto springapp.web nel source folder src
  • Creazione della classe HelloController.java in src
  • 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 della cartella jsp dentro WEB-INF
  • Creazione del file hello.jsp dentro jsp
  • 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
    • jstl-1.2.jar
     
  • Per far compilare l'applicazione in Eclipse inoltre vanno collegati i jar dal build bath
 
File :
 
HelloController.java
package springapp2.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;
import java.util.Date;
 
public class HelloController implements Controller {
 
    protected final Log logger = LogFactory.getLog(getClass());
 
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
 
        String now = (new Date()).toString();
        logger.info("Returning hello view with " + now);
 
        return new ModelAndView("hello", "now", now);
    }
 
}

hello.jsp
<%@ include file="/WEB-INF/jsp/include.jsp"%><html>
<head>
<title>Hello :: Spring Application</title>
</head>
<body>
        <h1>Hello - Spring Application</h1>
        <p>
                 Greetings, it is now
                 <c:out value="${now}" />
        </p>
</body>
</html>

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

springapp2-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.0.xsd">
   
    <!-- the application context definition for the springapp2 DispatcherServlet -->
   
    <bean name="/hello.htm" class="springapp2.web.HelloController"/>
   
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>       
    </bean>
           
</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>springapp2</servlet-name>
                 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                 <load-on-startup>1</load-on-startup>
        </servlet>
 
        <servlet-mapping>
                 <servlet-name>springapp2</servlet-name>
                 <url-pattern>*.htm</url-pattern>
        </servlet-mapping>
 
        <welcome-file-list>
                 <welcome-file>
      index.jsp
    </welcome-file>
        </welcome-file-list>
 
</web-app>

index.jsp
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<%-- Redirected because we can't set the welcome page to a virtual URL. --%>
<c:redirect url="/hello.htm"/>

build.properties
tomcat.home = C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0
applicazione = springapp2
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" />
                 <mkdir dir="${tomcat.home}/webapps/${applicazione}/WEB-INF/jsp" />
                 <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>
                 <copy todir="${tomcat.home}/webapps/${applicazione}/WEB-INF/jsp">
                         <fileset dir="${EElavoro}/${applicazione}/war/WEB-INF/jsp">
                                  <include name="**/*.jsp"/>
                         </fileset>
                 </copy>
        </target>
 
</project>
     
     
     
     

Nessun commento:

Posta un commento