Il Test Driven Development, in sigla TDD (in italiano: Sviluppo guidato dalle verifiche) è un processo di sviluppo del software in cui lo sviluppo vero e proprio è preceduto (e guidato, driven) dalla stesura di test automatici. Il processo si articola sulla ripetizione di brevi cicli di sviluppo e collaudo (noti come "cicli TDD", TDD cycles) suddivisi in tre fasi successive, sintetizzate dal motto "Red-Green-Refactor". Nella prima ,il programmatore scrive un test automatico (che necessariamente fallisce) per la funzionalità da sviluppare. Nella seconda, il programmatore scrive la quantità minima di codice necessaria per ottenere il superamento del test. Nella terza, il programmatore ristruttura il codice (ovvero ne fa il refactoring).
Spring Framework
mercoledì 26 giugno 2013
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>
Iscriviti a:
Commenti (Atom)
