实现spring MVC有两种不同的方式:基于XML配置文件和基于注解。
上篇博客介绍了基于XML配置文件的方式,这里我们使用基于注解的方式来实现。
下面只重点介绍与XML配置文件方式不同的两个地方:Spring配置文件(springmvc-servlet.xml)和Controller类。
其中,springmvc-servlet,xml文件内容:
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 加载springmvc注解驱动 -->
<mvc:annotation-driven/>
<!-- 扫描器 (默认扫描的包com.xjc)-->
<context:component-scan base-package="com.xjc"/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
控制器HelloController类(注意:这里不再继承AbstractController类,而是通过添加注解@Controller的方式来说明它属于控制器):
package com.xjc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController{
@RequestMapping(value="/hello.do")
public String toIndex(String hello,Model model) {
model.addAttribute("helloworld", "hello "+hello);
return "index";
}
}