@Controller的使用
@Controller
使用了@Controller注解之后就不需要在去继承类或者实现特定的接口,变得更加简单,也更加方便。因为实现接口只能处理一个单一请求动作,而@Controller注解的控制器可以支持同时处理多个请求动作。
分分发处理器使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping直接,而使用@RequestMapping注解的方法才是真正处理请求的处理器。为了保证Spring能找到控制器,前提有两个:
1、 在SpringMVC的配置文件的头文件引入spring-context
2、 使用<context:component-scan/>元素来进行扫描,它可以扫描哪些带有@Controller,@Service,@repository,@Component等注解的类成为Spring的Bean。
下面我们来自己写一个例子进行试验:
这是项目结构图:
首先我们先要导入需要的jar包,就是普通的SpringMVC的基本包,这里就不在多叙述,自己导入即可.
我们先来写Controller类,代码如下:
package org.fkit.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWordController {
@RequestMapping("/helloWorld")
public String helloWorld(Model model){
model.addAttribute("message","Hello World");
return "helloWorld";
}
}
接下来我们配置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:mvc="http://www.springframework.org/schema/mvc"
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.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
<context:component-scan base-package="org.fkit.controller"/>
<!-- 试图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix">
<value>/WEB-INF/context/</value>
</property>
<!-- 后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
最后我们来写web.xml来配置SpringMVC的前端控制器DispatcherServlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<!--配置springMVC的dispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
最后在了浏览器下输入
结果可以得到如下图