2-6范围问题

2-6范围问题

问题1:


  <url-pattern>servlet/*</url-pattern>

http://localhost:8080/url-pattern/servlet  访问这个,

会提示tomcat运行失败, 为什么阿?

  <url-pattern>/servlet/*</url-pattern>

http://localhost:8080/url-pattern/servlet  访问这个,为什么不会报404呢

为什么是对映射名/的servlet进行拦截,然后跳转到映射名为/的页面阿, 而不是

/servlet/sample1页面

问题2:

老师视频15分钟说中需要设置index.jsp这个默认首页, 可以改成其他的,改成其他的就不是默认首页了吧,是这个意思吧? 就不想设置默认首页。对吧? 

然后说要配置以为映射为/的servlet ,来去跳转到指定的页面进行显示, 是什么意思?为什么要跳转啊,不是针对url进行拦截过滤器处理吗? 

问题3:

/指映射Web应用根路径,且只对servlet生效,

这个根路径是什么阿 。 只对servlet生效就是只对servlet的程序生效吧?且这个程序的映射名为/  ?

问题4:

/servlet/*对servlet的开头设置拦截,这其实是根路径+所有的servlet开头的url吧?

/* 是代表所有的意思,是放在名字的后方吗 也是servlet/*  对吗?而不是/*servlet

*.jsp 是最后jsp为后缀的都会被拦截吗?

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

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

1回答
好帮手慕阿慧 2021-03-25 10:41:38

同学你好,

1、<url-pattern>servlet/*</url-pattern>是错误的配置方式,tomcat会启动失败。

<url-pattern>/servlet/*</url-pattern>表示会匹配servlet/后面跟任何的,如/url-pattern/servlet/a。 建议同学详细说明一下跳转问题。

2、你的理解是正确的。当一个Servlet类的路径是/,项目中有index.jsp文件时,访问localhost:8080/项目名会访问到index.jsp文件,不会访问到Servlet类。这里同学需要注意。

3、根路径是localhost:8080/context上下文。例如http://localhost:8080/url-pattern。是的,你的理解是正确的。

4、是的。/*代表匹配所有路径,不是servlet/*和/*servlet,如可以匹配http://localhost:8080/url-pattern/a,http://localhost:8080/url-pattern/a/b。

*.jsp是最后jsp为后缀的都会被拦截。

祝学习愉快~

  • 提问者 rock221 #1

    说白了,根路径就是工程名了吧。 

    2021-03-25 10:51:18
  • 提问者 rock221 #2

      <url-pattern>servlet/*</url-pattern> 这样写是不是不对啊。 没有根路径阿。 

    2021-03-25 10:53:38
  • 提问者 rock221 #3

    如果一个映射写/a/b/c  第一个/代表的是根路径 第二个/和第三个/代表的是什么阿? 上下文路径的意思吗?

    2021-03-25 10:56:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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