contenido
1. Entorno web integrado Spring
1.1 ApplicationContext Método de adquisición del contexto de la aplicación
1.2 Spring proporciona herramientas para obtener el contexto de la aplicación
1.3 Importar las coordenadas de la web integrada de Spring
1.4 Configurar el oyente ContextLoaderListener
1.5 Obtención de objetos de contexto de aplicación a través de herramientas
1.6 Puntos clave del conocimiento
2.1 Descripción general de SpringMVC
2.2 Inicio rápido de SpringMVC
2.3 Diagrama de proceso de SpringMVC
2.4 Puntos clave del conocimiento
3. Resolución del componente SpringMVC
3.1 Proceso de ejecución de SpringMVC
3.2 Análisis de componentes SpringMVC
3.3 Análisis de anotaciones SpringMVC
3.4 Análisis de configuración XML de SpringMVC
3.5 Puntos clave del conocimiento
1. Entorno web integrado Spring
1.1 ApplicationContext Método de adquisición del contexto de la aplicación
El objeto de contexto de la aplicación se obtiene a través de un nuevo ClasspathXmlApplicationContext (archivo de configuración de primavera), pero cada vez que se obtiene un bean del contenedor, se debe escribir un nuevo ClasspathXmlApplicationContext (archivo de configuración de primavera), la desventaja de esto es que el archivo de configuración se carga varias veces . y el objeto de contexto de la aplicación se crea repetidamente.
En un proyecto web, el ServletContextListener se puede hacer para monitorear el inicio de la aplicación web. Podemos cargar el archivo de configuración de Spring cuando se inicia la aplicación web, crear el objeto de contexto de la aplicación ApplicationContext y almacenarlo en el dominio más grande servletContext dominio, por lo que que podemos Obtener el objeto ApplicationContext del contexto de la aplicación desde el dominio en cualquier lugar.
1.2 Spring proporciona herramientas para obtener el contexto de la aplicación
El análisis anterior no necesita implementarse manualmente . Spring proporciona un oyente, ContextLoaderListener, que encapsula las funciones anteriores. El oyente carga archivos de configuración de Spring, crea objetos de contexto de aplicación y los almacena en el dominio ServletContext. Una herramienta de cliente, WebApplicationContextUtils, se proporciona para su uso El usuario obtiene el objeto de contexto de la aplicación.
Entonces, solo hay dos cosas que debemos hacer :
① Configurar el oyente ContextLoaderListener en web.xml (importar las coordenadas web de primavera).
② Use WebApplicationContextUtils para obtener el objeto de contexto de la aplicación ApplicationContext.
1.3 Importar las coordenadas de la web integrada de Spring
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
1.4 Configurar el oyente ContextLoaderListener
<!--全局参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--Spring的监听器-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
1.5 Obtención de objetos de contexto de aplicación a través de herramientas
//java
ApplicationContext applicationContext =
WebApplicationContextUtils.getWebApplicationContext(servletContext);
Object obj = applicationContext.getBean("id");
1.6 Puntos clave del conocimiento
Pasos del entorno web integrado de Spring
① Configurar el oyente ContextLoaderListener
② Usar WebApplicationContextUtils para obtener el contexto de la aplicación
2. Introducción a SpringMVC
2.1 Descripción general de SpringMVC
SpringMVC es un marco web ligero basado en solicitudes basado en Java que implementa el modelo de diseño MVC. Es
un producto de seguimiento de SpringFrameWork y se ha integrado en Spring Web Flow.
SpringMVC se ha convertido en uno de los marcos MVC más populares y, con el lanzamiento de Spring3.0, ha superado a Struts2 de manera integral y se ha convertido en el mejor marco MVC. Utiliza un conjunto de anotaciones para convertir una clase Java simple en un controlador para manejar solicitudes sin tener que implementar ninguna interfaz. También admite solicitudes de estilo de programación RESTful.
2.2 Inicio rápido de SpringMVC
Requisito: El cliente inicia la solicitud, el servidor recibe la solicitud, ejecuta la lógica y realiza un salto de vista.
Pasos de desarrollo:
① Importar coordenadas relacionadas con SpringMVC
② Configurar el controlador principal de SpringMVC DispathcerServlet
③ Crear clase de controlador y ver página
④ Usar anotaciones para configurar la dirección de asignación de métodos comerciales en la clase de controlador
⑤ Configurar el archivo principal de SpringMVC spring-mvc.xml
⑥ El cliente inicia la solicitud prueba
Visualización de código:
1. Importar coordenadas relacionadas con SpringMVC
<!--Spring坐标-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<!--SpringMVC坐标-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
2. Configure el controlador central de SpringMVC en web.xml
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3. Crear controlador y métodos comerciales
public class QuickController {
public String quickMethod(){
System.out.println("quickMethod running.....");
return "index";
}
}
4. Cree la página de vista index.jsp
<html>
<body>
<h2>Hello SpringMVC!</h2>
</body>
</html>
5. Anotaciones de configuración
@Controller
public class QuickController {
@RequestMapping("/quick")
public String quickMethod(){
System.out.println("quickMethod running.....");
return "index";
}
}
6. Crear primavera-mvc.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
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.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--配置注解扫描--> <context:component-scan base-package="com.itheima"/>
</beans>
7. Visita la dirección de prueba
http://localhost:8080/project/quick
2.3 Diagrama de proceso de SpringMVC
2.4 Puntos clave del conocimiento
Pasos de desarrollo de SpringMVC
3. Resolución del componente SpringMVC
3.1 Proceso de ejecución de SpringMVC
3.2 Análisis de componentes SpringMVC
3.3 Análisis de anotaciones SpringMVC
-
class, el directorio de acceso de primer nivel para la URL de solicitud. Si no está escrito aquí, es equivalente al directorio raíz de la aplicación
-
En términos de método, el directorio de acceso de segundo nivel de la URL de solicitud se combina con el directorio de primer nivel marcado con @ReqquestMapping en la clase para formar una ruta de acceso virtual.Atributos:
-
valor : se utiliza para especificar la URL solicitada. Tiene el mismo efecto que el atributo de ruta.
-
método : se utiliza para especificar el método de la solicitud
-
params : se utiliza para especificar condiciones para limitar los parámetros de solicitud. Admite expresiones simples. Se requiere que la clave y el valor del parámetro de solicitud sean exactamente iguales a la configuraciónPor ejemplo: params = {"accountName"} , lo que indica que el parámetro de solicitud debe tener accountName params = {"moeny!100"} , lo que indica que el dinero en el parámetro de solicitud no puede ser 100
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
3.4 Análisis de configuración XML de SpringMVC
ver resolver
org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.I
nternalResourceViewResolver
REDIRECT_URL_PREFIX = "redirect:" --重定向前缀
FORWARD_URL_PREFIX = "forward:" --转发前缀(默认值)
prefix = ""; --视图名称前缀
suffix = ""; --视图名称后缀
<!--配置内部资源视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property>
</bean>