JavaWeb学习笔记
本文最后更新于:15 分钟前
新版 web.xml
1 |
|
servlet的依赖包
1 |
|
编写servlet的映射
这部分内容也写在web.xml中
为什么要映射
我们写的是Java程序,而Javaweb需要浏览器来进行访问,而浏览器要链接的是web服务器,所以要在web服务器中注册我们所写的servlet,同时还需要给一个浏览器可以访问的路径(url)
1 |
|
servlet中的mapping
这个值是用于指定访问相应Java程序的URL的,可以使用通配符*。
所以,可以有多个url指向一个java程序等等花式操作;(这也是为什么要进行映射二不是直接在域名中使用.class文件名的原因之一)
同时,当通配符与精准域名冲突时(如/hello与/*),默认会使用精确的域名(即/hello),也就是越精确优先级越高。
tomcat查找相应class文件的过程
- 当浏览器首次通过localhost:8080/XXXX/hello时,需要加载相应的servlet类
- 首先参考web.xml,找到
子元素的值为/hello的 元素 - 读取
元素的 的子元素的值,由此确定Servlet的类名为hello - 找到
子元素的值为hello的 元素 - 读取该
元素的 子元素的值,由此确定Servlet的类名为cn.tars.servlet.HelloServlet - 去/WEB-INF/classes/cn.tars.servlet目录下查找HelloServlet.class文件
servlet元素的子元素
坑
Java包名是不允许有特殊符号的,idea会自动将不合法的包名视为普通文件夹且没有提示
基础不牢地动山摇😥
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!