eclipse实现servlet并部署到本地tomcat
前提:本地安装好jdk和tomcat并配置好环境变量
注意:eclipse jdk tomcat 有版本对应关系,本文使用eclipse 2019-12 jdk1.8 tomcat 8.5
建立tomacat服务器
-
Window==>Preference==>server==>Runtime Environments,点击Add:
-
在eclipse中创建tomcat服务器
-
点击上图的next,并做如下配置
-
点击上图的Finish,然后Apply And Close,可以发现,下方出现一个serves如下:
-
双击上图箭头指向的服务器,做进一步配置如下,并保存
建立一个web项目
-
File==>new==>other==>web==>Dynamic Web Project==>next,得到如下界面:
-
上图点击Next后得到如下界面,并做如下设置
-
上图点击Next后得到如下界面,并做如下设置
-
点击Finish得到如下的项目文件结构
在web项目下建立servlet
- 在src中创建一个servlet,在WebContent创建一个html文件做测试,如下
-
在WebContent下建立一个html文件,并书写如下内容方便测试
-
书写xml文件,内容如下
-
当直接运行是,在此时的url下默认找下面的welcome文件,如果有对应的文件,则在浏览器中显示,否则报404
-
当url再追加xml里面配置的url-pattern访问时
第一步,此时的url和mapping里面的name做对应
第二步,mapping里面的name去对应servlet里面的name,如果有相同的name,则通过tomcat服务器去执行servlet里面的class文件,不匹配则报404
-
运行项目
-
直接运行项目如下:
-
在地址栏中追加xml文件中设置的url-pattern回车如下:
进行本地验证
-
关闭eclipse中的tomcat
-
启动本地的tomcat(tomcat的本地安装目录=>bin=>starup.bat)
-
在本地浏览器中输入相应的url进行验证
- 在本地浏览器输入如下地址访问
-
在本地浏览器追加url-pattern后访问
小总结
到此为止,我们在eclipse中已经实现基本的servlet,并将其部署到本地的tomcat
分析与总结
-
servlet中代码的关键点
- 类的继承关系:ServletTest类 extends HttpServlet类 并且 HttpServlet类 extends GenericServlet类
- GenericServlet是一个接口,里面有一个空的service方法,等着其子类去实现,也即制订标准,该方法的调用由tomcat完成,不用可以管它是怎么调用的
- HttpServlet类是GenericServlet类的实现类,它实现了service(书写了一套前后端交互的逻辑),并制订了doPost和doGet标准
- ServletTest类继承于HttpServlet类为自己的业务类,自己根据业务去书写doPost和doGet,这两个函数的都是为了处理从前端得到的数据,为了减少代码冗余,可以任意一个调另一个,但是不能两个相互调
-
xml文件的分析
-
xml文件从相当于一个导航,如果url输入到项目名,那么它会默认找下面的welcome的配置,去匹配项目下同名的文件,没有配置,或者没有匹配到报404
-
当url再追加xml里面配置的url-pattern访问时
第一步,此时的url和mapping里面的name做对应
第二步,mapping里面的name去对应servlet里面的name,如果有相同的name,则通过tomcat服务器去执行servlet里面的class文件,不匹配则报404
-
-
本质:
- 通过java那一套去处理后端数据
- 通过web前端那一套,书写前端界面
- tomcat服务作为前后端交互的桥梁,在它的标准下去提供一些服务
特别注意
- eclipse中的tomcat为本地tomcat的备份,两者有着相同的端口,不能同时开启,如果想同时开启,则需修改端口号
- xml文件,一定不要写错,否则会报404,但是你不知道是xml文件带来的影响,排查起来特别困难
希望能帮到你,如果有错误欢迎交流指证
个人博客地址:http://www.dengdeng.tech/