zoukankan      html  css  js  c++  java
  • springmvc(3)controller配置汇总

    1.通过url对应bean(通过ur直接找到对应的name或id的bean,此时url即为bean的name或id)

        <!--配置handlerMapping-->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
        <bean id="/hello.do" class="com.app.controller.HelloController"/>

    以上配置,访问hello.do就会寻找ID为/hello.do的bean,此方式只适合小型的应用。

    2.为url分配bean(通过url找到对应的beanName,再通过beanName找到对应的bean)

     <!--配置handlerMapping-->
        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <!--key对应url请求名 value对应处理器的id-->
                    <prop key="/hello.do">helloController</prop>
                </props>
            </property>
        </bean>
        <bean id="helloController" class="com.app.controller.HelloController"/>

    此类配置可以使用通配符,访问/hello.do时,spring会把请求分配响应的处理器处理,如果将key值改为*.do(通配符),那么所有.do结尾的请求都将被helloController处理。

    3.url配置bean

        <!--配置handlerMapping-->
        <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
        <bean id="helloController" class="com.app.controller.HelloController"/>

    以上配置,访问hello*.do会分配给helloController执行

    <!--配置handlerMapping-->
        <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
        <bean id="helloController" class="com.app.controller.HelloControlleController"/>

    以上配置,访问hellocontroller*.do会分配给helloController执行

    <!--配置handlerMapping-->
        <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
        <bean id="helloController" class="com.app.controller.HelloControlleControll"/>

    以上配置,访问hellocontrollercontroll*.do会分配给helloController执行

    通过以上实验可以肯定,这个链接是通过Controller的name即java文件名称来确定,而不是bean的name来确定,如果java文件名称中最后是一controller结尾的,那么链接将会是除去结尾的controller的剩余部分的小写为开头的,如果文件不是以controller结尾,那么将是全部名称的小写开头的链接。

    4.注解

    springmvc.xml
     <context:component-scan base-package="com.app.web"/>
    
    java代码
    @Controller
    public class HelloController{
        @RequestMapping("/hello")
        public ModelAndView hello(HttpServletRequest request, HttpServletResponse response){
            ModelAndView modelAndView = new ModelAndView();
            //封装要显示到视图中的数据
            modelAndView.addObject("msg","Hello SpringMvc");
            //试图名称
            modelAndView.setViewName("hello");  //   /WEB-INF/jsp/hello.jsp
            return modelAndView;
        }
    }
  • 相关阅读:
    金庸的武侠世界和SAP的江湖
    如何处理用代码创建SD Sales order时遇到的错误消息KI 180
    如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段
    如何查找BAPI SD_SALESDOCUMENT_CHANGE里的字段对应的数据库存储表
    SAP标准培训课程C4C10学习笔记(四)第四单元
    C4C Product Price List的模型中和有效期相关的两个字段
    SAP成都研究院Sunshine: 我的C4C实习感受和保研之路
    SAP CRM和C4C的产品主数据price维护
    运行npm update等命令出错后如何分析问题根源
    ERP和C4C中的function location
  • 原文地址:https://www.cnblogs.com/yuby/p/11005820.html
Copyright © 2011-2022 走看看