SpringMVC进阶(一)——结构和流程

    Spring MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架, 即使用了 MVC 架构模式的思想,将 web 层进行职责解耦, 基于请求驱动指的就是使用请求-响应模型, 框架的目 的就是帮助我们简化开发, Spring Web MVC 也是要简化我们日常 Web 开发的。
   

    一、spring-mvc结构


    1.DispatcherServlet:中央控制器,把请求给转发到具体的控制类

    2.Controller:具体处理请求的控制器

    3.handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略

    4.ModelAndView:服务层返回的数据和视图层的封装类

    5.ViewResolver  & View:视图解析器,解析具体的视图

    6.Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作

    红色的是需要自己创建,黑色的需要配置。


    二、流程处理


    见下图:

    

    

    三、第一个SpringMVC实例


    1.创建web项目


        

   

    2.导入依赖jar包


      

  

    3.配置中央控制器

      在web.xml中添加如下配置:

        

	<!-- 中央转发器	 -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	</servlet>	
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<!-- 不要配置/*,否则404 -->
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

    4.配置springMVC的核心配置文件


      文件的命名规则:中央控制器(servlet的名称)+"-servlet.xml"

      文件位置:WEB-INF下

      创建后再springmvc-servlet.xml中配置controller和视图解析器。

		<!-- 配置controller -->
		<bean id="myController" name="/hello.do" class="com.tgb.controller.MyController"></bean>
		
		<!-- 配置视图解析器 -->		
		<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
			<!-- 配置前缀 -->
			<property name="prefix" value="/WEB-INF/jsp/"></property>
			<!-- 配置后缀 -->
			<property name="suffix" value=".jsp"></property>
		</bean>



    5.创建controller

    

public class MyController extends AbstractController{

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		
		System.out.println("hello world~~");
		return new ModelAndView("hello");
	}

}

    6.访问结果

    

    

    总结:springMVC和之前的struts2比起来,有很多联系的地方

    1.web.xml:struts2中配置的是StrutsPrepareAndExecuteFilter;而springMVC中配置的是DispatcherServlet.他们的作用大致相同,都是为了前台的url然后做统一处理;不同的是StrutsPrepareAndExecuteFilter拦截请求后执行的是doFilter方法,DispatcherServlet拦截请求后执行的是DoDispatch方法,两者性质差不多。

    2.配置文件:struts2中的struts2.xml和springMVC中springmvc-servlert.xml,都是中都包含了讲请求的url和Action或Bean名字的映射功能;

    3.不同之处:struts在struts2中配置不同的返回值来返回不同的视图;而springMVC中可以通过ViewResolver来规定返回视图的前缀和后缀,再视图返回的结果上自动加上我们写好的前缀和后缀来找到相应视图。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值