首页 > 代码库 > SpringMVC之学习总结

SpringMVC之学习总结

SpringMVC:

1、搭建方法

①需要引入Spring相关jar包,包括核心jar包以及支持mvc组件的一些jar包

②在web.xml中注册DispatcherServlet,并让其匹配相关的url例如:“/”、“*.html”

<!--  配置spring mvc -->

  <servlet>

    <servlet-name>springmvc</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <!--配置spring文件位置  ,这样可以解析spring-mvc.xml的文件-->

    <init-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>WEB-INF/spring-mvc.xml</param-value>

    </init-param>

  </servlet>

 

<servlet-mapping>

    <servlet-name>springmvc</servlet-name>

    <url-pattern>*.htm</url-pattern>   <!--定义 url类型 -->

        <!-- url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。 -->

  </servlet-mapping>

 

③在applicationContext.xml或者spring-MVC.xml中配置<context:component-scan base-package="com.sw"/><!-- @Component -->

④新建Controller类,并添加@Controller注解,添加相关的HandlerMapping:@RequestMapping("login")

⑤在方法中返回ModelAndView对象,或者String

 

2、实现原理:通过DispatcherServlet匹配请求的URL,在找到对应的HandlerMapping,调用相关方法,并传递给业务层处理,处理完成后,返回ModelAndView对象,从而生成对应的响应信息

 

3、获取参数:

①使用传统request方式

获取request可以通过在Controller中定义一个HttpServletRequest类型的属性,并添加@Resource注解即可

 

②通过方法传递参数

public ModelAndView doRegister1(String username,String password){  }

 

③传递对象

 

4、常用注解:

 

5、拦截器:

①通过实现HanderInterceptor接口或者继承HandlerInterceptorAdapter类

②在spring-mvc配置文件中加入如下配置:

<mvc:interceptors>

<mvc:interceptor>

                       <mvc:mapping path="/user/**"/>

                       <bean class="com.sw.interceptor.LoginInterceptor"></bean>

             </mvc:interceptor>

</mvc:interceptors>

③拦截之后,首先执行preHandle方法,如果该方法返回true,则执行后面的拦截器,如果没有拦截器,执行对应的Controller中的方法,返回后,执行postHandle方法,当DispatcherServlet渲染对应响应之后,调用afterCompletion方法,如果preHandle返回false,则不会执行后面的拦截器或Controller

 

SpringMVC之学习总结