时间:2022-10-21 09:44:54 | 栏目:JAVA代码 | 点击:次
这里只以 servlet 为例,没有涉及到框架,但其实路径的基本原理和框架的关系不大,所以学了框架的同学如果对路径有疑惑的也可以阅读此文
在 idea 中新建一个 Java Web 项目,项目的初始结构如下 ( 不同版本的 idea 可能略有区别 ) :
localhost:8080
,也就是说项目默认跳转到了 index.jsp 页面,而且打开 web.xml 文件后,我们发现这里并没有配置 index.jsp 为首页,这点要注意localhost:8080/index.jsp
时,会发现显示的仍然是 index.jsp 页面,也就是说,jsp 页面的访问路径是直接从项目的 web 目录的下一级目录开始的,我们这里的 index.jsp 由于就是直接处于 web 目录的下一级,所以直接在 localhost:8080/ 后面加上文件名即可由之前的分析可知,如果我们在 web 目录下新建一个名为 jsps 的目录,然后里面有一个名为 demo.jsp 的文件,那么我们要想访问到这个文件,在浏览器地址栏中输入的就是 localhost:8080/jsps/demo.jsp
,此时项目结构如下:
说明: 这里并没有严格按照 Java Web 项目的结构那样建立 classes 和 lib 文件夹,然后进行配置,但对于这里要说明的问题而言并没有影响
在 src 目录下新建一个名为 com.lwx.servlet 的包,然后在这个包下新建一个名为 DemoServelt 的 servlet 类,此时项目结构如下:
localhost:8080/DemoServlet
特别注意:如果这里的 url-pattern 的值写的是 /*
,那么当我们在浏览器的地址栏输入 localhost:8080
甚至是 localhost:8080/index.jsp
或者是 localhost:8080 后面跟上任何合法的字符串,访问的都是 DemoServlet 这个 servlet 类(细心的同学就会发现这里虽然输入了 localhost:8080/index.jsp
,但访问的并不是 index.jsp 这个文件,而是 DemoServlet 类)
如果我们使用注解的方式对其所做配置如下,则访问路径为 localhost:8080/DemoServlet
特别注意:name 属性的值需要和对应的类名一致
打开 Run
―> Edit Configurations
―> Deployment
,在右侧有个 Application context
,这里的值也是和路径有关的
Application context
中填写的值会直接加到 localhost:8080
的后面,以之前的例子来说,本来 DemoServlet 这个 servlet 类的访问路径是 localhost:8080/DemoServlet
,如果在 Application context
中填写的是 /haha
,那么其访问路径就变成了 localhost:8080/haha/DemoServlet
,对于 jsp 页面的访问路径也是同样的道理