核心控制器

核心控制器

核心控制器是干什么的?

其中的beanName="selfControl"是什么意思?有什么意义吗?

正在回答

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

5回答

同学你好,不是对department_list.jsp进行拦截,web.xml中对.do请求进行拦截,交给DispatchServlet核心控制器处理

http://img1.sycdn.imooc.com//climg/5ec38c9f09f7bd2c08480309.jpg比如/department/list.do,/department/add.do

截取这部分的代码是对路径进行/的区分的,同学不要搞混了

祝学习愉快~

好帮手慕小脸 2020-05-19 11:29:44

同学你好,是的,这里是通过有没有“/”来区分的

如下举例:

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

当有斜杠时执行if先对名称进行截取,其次要截取list.do

祝学习愉快~

  • 提问者 焰痕 #1
    以departement_list.jsp为例子的,找到“/”再加controller,可是,这个路径不就变成department_listconrtoller了呀
    2020-05-19 12:59:51
好帮手慕小脸 2020-05-18 19:03:29

同学你好。非常抱歉没有为同学及时回复,这里因为我们是按照时间顺序来一 一回复 .所以可能存在部分延迟的情况。

1、并不是同学理解的这意思,页面是发起请求的。 而被拦截的.do的请求是交始核心控制器进行处理

的,然后找到controller

2、详细过程,这里以department_list.jsp中的删除功能为例:

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

然后去DepartmentController找对应的remove.do,执行完操作后

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

重定向到list.do

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

祝学习愉快~|


  • 提问者 焰痕 #1
    可是核心控制器里的代码不是按照有没有找到“/”来分辨是哪个controller的吗?
    2020-05-18 19:12:38
  • 提问者 焰痕 #2
    老师明天别忘记回复我啊!~
    2020-05-18 20:05:19
  • 提问者 焰痕 #3
    老师别忘记回复我啊~
    2020-05-19 09:12:33
好帮手慕小脸 2020-05-18 16:13:26

同学你好,

1、以如下代码举例说明:

 response.sendRedirect(request.getContextPath()+"/toLogin.do");

使用.do来实现跳转时,可能只是访问的是过滤器或者是controller,然后由里面进行转发到jsp页面。如:在web.xml中拦截.do的请求,然后交给核心控制器进行处理,接着在核心控制器中解析请求,最后再转发给对应的controller执行

注:.do是路径名的后缀,是开发中自己命名的,写成其他形式也可以,比如*.aa,就是以aa作为后缀。用.do是开发中比较常见的。像以前学Servlet时,Servlet的url-pattern我们可以定义成login,当然它也可以定义成login.do,就是一种url地址的命名方式。

2、controller里的response.sendRedirect("list.do");是重定向到list.do

祝学习愉快~

  • 提问者 焰痕 #1
    那比如说department_list.jsp通过核心控制器,找到了departmentcontroller的意思吗? 可是按照代码是有没有/来判断的,能告诉详细过程吗?
    2020-05-18 16:23:47
  • 提问者 焰痕 #2
    能回复下吗,谢谢
    2020-05-18 16:57:47
  • 提问者 焰痕 #3
    在?能回答下吗
    2020-05-18 17:54:01
好帮手慕小脸 2020-05-18 15:01:35

同学你好,

1、核心控制器就是一个分发各种请求的地方。程序执行时会把请求提交给核心控制器DispatcherServlet,然后根据路径转发给其他的控制器进行处理。

2、beanName是定位到Controller类,所以这里beanName="selfController"就是定位到selfController类。

注:selfController是定义的控制器,在后面的课程5-2小节会详细解说

祝学习愉快~

  • 提问者 焰痕 #1
    那里面的login.do是从那哪里来的,不是只有login.jsp吗? controller里的response.sendRedirect("list.do");是什么意思?有什么作用?
    2020-05-18 15:22:50
  • 提问者 焰痕 #2
    主要是.do和这个jsp怎么联系起来的?
    2020-05-18 15:28:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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