springMVC学习笔记(三) ---- controller配置总结

来源:互联网 发布:java jdk 1.7 中文版 编辑:程序博客网 时间:2024/06/06 00:46

今次记录Controller的配置总结基本上有4中方式来配置视图

    <!--第三课controller配置总结-->    <!--第一种.通过url对应bean,需要在xml中加入-->    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>    <bean name="/ctrl1.do" class="com.controller.ctrlType1"></bean>    <!--第二种:    通过url分配bean,此类配置可以配通配符-->    <!--url分发器,将/model2.do分发到hello2Controller-->    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">    <property name="mappings">    <!–props>prop–>    <props>    <!–key对应url请求名 value对应处理器的id–>    <prop key="/ctrl2.do">ctrlType2</prop>    <prop key="/ctrl2-2.do">ctrlType2</prop>    </props>    </property>    </bean>    <bean id="ctrlType2" class="com.controller.ctrlType2"></bean>    <!--第三种:    通配方法-->    <!--将ctrl3*.do交给hello3Controller处理-->    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>    <bean name="/ctrl3*.do" class="com.controller.ctrlType3"></bean>    <!--第四种:    注解法-->    <context:component-scan base-package="hello2" />

对应的Controller:

package com.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.portlet.ModelAndView;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * Created by cfxd000 on 2016/11/15. */@Controller@RequestMapping("/")public class View3Type {    //第一种返回视图的方法:modelAndView    @RequestMapping("/view1")    public ModelAndView view1(){        ModelAndView mv = new ModelAndView();        mv.setViewName("hello.jsp");        mv.addObject("msg","view1");        return mv;    }    //第二种void类型,使用servlet API    @RequestMapping("/view2")    public void view2(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {        //1):直接响应输出//        PrintWriter out = response.getWriter();//        out.print("type2 servletWriter");        //2):转发//        request.getRequestDispatcher("/jsp/forward.jsp").forward(request,response);        //3):重定向        response.sendRedirect("/jsp/redirect.jsp");    }    //第三种string方法    @RequestMapping("/view3")    public String view3(){        //因为有视图解析器,所以只返回文件名就可以了//        return "hello";//        return "forward:/jsp/forward.jsp";//转发记住要写好路径,否则会404        return "redirect:/jsp/redirect.jsp";//重定向也一样    }}


0 0
原创粉丝点击