DispatcherServlet的问题

DispatcherServlet的问题

<a href="remove.do?id=${dep.id}" class="btn">删除</a>
这是department_list.jsp的删除链接
<a href="remove.do?id=${staff.id}" class="btn">删除</a>
这是staff_list.jsp的删除链接
int index = path.indexOf('/');
if (index != -1){
    beanName = path.substring(0,index)+"Controller";
    methodName = path.substring(index+1,path.indexOf(".do"));
} else {
    beanName = "selfController";
    methodName = path.substring(0,path.indexOf(".do"));
}
这是DispatcherServlet的识别类和方法的代码

这个工作流程是不是我们点击删除链接,然后提交给DispatcherServlet,由这个来识别对应的Controller中的Remove方法?

但是两个链接中的地址都是remove.do,他是如何正确识别一个是DeparmentController一个是StaffController中的remove?

以及DispatcherServlet这个Servlet我们不需要配置吗,spring框架中只要创建了这个类,所有的请求都会交给这个类来自动识别发送到不同的控制器吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好。

1、两个链接中的地址都是remove.do,但他们都是相对地址,浏览器会先相对于当前地址栏中的地址拼接好后再发送给服务器。department_list页面是经历转发跳转进来的,所以地址栏不会改变,仍然为/department/list.do,此时请求remove.do会变为/department/remove.do,staff_list也是同理。

http://img1.sycdn.imooc.com//climg/5dc545500926149b11060312.jpg


2、之所以所有的.do请求先交给DispatcherServlet,是因为我们在web.xml中配置了:

http://img1.sycdn.imooc.com//climg/5dc547c409bb597a08990259.jpg


如果解答了同学的疑问,望采纳~

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师