<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</context-param>
1.:整个项目的全局变量,相当于设定了一个固定值。
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
2.:整个项目的局部变量,相当于设定了一个固定值,只能在当前的Servlet中被使用,其他同上。
<context:component-scan base-package="edu.xatu"/>
3.context:component-scan/:扫描base-package包或者子包下所有的java类,把匹配的java类注册成Bean。
4.ContextLoaderListener监听器实现了ServletContextLoaderListener接口,起作用是启动Web容器时,自动装配ApplicationContext的配置信息。在web.xml配置这个监听器,启动容器,就会默认执行它实现的方法。
5.ApplicationContext容器:ApplicationContext是spring中较为高级的容器,它可以加载配置文件中定义的Bean,并将所有的Bean集中在一起,当有请求的时候分配Bean。
6.ClassPathXmlApplicationContext 从类路径ClassPath中寻找指定的xml配置文件,找到并装载完成ApplicationContext的实例化工作,具体用法:
//装载单个配置文件实例化ApplicationContext容器
ApplicationContext context = new ClassPathXmlApplicationContext ( "applicationContext.xml" );
//装载多个配置文件实例化ApplicationContext容器
String[] configs = {"bean1.xml","bean2.xml","bean3.xml"};
ApplicationContext context1 = new ClassPathXmlApplicationContext ( configs );
7.DispatcherServlet类:
DispatcherServlet是前置控制器,主要拦截匹配的请求,拦截匹配规则要自己定义,把拦截下来的请求,依据响应的规则分发到目标Controller来处理,是springMVC的第一步。
8.mvc:annotation-driven/:该注解会自动注册RequestMappingHandlerMapping和RequestMappingHandlerAdapter两个Bean,是SpringMVC为@Controller分发请求所必须的,并提供数据绑定支持,@NumberFormatannotion支持、@DateTimeFormat支持、@Valid支持、读写xml的支持(JAXB)和读写JSON的支持(Jackson)等功能。
9.InternalResourceViewResolver: 最常见的视图解析器,当控制层返回“test”时,InternalResourceViewResolver解析器会自动添加前缀和后缀,最终路径结果为:/WEB-INF/jsp/test.jsp
用法如下:
Controller层:
//给方法配路径
@RequestMapping("/test")
public String test(Model model){
System.out.println ("Hello Test SpringMvc !");
model.addAttribute ( "name","李四" );
model.addAttribute ( "id","123121" );
return "test"; //WEB-INF/jsp/test.jsp
}
springmvc.xml文件:
<context:component-scan base-package="edu.xatu.springmvc.controller"/>
<mvc:annotation-driven/>
<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>