Javaweb学习笔记(Spring MVC的核心类和注解)
DispatcherServlet
DispatcherServlet在程序中充当着前端控制器的角色,在使用时,只需要将其配置在项目的web.xml文件中
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
上述代码中< load-on-startup>元素和< init-param>元素都是可选的,如果< load-on-startup>元素值为1,则在应用程序启动时,会立即加载该Servlet,如果< load-on-startup>不存在则会在第一个Servlet请求是 加载该Servlet,如果< init-param>元素存在并且通过子元素配置了Spring MVC配置文件的路径,则应用程序在启动时会加载配置路径下的配置文件,如果没有通过< init-param>元素配置,则应用程序会默认到WEB-UNF寻找,如下名字的配置文件
servletName-servlet.xml
servletName指的是部署在web.xml中的DispatcherServlet的名称。
Controller注解类型
Controller注解类型用于指示Spring类的实例是一个控制器,其注解形式为@Controller。该注解在使用时不需要在实现Controller接口,只需要将@Controller注解加入到控制器类上然后通过Spring扫描机找到标注了该注解的控制器即可。
为了保证Spring能够找到控制器类,需要在SpringMVC的配置文件中添加相应的扫描配置信息
1.在配置文件中的声明引入spring-context
2.使用< context:componsen-scan>元素指定需要扫描的类包
一个完整的配置文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context/context
http://www.springframework.org/schema/context/context/spring-context-4.3xsd">
<context:component-scan base-package="com.itheima.controller" />
</beans>
< context:component-scan>元素的属性base-package指定了需要扫描的类包为com.itheima.controller,运行时该