Cómo integrar intervalos difusos en ssm
El contenido general de Springmvcstruts2 proviene de la red china. Lea atentamente el contenedor liviano Spring (contenedor liviano) y su Bean Factory (Bean Factory) principal para construir la base M (modelo) que necesito. Spring proporciona AOP (programación orientada a aspectos (programación orientada a niveles) que proporciona transacciones declarativas en entornos no administrados, seguridad y otros servicios; la extensión de Bean Factory ApplicationContext nos facilita la implementación de aplicaciones J2EE; la implementación de DAO/ORM nos facilita la implementación. nosotros para desarrollar bases de datos web MVCSpring Web proporciona marcos de aplicaciones web Java o integración con sus marcos web populares 1) Marco fuente 2) IoC (inversión de control), creación de dependencias, escritura de archivos de configuración e inyección de archivos de configuración para lograr un acoplamiento flexible 3; ) Las transacciones de seguridad de AOP son iguales a la lógica del programa y la extracción de funciones independientes utiliza la configuración de Spring. Algunas funciones del archivo se insertan en la implementación para mejorar la reutilización de acuerdo con la programación de superficie. El prólogo analiza más de cerca el código fuente de Spring MVC y lo escribe para que todos lo puedan leer. Comprender la implementación de varios marcos en el patrón MVC y resumirlos. Por lo tanto, les pido sinceramente que lean este artículo con sospecha y comprensión errónea. Me gustaría usar MVC en aplicaciones más familiares. En el marco de Model-View-Control (MVC), las principales cuestiones a las que se debe prestar atención son las siguientes: Modelo: el modelo debe contener los datos mostrados por la aplicación web J2EE. El paso de datos debe estar compuesto por JavaBeans ordinarios. selecciona la vista, el modelo debe contener los datos correspondientes de la vista. El modelo en sí debe facilitar el acceso a los datos y debe estar relacionado con la imagen empresarial. Los problemas a resolver por el modelo incluyen: l Encapsulación de los datos a mostrar. l Creo que el modelo necesita Depende de un marco específico l Vista definitivamente no javabean: la vista es responsable de mostrar la información contenida en el modelo. La vista debe comprender el controlador o la imagen empresarial subyacente. Las necesidades a resolver incluyen: l Mostrar el contenido de visualización de un modelo de datos determinado l Debe contener lógica de negocios l Puede Es necesario realizar la lógica de visualización y mostrar cada fila de una matriz alternativamente con diferentes colores La vista maneja errores de validación y datos. La validación debe ser completada por sus componentes. La vista debe manejar los parámetros, y los parámetros deben entregarse al controlador configurado para su procesamiento. Control: el controlador es como un sistema nervioso central MVC, y Xu necesita Estos ayudantes son más importantes que el análisis. vistas, análisis de parámetros, etc. El controlador accede al objeto comercial o China, que es más importante que StrutsAction. Los problemas que el controlador debe resolver incluyen: l Verificar y extraer los parámetros de la solicitud l Llamar al objeto comercial, pasar la solicitud para obtener. los parámetros l Crear el modelo, la vista habla Mostrar el modelo l Seleccionar la vista apropiada y enviarla al cliente l El marco actual del controlador ha sido implementado por el marco MVC. El más popular es StrutsWebwork Struts es una web popular. marco, casi el estándar real de la industria Además de las ventajas del modelo MVC discutidas anteriormente, existen algunas desventajas: l Cada acción se almacena en caché y luego se solicita que la acción espere a que se reutilice el primer objeto. lo que significa que cada acción debe ser segura para subprocesos. ActionForm se usa para encapsular datos de formulario, pero puede manejar datos de tipo String. Aunque la herramienta Commons Beanutils se usa para la conversión de tipos, solo proporciona un nivel de soporte. API de servlet, las pruebas son difíciles (la firma StrutsAction.execute se reemplaza por ejecutar (ActionContext actionContext), la dependencia es muy grave) l Las reglas de verificación del marco en sí son relativamente simples y generalmente dependen de Commons Validation para la verificación l Antes de pensar en Acción Algunas dificultades de procesamiento Incluso escribir un controlador especial l.
Dado que todos Struts heredan clases concretas, ¿es fácil romper la encapsulación? l Proporciona una variedad de etiquetas definidas individualmente, el enlace de datos es demasiado primitivo, lo que hace que el código de la página dependa del marco específico de Struts, pero está estandarizado, creo. es fatal l Está demasiado orientado a JSP, aunque usa su tecnología de vista. Sí, pero es fácil de usar. Aunque no he usado el marco de Webwork, he estado prestando atención al desarrollo de ideas de diseño de Webwork. En comparación con Struts, desde un punto de vista técnico, es ligeramente superior a Struts. El modo de comando se basa en XworkWebwork y el marco no depende de la API de Servlet. verificación, conversión de tipos, contenedor IoC, etc. WebWork establece Xwork para procesar solicitudes de respuesta HTTP. Utilice MapActionContext para encapsular la sesión, la aplicación y otros objetos de servlet para desacoplar la API de Servlet. Aún así, es perfecto: l Crear acciones para cada solicitud puede ser un poco derrochador. (El motor de servlet crea objetos para cada solicitud, ¿no hay impacto en el rendimiento?) l A medida que el proyecto envejece, el archivo de configuración puede volverse confuso. Por ejemplo, admite archivos de configuración. l Preste atención al modo de comando de procesamiento de excepciones. Pregunta: Sé que a. Un comando específico puede generar una excepción específica, por lo que ejecutar () se ve obligado a generar una excepción. Al analizar la excepción y ejecutar la excepción, Spring MVC Framework se ha centrado en algunos principios de MVC y algunos problemas con los marcos principales actuales. Veamos cómo Spring los maneja. El marco Spring MVC define las interfaces según la misma función, y el problema depende de la API de Servlet. Spring MVC Framework tiene algunas características: l Todos los objetos de la aplicación, incluidas las vistas del controlador. Las clases de objetos comerciales son componentes de Java y Spring proporciona su infraestructura para que esté estrechamente integrada. l Depende de la API de Servlet (aunque el objetivo es lograr el objetivo, depende de Servlet) l Utilice varias tecnologías de visualización arbitrariamente, solo limitadas a JSP. l Admite varias estrategias de mapeo de recursos de solicitud l Debería ser fácil ampliar el marco de evaluación y debería haber varios principios l Creo que Spring debería ser fácil de usar y fácil de probar, especialmente los archivos de configuración en diversas situaciones, diversos negocios. Por lógica, la infraestructura puede estar repleta de archivos de configuración. La infraestructura de procesamiento de transacciones debe desarrollarse a través de la administración de contenedores. Aunque la lógica es clara, la configuración básica de Spring es fácil de probar. Realice pruebas unitarias, y las pruebas son convenientes. Spring proporciona interfaces en la capa correspondiente. Casi todas las interfaces tienen una implementación abstracta predeterminada, y cada implementación abstracta tiene algunas implementaciones concretas, lo que mejora la escalabilidad. Se debe distinguir el marco y el exterior del marco. El interior del marco es complejo y debe ser fácil de usar. El interior de Spring es más problemático. Oculta la complejidad y es más cómodo de usar que configurar las propiedades del bean. Nombre de propiedad de cadena, valor de objeto) Finalmente, en cuanto a la configuración, Spring oculta completamente esta complejidad. En otras palabras, el conjunto completo de pruebas de documentación y otras cosas han perfeccionado el proceso básico del marco web Spring. Conozcamos el marco Spring MVC. un vistazo al proceso de Spring MVC Framework: inicio del programa web, ContextLoaderServlet La información del archivo de configuración debe leerse e inicializarse inyectando el controlador DispatchServlet. Al aceptar una solicitud HTTP, DispatchServlet permite que HandlerMapping maneje la solicitud. la URL de solicitud (URL definida, completamente personalizada, no funcional). DispatchServlet llama al controlador seleccionado.
llerhandlerRequest y llama al Controllerinterceptor (configuración falsa) antes de devolver la colección de modelos de vista ModelAndView. El marco analiza la vista a través de ViewResolver y devuelve el objeto Ver, llama a Viewrender para devolver el controlador del marco DispatcherServlet del cliente, la clase específica e inicializa el objeto de tiempo de ejecución. El controlador en sí no controla el flujo, el controlador del controlador, la responsabilidad de procesar las solicitudes se delega al controlador. El controlador hereda de la clase base abstracta FrameworkServlet y el atributo webApplicationContext representa el texto del programa web. Al leer la información de configuración (su formato de archivo), WebApplicationContext en realidad contiene cosas del paquete, el paquete proporciona toda la infraestructura del marco Spring. Ahora solo necesitamos saber que WebApplicationContext representa el contexto de la aplicación web. : DispatchServlet hereda de la clase base abstracta FrameworkServlet, FrameworkServletdoGet(), doPost() Llame a serviceWrapper(), salte a serviceWrapper() y descubra que la implementación específica está delegada a doService(solicitud, respuesta);. DispatchServlet realmente implementa la función doService (). En particular, el controlador FrameworkServletinitFrameworkServlet () se inicializa con el ícono de clase HandlerMappings, y la implementación del patrón de plantilla se retrasa. Spring Channel implementa la inversión de control: usando el marco para controlar el proceso, el usuario salta a doService () para ver qué sucede y descubre que el trabajo real es otra función auxiliar doDispatch (solicitud, respuesta), no se puede hacer nada, continúe leyendo y encuentre dos líneas de código HandlerExecutionChain mappedHandler = null; mappedHandler = getHandler(processedRequest, false); Al observar el código fuente de HandlerExecutionChain, descubrí que ControllerInterceptors en realidad lo envuelve; objeto, cada objeto HandlerMapping representa el mapeo ControllerURL (de hecho, el mapeo HandlerExecutionChainURL se ejecuta, el objeto HandlerExecutionChain es en realidad un contenedor para los interceptores Controller, HandlerMapping mira el mapeo ControllerURL que se inyecta en el archivo de configuración, generalmente toma la clase SimpleUrlHandlerMapping). el objeto HandlerMapping, continúe Busque y encuentre: if (mappedHandler.getInterceptors() != null) { for (int i = 0; i < mappedHandler.getInterceptors().length; i++) {
HandlerInterceptor interceptor = mappedHandler.getInterceptors()[i]; if (!interceptor.preHandle(processedRequest, respuesta, mappedHandler.getHandler())) { triggerAfterCompletion(mappedHandler, interceptorIndex,processRequest, respuesta, null return); ; } } Llame al interceptor del controlador, oración principal: interceptor.preHandle (processedRequest, respuesta, mappedHandler.getHandler(), mv); preHandle pasa el parámetro mappedHandler.getHandler() para implementar una llamada recursiva. llame. Continúe para ver: HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler()); mv = ha.handle(processedRequest, Response, mappedHandler.getHandler()); Creo que ControllerhandleRequest realmente funciona en HandlerAdapterhandle y devuelve ModelAndView. El significado de la capa debe cancelar ControllerDispatchServlet. Entonces es simple, llame a render (), ViewResoler analizará el nombre de la vista y luego llamará al objeto de vista para representar la vista adecuada para mostrarla al usuario. Usando HandlerMapping, el controlador usa un controlador de URL para realizar un mapeo estándar para implementar la clase específica de mapeo UrlHandlerMapping. Spring me permite personalizar el mapeo, como el mapeo de sesión, cookie o estado del usuario. El mapeo de URL ya puede cumplir con los requisitos del Controlador. Similar a StructsAction, la interfaz del Controlador handleRequest () es similar a ModelAndView, como dice el objetivo de diseño, cada Controlador tiene un componente Java, por lo que.
El entorno de texto se puede configurar arbitrariamente y las propiedades del componente se inicializan y configuran. Spring proporciona varias implementaciones específicas. Entonces uso ViewResolver Controller para devolver el objeto de vista ModelAndView que contiene el nombre de la vista. Desacopla completamente la relación de acoplamiento entre las vistas del controlador y. proporciona soporte de internacionalización: bienvenidoView.class = org.springframework.web.servlet.view. InternalResourceView bienvenidoView.url=/welcome.jsp bienvenidoView.class = org.springframework.web.servlet.view.xslt. =/xslt/ El componente java default.xslt View realiza cualquier procesamiento de solicitud o lógica de negocios. Solo obtiene los datos pasados por el modelo y muestra los datos. El renderizador funciona de acuerdo con el proceso: l Establece el alcance de la solicitud de datos del modelo l Obtener. la URL de vista l Reenviar la URL de respuesta Resumen: Springweb framework Excelente marco, analiza brevemente algunas categorías clave del flujo de trabajo de Spring, sin una discusión en profundidad de las ideas reflejadas en la parte posterior, ventajas y desventajas, etc. Hablaremos de esto más adelante