千家信息网

SpringMVC实现Controller的方式有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了SpringMVC实现Controller的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC实现Controller的方法有哪
千家信息网最后更新 2026年11月03日SpringMVC实现Controller的方式有哪些

这篇文章主要介绍了SpringMVC实现Controller的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC实现Controller的方法有哪些文章都会有所收获,下面我们一起来看看吧。

实现Controller的三种方式

1.实现Controller接口

实现Controller接口,重写handleRequest方法,ModelAndView对象是一个模型视图对象,既可以添加数据,又可以保存页面信息,并且处理请求的方式是转发。这个对象要拆成两部分来看

model和view。转发到下一个页面之后,会把 model中的数据渲染到view中展示。在页面可以使用el表达式获取。Model中数据的范围是 request。

import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @className: PACKAGE_NAME.MyController1 * @description: TODO * @author: ych * @create: 2021-06-02 20:25 */public class MyController1 implements Controller {    @Override    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {        //实例化ModelAndView对象        ModelAndView modelAndView = new ModelAndView();        //放数据,相当于request.setAttribute("msg", "我是数据");        modelAndView.addObject("msg", "我是数据");        //放视图        modelAndView.setViewName("forward:/WEB-INF/jsp/show.jsp");        return modelAndView;    }}

Spring-mvc.xml配置文件中添加,如下信息;

2.实现HttpRequestHandler接口

实现HttpRequestHandler接口,重写 handleRequest方法。这个实现方式与servlet 基本一致。

import org.springframework.web.HttpRequestHandler;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * @className: PACKAGE_NAME.MyController2 * @description: TODO * @author: ych * @create: 2021-06-02 20:28 */public class MyController2 implements HttpRequestHandler {    @Override    public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //共享数据到request        request.setAttribute("msg", "我是数据");        //请求转发        request.getRequestDispatcher("/WEB-INF/jsp/show.jsp").forward(request, response);    }}

Spring-mvc.xml配置文件中添加,如下信息;

3.全注解

全注解,开发中写的@Controller注解必须配合扫描才能变成控制器。扫描组件会把头部带有注解的类管理起来。

@RequestMapping是提供请求访问路径的注解,比如UserController上添加的@RequestMapping("/"),这是相对路径,相对于整个程序来说的,所以可以在项目下直接访问到这个控制器类。

方法 test的头部添加@RequestMapping("/test.do"),表示访问到这个控制器类之后,在访问路径上再添加上"/test.do"才能访问到这个方法。

一个注解控制器类中可以定义很多的方法,只需要在方法头部添加不同的@RequestMapping 的值就可以吧这些方法作为不同的控制器使用,所以注解模式在开发中最常用。

import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/** * @className: PACKAGE_NAME.MyController3 * @description: TODO * @author: ych * @create: 2021-06-02 20:32 */@Controller@RequestMapping("/")public class MyController3 {    @RequestMapping("/test1.do")    public ModelAndView test(){        //创建模型视图对象        ModelAndView modelAndView = new ModelAndView();        //添加模型数据,相当于request.setAttribute("msg", "helloworld");        modelAndView.addObject("msg", "helloworld");        //放视图        modelAndView.setViewName("forward:/WEB-INF/jsp/show.jsp");        return modelAndView;    }}

在spring-mvc.xml文件中必须增加上扫描组件:

关于SpringMVC的控制器(Controller)

控制器Controller

控制器负责解析用户的请求并将其转换为一个模型

在SpringMVC中一个控制器可以包含多个方法

SpringMVC中对于Controller的配置方式

  • 实现Controller接口

  • 注解实现Controller

1、实现Controller接口

1、web.xml

            springmvc        org.springframework.web.servlet.DispatcherServlet                    contextConfigLocation            classpath:springmvc-servlet.xml                1                springmvc        /    

2、springmvc-servlet.xml

                                    

3、创建Controller类

package com.springmvc.controller;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test1Controller implements Controller {    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {        ModelAndView modelAndView = new ModelAndView();        modelAndView.addObject("msg","Controller");        modelAndView.setViewName("test");        return modelAndView;    }}

在springmvc-servlet.xml中为Test1Controller注册bean

2、注解实现Controller

1、web.xml

            springmvc        org.springframework.web.servlet.DispatcherServlet                    contextConfigLocation            classpath:springmvc-servlet.xml                1                springmvc        /    

2、springmvc-servlet.xml

                                

3、Test2Controller

      //被这个注解的类中的所有方法,如果返回值是String,并且有具体页面可以跳转,那么就会被视图解析器解析;      @Controller      public class Test2Controller {                @RequestMapping("/t2")          public String test2(Model model){              model.addAttribute("msg","注解实现Controller");              return "test";          }      }

4、test.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    Title${msg}

关于"SpringMVC实现Controller的方法有哪些"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"SpringMVC实现Controller的方法有哪些"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

方法 注解 控制器 数据 控制 接口 对象 视图 方式 模型 页面 信息 头部 文件 知识 路径 配置 不同 内容 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 保险科技 互联网保险 百单网互联网科技有限公司怎么样 科技创新与互联网经济 互联网科技公司税收优惠 中资互联网科技 互联网科技的发展 新浪科技互联网 齐家互联网科技有限公司 互联网科技汛 汽车互联网创新科技园 港股科技和互联网 和信科技工业互联网 互联网硬科技公司 昆明中奇联合互联网科技 湖北辰鑫科技互联网 亚光科技低轨卫星互联网 山东亿川互联网科技有限责任公司 互联网科技快速发展优美句子 小牛互联网科技有限公司地址 南京欣网互联网络科技有限公司 深圳九邦互联网科技有限公司 互联网科技工作委员会主任 互联网 卓越科技 富国互联网科技创新基金 移动互联网年度科技创新 成都互联网科技公司工作好不好 新氧科技和美国互联网有关系吗 长沙易易互联网科技有限公司 银川新华互联网科技学校招聘
0