温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java tomcat如何手动配置servlet

发布时间:2022-03-04 10:51:52 来源:亿速云 阅读:129 作者:小新 栏目:开发技术

小编给大家分享一下Java tomcat如何手动配置servlet,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    1.准备工作

    如下图,先按照要求创建好各个文件

    Java tomcat如何手动配置servlet

    Java tomcat如何手动配置servlet

    这时候如果你觉得能运行,那就错了(我一开始卡在这了)

    idea的项目结构

    Java tomcat如何手动配置servlet

    如果学习过用idea创建servlet应用,你肯定会发现,这里提供的web.xml根本不完整
    请用以下代码囊括上述的servlet标签

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    		//在这里加入上面说过的servlet标签代码
    </web-app>

    2.编译文件

    编码出问题

    Java tomcat如何手动配置servlet

    如上,刚开始我想编译,但报错了

    这里的原因是,javac会根据你的操作系统编码读取源文件代码,而我的电脑是默认GBK的,但这些源码我们都是在记事本写下的,而记事本默认使用UTF-8保存,于是相当于javac用GBK读取UTF-8的内容,遂报错

    因此我们要指定读取源码的编码格式为UTF-8

    Java tomcat如何手动配置servlet

    学习类加载器

    这时候报的错是正常显示的中文了,找不到servlet,意思就是你用了这个类,但没找到,根据双亲委派,我们知道找一个类,会先从system class loader类加载器的缓存开始找,没有就找他的父加载器即extension class loader的缓存,没有就再找extension class loader的父加载器bootstrap class loader的缓存,还是没有就开始向下,先找bootstrap class loader的指定路径下的jar包是否含有我们要的类,从下图可知,跟类加载器加载核心jar包,一些基本的类都在里面,路径是jdk下的jre下的lib

    Java tomcat如何手动配置servlet

    这时候还没有找到,就去扩展类加载器的指定路径找,我的电脑是以下路径

    Java tomcat如何手动配置servlet

    如果还没有找到,那就在系统类加载器指定路径,即耳熟能详的classpath,你平时在配置path的时候应该也遇到过,

    那么-cp命令后面跟上classpath就是告诉系统如果一套下来没找到就去我这找,-cp全称就是-classpath两种写法都能运行

    处理编译结果

    当你通过在文件管理器输入cmd进行javac时,默认产生class文件在当前目录,可这里有个重点,你写的java源文件有package这条命令,那么我们必须按照包名逐级创建文件夹(运行的时候才能找到你导入的自己写的源文件),

    -d 就是放class的位置,-d .可以在当前目录下帮我们自动创建包文件夹很方便,不用手动创建

    以上是“Java tomcat如何手动配置servlet”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI