Java|Java tomcat手动配置servlet详解
目录
- 1.准备工作
- 2.编译文件
- 编码出问题
- 学习类加载器
- 处理编译结果
- 总结
1.准备工作 如下图,先按照要求创建好各个文件
文章图片
【Java|Java tomcat手动配置servlet详解】
文章图片
这时候如果你觉得能运行,那就错了(我一开始卡在这了)
idea的项目结构
文章图片
如果学习过用idea创建servlet应用,你肯定会发现,这里提供的web.xml根本不完整
请用以下代码囊括上述的servlet标签
//在这里加入上面说过的servlet标签代码
2.编译文件
编码出问题
文章图片
如上,刚开始我想编译,但报错了
这里的原因是,javac会根据你的操作系统编码读取源文件代码,而我的电脑是默认GBK的,但这些源码我们都是在记事本写下的,而记事本默认使用UTF-8保存,于是相当于javac用GBK读取UTF-8的内容,遂报错
因此我们要指定读取源码的编码格式为UTF-8
文章图片
学习类加载器
这时候报的错是正常显示的中文了,找不到servlet,意思就是你用了这个类,但没找到,根据双亲委派,我们知道找一个类,会先从system class loader类加载器的缓存开始找,没有就找他的父加载器即extension class loader的缓存,没有就再找extension class loader的父加载器bootstrap class loader的缓存,还是没有就开始向下,先找bootstrap class loader的指定路径下的jar包是否含有我们要的类,从下图可知,跟类加载器加载核心jar包,一些基本的类都在里面,路径是jdk下的jre下的lib
文章图片
这时候还没有找到,就去扩展类加载器的指定路径找,我的电脑是以下路径
文章图片
如果还没有找到,那就在系统类加载器指定路径,即耳熟能详的classpath,你平时在配置path的时候应该也遇到过,
那么-cp命令后面跟上classpath就是告诉系统如果一套下来没找到就去我这找,-cp全称就是-classpath两种写法都能运行
处理编译结果 当你通过在文件管理器输入cmd进行javac时,默认产生class文件在当前目录,可这里有个重点,你写的java源文件有package这条命令,那么我们必须按照包名逐级创建文件夹(运行的时候才能找到你导入的自己写的源文件),
-d 就是放class的位置,-d .可以在当前目录下帮我们自动创建包文件夹很方便,不用手动创建
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- 探索免费开源服务器tomcat的魅力
- RxJava|RxJava 在Android项目中的使用(一)