标签:handler beans cep frame map 内容 介绍 exp code
Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。
Spring MVC主要由DispatcherServlet、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。
pom.xml:
1 <dependencies> 2 <dependency> 3 <groupId>junit</groupId> 4 <artifactId>junit</artifactId> 5 <version>4.11</version> 6 <scope>test</scope> 7 </dependency> 8 <dependency> 9 <groupId>org.springframework</groupId> 10 <artifactId>spring-beans</artifactId> 11 <version>4.3.14.RELEASE</version> 12 </dependency> 13 <dependency> 14 <groupId>org.springframework</groupId> 15 <artifactId>spring-context</artifactId> 16 <version>4.3.14.RELEASE</version> 17 </dependency> 18 <dependency> 19 <groupId>org.springframework</groupId> 20 <artifactId>spring-webmvc</artifactId> 21 <version>4.3.14.RELEASE</version> 22 </dependency> 23 <dependency> 24 <groupId>org.springframework</groupId> 25 <artifactId>spring-context-support</artifactId> 26 <version>4.3.14.RELEASE</version> 27 </dependency> 28 <dependency> 29 <groupId>org.springframework</groupId> 30 <artifactId>spring-aop</artifactId> 31 <version>4.3.14.RELEASE</version> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework</groupId> 35 <artifactId>spring-tx</artifactId> 36 <version>4.3.14.RELEASE</version> 37 </dependency> 38 <dependency> 39 <groupId>org.springframework</groupId> 40 <artifactId>spring-jdbc</artifactId> 41 <version>4.3.14.RELEASE</version> 42 </dependency> 43 <dependency> 44 <groupId>org.springframework</groupId> 45 <artifactId>spring-expression</artifactId> 46 <version>4.3.14.RELEASE</version> 47 </dependency> 48 <dependency> 49 <groupId>org.springframework</groupId> 50 <artifactId>spring-core</artifactId> 51 <version>4.3.14.RELEASE</version> 52 </dependency> 53 <dependency> 54 <groupId>javax.servlet</groupId> 55 <artifactId>javax.servlet-api</artifactId> 56 <version>3.1.0</version> 57 </dependency> 58 <dependency> 59 <groupId>javax.servlet.jsp</groupId> 60 <artifactId>jsp-api</artifactId> 61 <version>2.2</version> 62 </dependency> 63 <dependency> 64 <groupId>javax.servlet</groupId> 65 <artifactId>jstl</artifactId> 66 <version>1.2</version> 67 </dependency> 68 </dependencies>
web.xml和struts1类型,将框架自己的servlet配入其中,使得遇到URL末尾为.do(url-pattern配置)时,将有servlet处理
1 <servlet> 2 <servlet-name>DispatcherServlet</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4 <load-on-startup>1</load-on-startup> 5 </servlet> 6 7 <servlet-mapping> 8 <servlet-name>DispatcherServlet</servlet-name> 9 <url-pattern>*.do</url-pattern> 10 </servlet-mapping>
DispatcherServlet-servlet.xml(该文件需要自己创建,且名字不可以有不同,servlet会自动找寻该文件)是SpringMVC框架的主配置文件,所配置的内容和其框架本身的作用有很大的关联
Spring MVC主要由DispatcherServlet、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。
①处理器映射
<!-- 1. 配置处理器映射,springmvc默认的处理器映射器 BeanNameUrlHandlerMapping:根据bean的name属性的url去找handlerController 1.寻找Controller,根据URL请求去匹配bean的name属性,从而获取controller --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
②控制器处理适配器
1 <!-- 2. 配置处理器适配置器执行Controller --> 2 <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
③控制器
<!-- 3.配置一个控制器 --> <bean name="/user.do" class="com.backofferice.Controller.UserController"/>
由自己写一个控制器,实现Controller接口,实现handleRequest方法,用于完成model层和view层的控制
④视图解析器
1 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 2 <property name="prefix" value="/WEB-INF/views"/> 3 <property name="suffix" value=".jsp"/> 4 </bean>
配置视图(jsp)的前缀和尾缀,然后该页面过来的请求均会由sprintmvc来控制
ps(上述配置的使用为常见配置,还有其他配置方式,后续会详细介绍)
1 import org.springframework.web.servlet.ModelAndView; 2 import org.springframework.web.servlet.mvc.Controller; 3 4 public class UserController implements Controller { 5 @Override 6 public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception { 7 //返回的jsp视图 8 ModelAndView mv = new ModelAndView("/user/userList"); 9 mv.addObject("name","yaoyao"); 10 return mv; 11 } 12 }
主要要点,1.实现Controller接口中的handleRequest方法,2.返回ModelAndView的对象,该对象是对request的封装,不返回该类型的值会报错
1 <%@ page contentType="text/html;charset=UTF-8" language="java" 2 pageEncoding="UTF-8" %> 3 <%@page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>Title</title> 7 </head> 8 <body> 9 用户列表界面 10 ${name} 11 </body> 12 </html>
<%@page isELIgnored="false" %>EL表达式配置,不配置EL表达式不生效
SpringMVC学习(一)idea+maven+SpringMVC(未使用注解)搭建前端环境(简单配置介绍)
标签:handler beans cep frame map 内容 介绍 exp code
原文地址:https://www.cnblogs.com/yyfighting2019/p/11919297.html