当前位置:   article > 正文

servlet的映射与在idea中的使用_创建servlet已及映射

创建servlet已及映射

PS:创建Servlet之前需要先导入Servlet的jar包,不然你会发现你没有Servlet选项。(一般jar包都可以从这个网址(https://www.mvnrepository.com/)下载,这里需要的是"Java Servlet API"该jar包)

一. idea的Servlet创建与映射

选中相应的包,右键New,可以看到有一个Servlet选项:
在这里插入图片描述
出现如下窗口,我将新建的Servlet命名为HelloServlet:
在这里插入图片描述

红色圈中的选项切记不要勾选,像这样创建好Servlet之后,找到并打开web.xml:
在这里插入图片描述
web.xml中会看到,idea已经自动帮我们注册了Servlet:
在这里插入图片描述
如果你选中了刚刚红色圈中的选项,那么idea将不会自动为我们注册,至于为什么报错,是因为我们还没有设置映射:
在这里插入图片描述
可以看到设置了映射之后,就不会报错了。

二. Servlet映射

上面简单提到了一下Servlet的映射,这里拓展一下。

同一个Servlet可以有多个映射:

在这里插入图片描述
能通过通配符映射,有2种格式:

  1. *.拓展名
  2. /*

通配符的匹配原则(这段是从孤傲苍狼老师的文章中拷过来的):

对于如下的一些映射关系:
  Servlet1 映射到 /abc/*
  Servlet2 映射到 /*
  Servlet3 映射到 /abc
  Servlet4 映射到 *.do
问题:
  当请求URL为“/abc/a.html”,“/abc/*”和“/*”都匹配,哪个servlet响应
      Servlet引擎将调用Servlet1。
      
  当请求URL为“/abc”时,“/abc/*”和“/abc”都匹配,哪个servlet响应
      Servlet引擎将调用Servlet3。
      
  当请求URL为“/abc/a.do”时,“/abc/*”和“*.do”都匹配,哪个servlet响应
      Servlet引擎将调用Servlet1。
      
  当请求URL为“/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应
      Servlet引擎将调用Servlet2。
      
  当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应
      Servlet引擎将调用Servlet2。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

可以看出匹配的原则就是"谁长得更像就找谁"。

三. 运行(供刚入门的人参考,建议跳过)

先配置Tomcat,在右上角处:
在这里插入图片描述
点击那个tomcat的位置,因为我之前配置过,所以这里显示的是tomcat,点击后如下:
在这里插入图片描述
点击选中的选项,即Edit …选项,然后在弹出的窗口中点击+号,找到Tomcat Server,然后点击这个选项中的Local:
在这里插入图片描述
点击Local后,左边会出现如下框:
在这里插入图片描述
我们先设置圈出的Name,我之前的那个Tomcat设置的是tomcat,所以显示为tomcat,然后点击fix添加依赖的web:
在这里插入图片描述
有时候会有多个选项,但是记得一定要选则图片中看到的这个选项。
然后就可以运行了。这里注意一下Application context这个选项,这个会决定你的的路径名。
我设置了\所以,访问地址为localhost:8080/hello:
在这里插入图片描述
假设我设置了abc那么,访问地址就会变为localhost:8080/abc/hello(不做演示了)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号