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"
%>
<%@ 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"/>
Editiamo il controller 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("WEB-INF/jsp/hello.jsp",
"now",
now);
}
}
Possiamo testare le modifiche, dopo aver fatto il build:
<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>
Quando si fa la richiesta all'indirizzo sopra si arriva alla pagina di benvenuto, index.jsp. Questa al suo interno contiene un redirect che ci spedisce verso hello.htm. La gestione del redirect è effettuata dalla DispatcherServlet che a sua volta delega la nostra richiesta al controller, HelloController . Il controller mette qualcosa dentro il modello, in questo caso mette l'ora (now) , e alla fine rende disponibile il modello alla vista, cioè hello.jsp.


Nessun commento:
Posta un commento