Contorller的配置方式

      控制器提供的应用程序行为通常通过服务接口定义.Controller翻译用户的输入并将其转换为一个模型,用于提供给用户视图。Spring用一种非常抽象的方式实现控制器,它使您能够创建一个多样化的控制器。

      在Spring2.5中为MVC Controller引入一种基于annotaion的编程模型。你可以使用像@RequestMapping,@RequestParam, @ModelAttribute等等这些注解。这些注解支持即可以从Servlet MVC又可以从Portlet MVC获取到。通过这种方式实现Controller你不需要继承特殊的base class与不需要实现特殊的接口。而且,他们通常不是直接依赖于Servlet或者Portlet的API,但是你能够很容易的通过Servlet或者Portlet工具来使用。

工具/原料

  • 电脑
  • 开发工具

第一种:URL对应Bean

  1. 1

    使用此类配置方式,需要在XML中做如下样式配置:

  2. 2

    <!-- 表示将请求的URL和Bean名字映射-->  

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  

    <bean name="/test.do" class="test.TestController"></bean>

  3. 3

    访问/test.do就会寻找ID为/test.do的Bean,此类方式仅适用小型的应用系统  

第二种:URL分配Bean

  1. 1

    配置集合,对每个URL做对应的Controller的关系映射

    1. <!-- 最常用的映射配置方式 -->  

    2. <!-- <prop key="/test*.do">testController</prop>-->  

    3. <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  

    4.  <property name="mappings">  

    5.   <props>  

    6.    <prop key="/test.do">testController</prop>  

    7.   </props>  

    8.  </property>  

    9. </bean>  

    10. <bean name="testController" class="test.TestController"></bean>

    此类配置还可以使用通配符,访问/test.do时,Spring会把请求分配给TestController进行处理  

第三种:URL匹配Bean

  1. 1

    Java代码  

    <!-- 将test*.do交给testController处理-->  

    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>  

    <bean name="testController" class="test.TestController"></bean>  

第四种:注解方式

  1. 1

    1、需要在Spring的配置文件中开启注解

    <context:component-scan base-package="test" />  

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>    //加入这个包

     

  2. 2

    2、在编写类上使用注解标记@org.springframework.stereotype.Controller,这个是一个Controller对象。

    使用@RequestMapping("/test.do")指定方法对应处理的路径。

    简单的演示代码类如下:

    package test;  

    import java.util.Date;  

    import javax.servlet.http.HttpServletRequest;  

    import javax.servlet.http.HttpServletResponse;  

    import org.springframework.web.bind.annotation.RequestMapping;  

    // http://localhost:8080/spring/test.do?user=java  

    @org.springframework.stereotype.Controller  

    public class TestController{  

        @SuppressWarnings("deprecation")  

        @RequestMapping("/test.do")  

        public String test(HttpServletRequest request,HttpServletResponse response){  

            request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());  //设置测试值

            return "test";  

        }  

    }  

注意事项

  • 希望对读者有所帮助~~~喜欢的请给小编点个大拇指
  • 发表于 2018-01-31 00:00
  • 阅读 ( 799 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具