SpringMVC注解开发
1. 文件仅修改springmvc-servlet.xml即可
- 添加context,mvc的约束
- 开启自动扫描包,让Controller包下的类注册为bean
- 开启资源静态过滤
- 开启注解驱动
<?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">
<!-- 自动扫描包:让指定包下的注解生效,由IOC容器统一管理 -->
<context:component-scan base-package="com.cokebot.controller"/>
<!-- 自动资源过滤,不处理静态资源:.css .html .js -->
<mvc:default-servlet-handler/>
<!-- 开启注解驱动 -->
<mvc:annotation-driven/>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
2.Controller的改变
- @Controller 替代 Impl Controller
- @RequestMapping 可以用在类和方法上,指定特定的路径
- @Model:模型对象,携带数据返回前端页面
- return String:返回给视图解析器,拼接路径
@Controller
@RequestMapping("hello")
public class HelloController {
/**
* 等同写一个Servlet
* @param model 模型对象,传递给前端
* @return String 被视图解析器解析后,拼接路径 /WEB-INF/jsp/hello.jsp
* 路径:/hello/h1
*/
@RequestMapping("h1")
public String hello(Model model) {
model.addAttribute("msg",
"Hello, SpringMVC With Annotation");
return "hello";
}
}
3.启动Tomcat测试
测试成功!
我遇到的问题
- context,mvc约束没写正确