springMVC学习(一)简介

SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架

springmvc+spring整合的时候,会有父子容器的概念!父容器就是ioc容器,启动tomcat就会被web.xml中的那个监听器监听到,立马就会创建ioc容器,里面放的是service,dao,以及其他的各种bean;这里的子容器是springmvc的容器,里里面放着web层的所有组件,处理器映射器,处理器适配器,视图解析器,controller等;由于父容器先创建,子容器后创建。所以父容器的引用会保存在子容器一份,所以可以通过子容器获取父容器的实例,然后再获取其中的bean

首先导入开发包

前5个是Spring的核心功能包【IOC】,第6个是关于web的包,第7个是SpringMVC包

  • org.springframework.spring-context-5.2.5.RELEASE.jar

  • org.springframework.spring-expression-5.2.5.RELEASE.jar

  • org.springframework.spring-core-5.2.5.RELEASE.jar

  • org.springframework.spring-beans-5.2.5.RELEASE.jar

  • commons-logging.jar

  • org.springframework.spring-web-5.2.5.RELEASE.jar

  • org.springframework.spring-webmvc-5.2.5.RELEASE.jar

步骤

编写Action类

Action类实现Controller接口和 handleRequest方法,Action类必须注册到IOC容器中

ModelAndView是将我们的视图路径和数据封装起来而已【我们想要跳转到哪,把什么数据存到request域中,设置这个对象的属性就行了】

public class HelloAction implements Controller {
   @Override
   public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
       ModelAndView mav=new ModelAndView();
       mav.setViewName("/index.jsp");
       return mav;
  }
}

注册核心控制器

在web.xml中配置核心控制器

<web-app>
 <!-- 注册springmvc框架核心控制器 -->
 <servlet>
   <servlet-name>DispatcherServlet</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <!--到类目录下寻找我们的配置文件applicationContext.xml-->
   <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath:applicationContext.xml</param-value>
   </init-param>
 </servlet>
 <servlet-mapping>
   <servlet-name>DispatcherServlet</servlet-name>
   <!--映射的路径为.action,即url的后缀为 action-->
   <url-pattern>*.action</url-pattern>
 </servlet-mapping>
   
 <!--编码过滤器-->
 <filter>
   <filter-name>characterEncodingFilter</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>
 <!--过滤所有请求-->
 <filter-mapping>
   <filter-name>characterEncodingFilter</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>

创建SpringMVC控制器

在applicationContext.xml创建SpringMVC的控制器

    <!--
       注册控制器
       name属性的值表示的是请求的路径【也就是说,当用户请求到/hello.Action时,就交由HelloAction类进行处理】
   -->
<bean class="action.HelloAction" name="/hello.action"/>

 

原文地址:https://www.cnblogs.com/yjh1995/p/14164357.html