这一篇采取注解的方式来配置controller,这样就不用在springmvc-servlet.xml中写配置代码。
新建一个controller类,专门用来测试注解方式。
使用注解的方式,则不需要使该类实现Controller接口。
在类前面加上@Controller表示该类是个控制器
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class TestAnnotationController {
@RequestMapping("/testAnnotation")
public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception{
ModelAndView mav = new ModelAndView("testAnnotation");
mav.addObject("message","Hello Spring MVC By Annotation");
return mav;
}
}
springmvc-servlet.xml配置
增加<context:component-scan base-package="controller" /> 表示从包controller下扫描有@Controller注解的类
<?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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="controller"/>
<bean id="irViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
再在WEB-INF/page下面添加一个testAnnotation.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试2</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
访问http://localhost:8080/springmvc/testAnnotation即可成功