简学tomcat,自己写个servlet,纯手工部署一个动态网站
2018-03-15 本文已影响297人
在路上phper
这节课学习一下手工部署动态网站,进一步体会tomcat内部是如何运行的
image.png
我们也学到了servlet
image.png
那么这些API到底是什么以及如何使用呢?
image.png
接下来手写个servlet (上节课可能对servlet体会还不是很深刻,以后我们会借助框架完成这个功能,这里简单学下)
接下来创建一个新的java项目名叫myweb(maven项目)
创建完成后
目录如下
image.png
里面带了个pom.xml文件为maven依赖文件
首先我们加入servlet api的依赖
image.png
servlet是tomcat和程序之间进行交互的
下面模拟下自己写个servlet
首先在java目录下创建个com.jtthink包 必须有个包
在包下面创建个myservlet.java
目录如下
image.png
代码如下
image.png
最简单的servlet就写好了
由于没有入口文件 不能运行 所以我们编译一下文件
编译好目录出现target文件夹
image.png
接下来创建动态网站
在webapps目录下创建个myweb目录 假设这个目录存放我们做好的java网站
里面创建个WEB-INF文件夹
image.png
文件名一定要大写 这种文件名在tomcat里被认为是安全文件夹 他里面的任何内容在浏览器端是下载不到的
因此我们一般把配置文件或者一些不希望用户访问到的文件包括生成的类库都放在里面
首先来到编译器 把我们编译好的taget目录下的classes目录拷贝到WEB-INF目录下
image.png
上节课我们讲过tomcat目录下的conf下面的web.xml 这是总的网站的配置文件
其实每个应用里都可以自带一个web.xml配置文件 否则我们更改一些配置就要更改conf下的web.xml 这样不合理
所以在WEB-INF里面应该有个web.xml文件
image.png
如果我们希望在访问的时候 localhost:8080/myweb/aaa.do 就执行我们自己写的servelt里面的doget方法 应该怎么做呢?
我们需要在配置文件中添加些内容
servlet和servlet-mapping配置项
WEB-INF下的web.xml配置如下
image.png
我们希望在浏览器中出现.do 则会去自动执行我们的myservlet
报错后启动我们的tomcat
在浏览器输入localhost:8080/myweb/abcabc.do
image.png
输出了hello me
其中abcabc可以为任意字符 只要后缀为.do就可以 不是非要有这个文件存在的
因为我们配置了servlet 如果没有写这个servelet的配置 他会去寻找这个文件(或者index.jsp等)
写了servelt配置 会有相关的servelet进行处理 会进入我们的doGet方法 因为我们是以get请求我们的url的
只要一个WEB-INF文件夹即可创建动态网站