MVC是一种软件设计的架构,将软件分为三层 SpringMVC是基于Spring框架实现了web mvc设计模式的轻量级web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。 前端控制器,核心,用作连接其他的组件,完成任务的分发与分配。 url处理映射,接收url ,根据不同的配置方式交给不同的Controller来处理。它有三种配置: 控制器处理适配器,配置Controller的执行方式,它有两种配置: 控制器 相当于配置了Controller的访问路径,有三个属性 前端资源视图解析器 SpringMVC的执行流程大致如下: 如下的jar包有些可以不需要,可以根据项目酌情导入 根据web.xml配置的名称来创建xxx.servlet.xml文件 注意导入JavaEE的包 注意根据配置的文件来创建目录 创建项目,
SpringMVC
1、前言-关于SpringMVC
M(Model):模型层,用于封装数据 V(View):视图层(表现层),是一般的HTML或jsp页面 C(Controller):控制层,用作处理数据,返回结果.相当于servlet
2、SpringMVC的核心组件
1、DispatcherServlet
2、HandlerMapping
1 BeanNameUrlHandlerMapping 功能:寻找Controller 根据url请求去匹配bean的name属性,从而获取Controller <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <bean name="/user.do" class="com.ldy.backOffice.web.controller.UserController"/> 2 SimpleUrlHandlerMapping 功能:寻找Controller 根据浏览器url匹配简单url的key,key就是Controller的id找到Controller <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/user1.do">userC</prop> </props> </property> </bean> <bean id="userC" class="com.ldy.backOffice.web.controller.UserController"/> 3 ControllerClassNameHandlerMapping 功能:寻找Controller 根据类名(MyController)类名.do来访问,类名首字母小写 <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> <bean class="com.ldy.backOffice.web.controller.UserController"/>
3、HandlerAdapter
1 SimpleControllerHandlerAdapter 功能:执行controller(控制器) 调用实现controller接口的控制器中的public ModelAndView handleRequest(...)方法,返回modelAndView 2 HttpRequestHandlerAdapter 功能: 执行controller 调用实现HttpRequestHandler接口的控制器中的public void handleRequest(...)方法,无返回值. 注意: 该两种配置可以共存
4、Controller
id :配合SimpleUrlHandlerMapping url处理映射来找到真正的Controller类 name :配合BeanNameUrlHandlerMapping url处理映射来找到真正的Controller类 class :引用Controller全类名
5、InternalResourceViewResolver
进行视图解析,根据逻辑视图名解析成真正的视图View
ViewResolver会根据配置将处理结果生成View视图(HTML,jsp页面等),展示给用户。其中ViewResover有几个属性prefix:前缀 suffix:后缀
3、HelloSpringMVC-入门案例
XML配置
1、创建项目,导入jar包
2、在web.xml配置DispatcherServlet
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="https://java.sun.com/xml/ns/javaee" xsi:schemaLocation="https://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>spring_mvc_annotation</display-name> <servlet> <servlet-name>spring_mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring_mvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>此处注意/*</url-pattern> </filter-mapping> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> </web-app>
3、在WEB-INF目录下创建xxx-servlet.xml
引入头文件<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="https://www.springframework.org/schema/beans" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="https://www.springframework.org/schema/mvc" xmlns:aop="https://www.springframework.org/schema/aop" xmlns:tx="https://www.springframework.org/schema/tx" xmlns:context="https://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> </beans>
4、配置xxx-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="https://www.springframework.org/schema/beans" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!--1 配置url处理映射--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!--2 配置控制器处理适配器--> <bean class="org.springframework.web.portlet.mvc.SimpleControllerHandlerAdapter"/> <!--3 配置控制器 相当于配置了访问路径--> <bean name="/user.do" class="com.ldy.backOffice.web.controller.UserController"/> <!--4 配置资源视图的解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/view/"/> <!--后缀--> <property name="suffix" value=".jsp"/> </bean> </beans>
5、创建Controller控制器
package com.ldy.backOffice.web.controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UserAddController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ModelAndView mav = new ModelAndView("user/useradd"); return mav; } }
6、创建一个hello.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h2>${name}</h2> </body> </html>
7、运行项目,访问路径
Annotation方式
导入jar包,
编写web.xml文件与xml方式无异1、配置xxx-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="https://www.springframework.org/schema/beans" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="https://www.springframework.org/schema/mvc" xmlns:context="https://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <mvc:annotation-driven/> <!-- 1.配置扫描包--> <context:component-scan base-package="com.ldy.backOffice.web.controller"/> <!-- 2.配置注解处理映射--> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 3.配置适配器--> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> </property> </bean> <!-- 4.配置资源视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
2、编写Controller
注解详解
@Controller: 相当于在spring中配置了<bean class="控制器的路径"/> @RequestMapping: 指定请求的实际url @Pathariable: {}里面参数注入后面参数里面 @RequestParam: 参数描述
3、运行截图
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算