不太不懂呀

不太不懂呀

老师这个图片里的问题和回答我不明白,其他jsp也在web-info下的pages下呀,什么意思,是直接在web-info下的jsp,才不能直接在地址栏访问吗http://img1.sycdn.imooc.com//climg/5d8f1d7309a2743308000442.jpg

正在回答 回答被采纳积分+1

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

3回答
好帮手慕柯南 2019-09-29 10:32:20

同学你好!
很抱歉,老师这里将项目看错了呢~给同学带来疑惑,还希望同学见谅,接下来来分析一下同学的疑问:

  1. 在浏览器的url中直接访问WEB-INF下面的jsp文件是不能够访问的,WEB-INF下面的jsp文件只能通过后台转发或者重定向来访问。如果我们不做任何在浏览器中直接访问WEB-INF下面的jsp,会被web项目阻止,从而报404

  2. 写了拦截器之后,拦截了所有的请求

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

    这里的意思是:如果包含login则说明访问的地址是login.do,说明用户在执行登录操作。所以放行。如果不包含login说明用户在执行其它操作,然后判断用户是否登录,登录则放行,否则跳转至登录页面。

  3. 注意:这里的不能访问,只是不能在浏览器直接访问WEB_INF下面的jsp,但是直接访问其它地址是可以的。另外项目中访问jsp都是通过后台重定向或者转发的方式访问的。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕柯南 2019-09-28 19:16:18

同学你好!

1.所有以.do和.jsp结尾的地址都是会被拦截到了呢。同学看在xml中的配置

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

2.在拦截器中,是判断地址中是否有login

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

这里的意思是:如果包含login则说明访问的地址是login.do,说明用户在执行登录操作。所以放行。如果不包含login说明用户在执行其它操作,然后判断用户是否登录,登录则放行,否则跳转至登录页面。

如果我的回答解决了你的疑惑,请采纳~


好帮手慕柯南 2019-09-28 17:55:28

同学你好!

这个问答中描述了两个问题:

  1. WEB-INF下面的jsp页面是不能够通过在地址栏中直接访问,只能通过Servlet返回。

  2. 这位同学的提问时,以上情况既然已经无法访问页面,为什么还要做拦截,老师的回答是:

    如果不能够访问会报404,但是我们需要让它跳转至登录页面。所以添加了拦截

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 还是不理解 未登录时候访问其它页面也不可以啊 怎么转呀 不理解
    2019-09-28 17:59:03
  • 你添加拦截也不是拦截404页面啊
    2019-09-28 18:04:32
  • 同学不能访问web-inf下面的jsp是web项目的安全机制,所以不能直接访问,虽然没有拦截404页面,但是拦截了访问jsp的路径。所以跳转到了登陆页面哦。祝学习愉快~
    2019-09-28 18:52:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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