sábado, 22 de abril de 2017

Usando la librería Jackson 2.x para leer y escribir archivos en formato JavaScript Object Notation (JSON), con ella podremos mapear un objeto Java a formato JSON y realizar también el proceso inverso, convertir un texto en formato JSON a un objeto Java.

En este tutorial veremos como podemos convertir una gráfica generada con la biblioteca JFreeChart a un archivo PDF, para esta terea usaremos un librería llamada OrsonPDF que nos facilitará el trabajo, no solo para convertir gráficas, también nos servirá para crear archivos PDF usando Java2D drawing API (Graphics2D)  por lo que podremos convertir cualquier gráfico Java2D a formato PDF.

En tutoriales anteriores hemos aprendido a generar vistas en formatos como: JSON, PDF, HTML, XLS, etc., en esta publicación le toca el turno a las vistas en formato XML, Spring MVC soporta este tipo de vistas sin necesidad de agregar librerías externas y sin configuraciones extensas, para el proyecto de ejemplo usaremos el desarrollado en el curso vistas en formato JSON, solo que esta vez la salida será en formato XML.

Las dos operaciones morfológicas básicas son la erosión y la dilatación, a partir de estas se pueden aplicar las operaciones de apertura y cierre, estas operaciones son usualmente utilizadas para eliminar ruido en imágenes binarias.

Image Watch es un complemento para el IDE Visual Studio que nos facilita la depuración de las aplicaciones desarrolladas con la biblioteca de visión por computador OpenCV, este plugin nos permite visualizar el estado de los objetos cv::Mat cuando estamos en el modo depuración, de modo que podemos colocar un breakpoint en nuestro código y visualizar las imágenes contenidas en memoria por los cv::Mat presentes.

sábado, 15 de abril de 2017

En el tutorial Spring MVC JasperReports aprendimos a generar vistas (PDF, HTML, XLS, etc.) con la librería de reportes antes mencionada, en este post veremos como generar los reportes sin necesidad de utilizar las plantillas JRXML, el diseño del reporte será creado programáticamente con la biblioteca DynamicJasper diseñada para tal propósito, lo aprendido se puede aplicar a otras librerías similares como, DynamicReports por ejemplo.

Para generar vistas en formato JSON (JavaScript Object Notation) el Framework Spring MVC soporta el uso de la librería externa Jackson 2, para utilizarla solo debemos agregarlas al classpath, usando la configuración con la anotación @EnableWebMvc se configurarán todos los componentes necesarios.

Los recursos estáticos de nuestra aplicación web deben ser configurados para que podamos tener acceso a ellos, estos recursos pueden ser: imágenes, archivos CSS o JavaScript, archivos multimedia como audio o video, y todo lo que requiera nuestra aplicación para funcionar de manera correcta, en este tutorial aprenderemos a utilizar recursos estáticos ubicados en el directorio web y también utilizaremos los WebJars.

La interface HandlerMapping es utilizada por el DispatcherServlet para determinar cual es el controlador que debe manejar una petición HTTP, este componente analiza la URL de la petición y determina a que controlador se debe llamar para responder a la misma, el HandlerMapping utilizado por defecto es DefaultAnnotationHandlerMapping, si utilizamos la anotación @EnableWebMvc o su etiqueta XML equivalente <mvc:annotation-driven /> en la configuración se utilizará la clase RequestMappingHandlerMapping, ambas clases utilizan  las anotaciones @Controller y @RequestMapping.

sábado, 8 de abril de 2017

Las clases que implementen la interface ViewResolver serán las encargadas de resolver la vista, es decir, obtener el archivo físico que se usará para generar la vistas a partir del nombre lógico devuelto por el controlador, en el Framework Java Spring MVC encontraremos una gran variedad de clases que implementan esta interface, en este tutorial nos enfocaremos en las clases que son usadas para generar vistas JSP, aunque existen implementación que nos permiten trabajar con otras tecnologías de vistas, como: JasperReportsViewResolver diseñada para trabajar con la biblioteca JasperReports, la clase FreeMarkerViewResolver nos permite usar plantillas FreeMarker, entre otras.