• SpringMVC详细步骤


    1.配置前端控制器

      //负责各种解析器,例如本地化解析器,主题解析器,处理器映射器,处理器适配器,处理器异常解析器,视图名称解析器,视图解析器,文件上传解析器,FlashMap映射管理器

      <!--定义Spring MVC前端控制器-->

      <servlet>

        <servlet-name>springmvc</servlet>

        <servlet-class> org.springframework.web.servlet.DispathcerServlet </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>

      <!--让Spring MVC的前端控制器拦截所有请求-->

      <servlet-mapping>

        <servlet-name> springmvc </servlet-name>

        <url-pattern> / </url-pattern>

      </servlet-mapping>

    springmvc声明式配置:

    2.声明业务控制器类,并将其映射到url

      <!--配置Handle,映射"/hello"请求-->

      <bean name="/hello" class="org.mypackge.controller.HelloController"/>

    3.配置处理映射器,将bean的name作为url进行查找

      <!--配置处理映射器将bean的name作为url进行查找,需要在配置Handle时指定name-->

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

    4.配置处理适配器,完成对HeoolController类的handleRequest方法的调用

      <!--配置一个处理器适配器HandlerAdapter,所有适配器都要实现HandlerAdapter接口,例如SimpleControllerHandlerAdapter-->

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

    5.配置视图解析器,解析视图,将View呈现给用户

      <!--配置视图解析器-->

      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

    springmvc注解式配置:

      <!--spring可以自动扫描base-package下面的包或者子包下面的java文件,如果扫描到有spring相关的注解,则把这些类注册为spring的bean-->

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

      <!--配置annotation类型的处理映射器-->

      <bean class="org.springframework.web.sevlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

      <!--配置annotation类型的处理适配器-->

      <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

      <!--配置视图解析器-->

      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

    Controller类的实现:

      实现Controller接口或者使用@controller注解

      1.HelloController是一个实现Controller接口的控制器,可以处理一个单一的请求动作,Controller调用handleRequest方法来处理请求

      public class HelloController implements Controller{

        //实现Controller必输实现handleRequest方法,参数对应请求和响应,必须返回ModelAndView对象

        @Override

        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{

          ModelAndView mv = new ModelAndView();

          //添加模型数据,可以使任意POJO对象

          mv.addObject("message", "Hello World!");

          //设置逻辑视图名,视图解析器会根据该名字解析并转发到具体的视图页面

          mv.setViewName("/WEB-INF/content/welcome.jsp");

          return mv;

        }

      }

      2.基于注解的控制器

      可以处理多个请求动作

      @Controller

      public class HelloController{

        //org.springframework.web.bind.annotation.RequestMapping注解用来映射请求的url和请求的方法等,例如映射"/hello",该方法返回ModelAndView对象

        @RequestMapping(value="/hello")

        public ModelAndView hello(){

          ModelAndView mv = new ModelAndView();

          mv.addObject("message","hello");

          mv.setViewName("/WEB-INF/content/welcome.jsp");

          return mv;

        }

      }

    View实现:

      定义一个welcome.jsp文件,可以访问Controller传递的message

      <body> ${requestScope.message} </body>

  • 相关阅读:
    Django关于StreamingHttpResponse与FileResponse响应文件或视频的下载请求
    APScheduler可能遇到的问题
    django中model聚合使用
    Java 递归判断迷宫问题是否有路
    direct path read/write (直接路径读/写)
    DRM 简介
    SQL Server2008表名中含“.”号处理方法
    Java学习之:JDK动态代理与CGLIB动态代理
    强大易用!新一代爬虫利器 Playwright
    为什么cudaMalloc()参数是二级指针
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/7531132.html
Copyright © 2020-2023  润新知