1. 使用注解创建入门项目
-
配置和01同样的web.xml文件
-
配置springmvc-servlet.xml配置文件,和01有所不同,这一次需要开启component-scan让IOC容器管理我们指定路径下的bean,同时使用一行配置代码省去了我们配置HandlerMapping和HandlerAdapter的麻烦。
<?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/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--自动扫描包 让指定包下的注解生效-->
<context:component-scan base-package="com.zalon.controller"/>
<!--让spring mvc框架不处理静态资源-->
<mvc:default-servlet-handler/>
<!--配置之前的HandlerMapping和HandlerAdapter-->
<mvc:annotation-driven/>
<!--视图解析器-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
- 创建Controller类,使用到了@Controller和@RequestMapping这两个注解。@Controller能让IOC容器自动化地将Controller类注入到IOC容器之中。@RequestMapping这个注解位于一个返回类型为String的方法之上,方法名称不重要,方法需要的参数为Model。Model的setAttribute方法能够像之前ModelAndView对象的addObject方法一样添加数据,而返回的字符串就是需要的视图名称,之后会被Resolver解析并且添加上前缀以及后缀。@RequestMapping注解之中的值就是匹配的url路径,我们还可以在Controller类上面添加一个@RequestMapping注解,能够形成一个父子的url路径。
package com.zalon.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(Model model) {
model.addAttribute("msg", "hello mvc");
return "hello";
}
}
- 运行web容器,进行测试。