首页 > 代码库 > 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之学习总结