目录
- 应用案例——基于注解的Spring MVC应用
- 1.搭建项目环境
- 2.修改配置文件
- 3.修改Controller类
- 4.启动项目,测试应用
应用案例——基于注解的Spring MVC应用
为了帮助读者熟悉掌握Spring MVC的核心类和注解的使用,接下来将以注解的方式对入门案例进行改写,具体实现步骤如下。
1.搭建项目环境
创建一个名为chapter11_2的Web项目,将chapter11项目中的所有JAR包以及编写的所有文件复制到chapter11_2项目,并向lib目录添加Spring AOP所需的JAR。
2.修改配置文件
在springmvc-config.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:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 指定需要扫描的包 -->
<context:component-scan base-package="com.ssm.controller"/>
<!-- 定义视图解析器 -->
<bean id="viewResoler"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<!-- 设置前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 设置后缀 -->
<property name="suffix" value=".jsp" />
</bean>
</beans>
首先通过组件扫描器指定了需要扫描的包,然后定义了视图解析器,并在视图解析器中设置了视图文件的路径前缀和文件后缀名。
3.修改Controller类
修改ControllerTest类,在类和方法上添加相应注解。
package com.ssm.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//Controller注解
@Controller
//@RequestMapping注解
@RequestMapping(value = "/controll")
public class ControllerTest {
@RequestMapping(value="/annotationController")
public String handleRdequest(HttpServletRequest arg0, HttpServletResponse arg1,
Model model) throws Exception{
model.addAttribute("msg","第一个Spring MVC程序");
return "welcome";
}
}
@Controller注解来标注控制器类,并使用@RequestMapping注解标注在类名和方法名上来映射请求方法。在项目启动时,Spring就会扫描到此类,以及此类中标注了@RequestMapping注解的方法。由于标注在类上的@RequestMapping注解的value值为“/controll”,因此类中所有请求方法的路径都需要加上“/controll”。由于类中的handleRequest()方法的返回类型为String,而String类型的返回值又无法携带数据,因此需要通过参数Model对象的addAttribute()方法来添加数据信息。因为在配置文件的视图解析器中定义了视图文件的前缀和后缀名,所以handleRequest()方法只需返回视图名“welcome”即可,在访问此方法时,系统会自动访问“WEB(-?)INF/jsp/”路径下名称为welcome的jsp文件。
4.启动项目,测试应用
将项目发布到Tomcat服务器并启动,在浏览器中访问地址http://localhost:8080/chapter11_2/controll/annotationController。