基于注解的Spring MVC控制器

来源:互联网 发布:玉米田间调查数据 编辑:程序博客网 时间:2024/06/05 16:07

 1.在web.xml中配置前端控制器的DispatcherServlet

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">  
  3.   <display-name>AnnotationTest</display-name>  
  4.  <!-- 定义Spring MVC的前端控制器 -->  
  5.   <servlet>  
  6.     <servlet-name>springmvc</servlet-name>  
  7.     <servlet-class>  
  8.             org.springframework.web.servlet.DispatcherServlet  
  9.         </servlet-class>  
  10.     <init-param>  
  11.       <param-name>contextConfigLocation</param-name>  
  12.       <param-value>/WEB-INF/springmvc-config.xml</param-value>  
  13.     </init-param>  
  14.     <load-on-startup>1</load-on-startup>  
  15.   </servlet>  
  16.    <!-- 让Spring MVC的前端控制器拦截所有请求 -->  
  17.   <servlet-mapping>  
  18.     <servlet-name>springmvc</servlet-name>  
  19.     <url-pattern>/</url-pattern>  
  20.   </servlet-mapping>  
  21. </web-app>  

2.修改Spring MVC的配置文件(springmvc-config.xml)

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xsi:schemaLocation="  
  7.         http://www.springframework.org/schema/beans  
  8.         http://www.springframework.org/schema/beans/spring-beans-4.2.xsd  
  9.         http://www.springframework.org/schema/mvc  
  10.         http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd       
  11.         http://www.springframework.org/schema/context  
  12.         http://www.springframework.org/schema/context/spring-context-4.2.xsd">  
  13.           
  14.     <!-- spring可以自动去扫描base-pack下面的包或者子包下面的java文件,如果扫描到有Spring的相关注解的类,则把这些类注册为Spring的bean -->  
  15.     <context:component-scan base-package="org.fkit.controller"/>  
  16.       
  17.     <!-- 配置处理映射器 -->  
  18.     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>  
  19.        
  20.      <!-- 配置处理器适配器-->  
  21.     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>  
  22.   
  23.     <!-- 视图解析器 -->  
  24.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>  
  25.       
  26. </beans>  

3.基于注解类型实现Controller类,用来处理/hello请求(HelloController.java)

[java] view plain copy
  1. package org.fkit.controller;  
  2.   
  3. import org.apache.commons.logging.Log;  
  4. import org.apache.commons.logging.LogFactory;  
  5. import org.springframework.stereotype.Controller;  
  6. import org.springframework.web.bind.annotation.RequestMapping;  
  7. import org.springframework.web.servlet.ModelAndView;  
  8.   
  9. /* 
  10.  *  HelloController是一个基于注解的控制器, 
  11.  *  可以同时处理多个请求动作,并且无须实现任何接口。 
  12.  *  org.springframework.stereotype.Controller注解用于指示该类是一个控制器 
  13.  */  
  14. @Controller  
  15. public class HelloController {  
  16.  private static final Log logger=LogFactory.getLog(HelloController.class);  
  17.    
  18.  /* 
  19.   * org.springframework.web.bind.annotation.RequestMapping注解 
  20.   * 用来映射请求的的URL和请求的方法等。本例用来映射"/hello" 
  21.   * hello只是一个普通方法。 
  22.   * 该方法返回一个包含视图路径或视图路径和模型的ModelAndView对象。 
  23.   */  
  24.    
  25.  @RequestMapping(value="/hello")  
  26.  public ModelAndView hello(){  
  27.      logger.info("hello方法 被调用");  
  28.      // 创建准备返回的ModelAndView对象,该对象通常包含了返回视图的路径、模型的名称以及模型对象  
  29.      ModelAndView mv = new ModelAndView();  
  30.      //添加模型数据 可以是任意的POJO对象    
  31.      mv.addObject("message""Hello World!");    
  32.      // 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面    
  33.      mv.setViewName("/WEB-INF/content/welcome.jsp");   
  34.     // 返回ModelAndView对象。  
  35.     return mv;  
  36.  }  
  37.       
  38. }  

4.视图界面(welcome.jsp)

[html] view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>welcome</title>  
  8. </head>  
  9. <body>  
  10. <!-- 页面可以访问Controller传递传递出来的message -->  
  11. ${requestScope.message}  
  12. </body>  
  13. </html>  

5.截图



0 0
原创粉丝点击