博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM-SpringMVC-09:SpringMVC中以继承MutiActionController类的方式实现处理器
阅读量:6568 次
发布时间:2019-06-24

本文共 2928 字,大约阅读时间需要 9 分钟。

 

 

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

 

 

MutiActionController类,多行动处理器,简单来说,就是可以一个处理器中有多个处理方法,分支

实现的原理可以解释一波:就是因为这个类中有InternalPathMethodNameResolver这个方法名字解析器,他的作用就是通过urlpath可以访问到这个类中的path指定的方法

 

小Demo案例:

  一,自定义一个类(我的叫MyMutiActionController),继承MutiActionController这个类,他里面没有必须要实现的方法,纯手写

 

package cn.dawn.day05multiActioncontroller;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.multiaction.MultiActionController;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Created by Dawn on 2018/3/23. */public class MyMultiActionController extends MultiActionController{    public String doFirst(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {        ModelAndView me=new ModelAndView();        me.setViewName("first");        return "first";    }    public ModelAndView doSecond(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {        ModelAndView me=new ModelAndView();        me.setViewName("second");        return me;    }}

 

  此处要注意的是方法修饰符给public,我之前复制的AbstractController那个实现类的方法,它的访问修饰符是protected,结果出的错找了20分钟,据我的估计,它这儿有点low,按道理反射的写法应该连private也能读取到啊

 

  二,在自己的配置文件中:

 

myMultiActionController

 

 

  三,之后需要改的有web.xml,将指向的xml配置文件改成你现在用的那个

 

Archetype Created Web Application
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:ApplicationContext-day05MultiActionController.xml
1
springmvc
/
default
*.js
default
*.css
default
*.jpg
default
*.png
default
*.gif

 

 

  四,我在处理器的方法中不是给了一个first和second的字符串吗?

    那个经过视图解析器的处理其实就是/first.jsp和/second.jsp

    所以,我们写出这俩个页面供测试使用

  

    first.jsp页面

 

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

我是first

 

    second.jsp页面

 

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

我是second

 

 

---end---

 

转载于:https://www.cnblogs.com/DawnCHENXI/p/8633081.html

你可能感兴趣的文章
点击qq、点击邮箱01
查看>>
时间处理总结(三)javascript与WCF
查看>>
Ubantu下安装jdk 教程
查看>>
ActiveMQ入门实例
查看>>
linux安装至少有哪两个分区,各自作用是什么?
查看>>
swoole 安装和简单实用
查看>>
文件系统 第八次迭代 VFS相关说明
查看>>
速读《构建之法:现代软件工程》提问
查看>>
SpringCloud注册中心环境搭建euraka
查看>>
ElasticSearch 安装使用
查看>>
React性能分析利器来了,妈妈再也不用担心我的React应用慢了(转)
查看>>
信息安全管理(1):组织的三个层面
查看>>
原生JS实现圆周运动
查看>>
文件的读写
查看>>
前端面试通关指南
查看>>
制作首页的显示列表。
查看>>
同样加班 不同收获
查看>>
六分钟学会创建Oracle表空间的步骤
查看>>
数据公钥加密和认证中的私钥公钥
查看>>
c语言中的位移位操作
查看>>