springmvc前端控制器,映射器,适配器,视图解析器
1.前端控制器DispatcherServlet的配置,在l进⾏配置即可跟servlet的配置⽅式相同
1)contextConfigLocation配置sprimgmvc加载的配置⽂件(配置处理器映射器,适配器等等)如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet 名称-l(l)
2)
第⼀种:*.action,访问以.action结尾由DispatcherServlet进⾏解析
第⼆种:/所有访问的地址都由DispatcherServlet进⾏解析,对于静态⽂件的解析需要配置不让DispatcherServlet进⾏解析,此种⽅式可以实现RESTful风格的url 第三种:/*这样配置不对,使⽤这种配置最终要转发到⼀个jsp页⾯的时候,任然由DispatcherServlet解析jsp地址,不能根据
jsp页⾯到handler,这种⽅式是错误的
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation配置sprimgmvc加载的配置⽂件(配置处理器映射器,适配器等等)
如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-l(l)
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>l</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--
第⼀种:*.action,访问以.action结尾由DispatcherServlet进⾏解析
第⼆种:/所有访问的地址都由DispatcherServlet进⾏解析,对于静态⽂件的解析需要配置不让DispatcherServlet进⾏解析,
此种⽅式可以实现RESTful风格的url
第三种:/*这样配置不对,使⽤这种配置最终要转发到⼀个jsp页⾯的时候,任然由DispatcherServlet解析jsp地址,不能根据
jsp页⾯到handler,这种⽅式是错误的
-->
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
对于DispatcherServlet我们可以关联源代码:
以上关联源代码:可以得出结论:DispatcherServlet其实是间接的继承了HttpServlet类的,因此我们可以说DispatcherServlet就是⼀个servlet,这同时也说明了springmvc是⼀个单例模式的框架(因为servlet是单例的).
2.在l中进⾏配置处理器映射器
<!--1. 配置处理器映射器根据名字可知,是根据bean中的name属性查url,因此需要在配置handler的时候配置name属性--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--2.配置简单处理器映射器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- key就是配置的映射路径这时候处理器hander必须指定id-->
<prop key="queryItems1.action">itemController1</prop>
<prop key="queryItems2.action">itemController2</prop>
</props>
</property>
</bean>
jsp用什么前端框架3.配置处理器适配器
<!-- 1.配置处理器适配器 ,要求核⼼handler必须实现controller接⼝-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 2.配置处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
关联源代码:
4.配置handler
<!-- 配置handler -->
<bean name="/queryItems.action" class="cn.ller.ItemController1"></bean>
<bean id="itemController2" class="cn.ller.ItemController2"></bean>
第⼀个itemController1是根据映射器配置的第⼀种⽅式查url,这要求必须要设置name属性
第⼆个itemController2配置了id属性是根据第⼆个映射器⽅式查url,在处理器映射器中已经配置key的属性就是url
5.配置视图解析器
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
这个视图解析器解析的是jsp页⾯
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论