简学tomcat,war包部署,servlet入门,自定义访问后缀

上节课讲了tomcat的多端口访问方式,以及server.xml的配置文件修改方法
那么我们的web.xml是干什么的?
这节课我们首先学下war包


简学tomcat,war包部署,servlet入门,自定义访问后缀_第1张图片
image.png

war包 是一个非常方便的部署方式 可以把我们的网站通过压缩的方式打一个包 直接部署到我们的服务器上(tomcat)
tomcat启动后 会自动进行解压
下面演示一下 使用静态的方式进行打包
首先在下面的目录创建个test文件夹 里面创建个index.html文件
如下


简学tomcat,war包部署,servlet入门,自定义访问后缀_第2张图片
image.png

那么如何对里面的内容进行打包
我们来到cmd
简学tomcat,war包部署,servlet入门,自定义访问后缀_第3张图片
image.png

来到想要打包目录 执行jar -cvf test.war . 其中test.war是随便起的名字 后面的空格和点代表的是当前目录下所有文件进行打包

执行命令后可以发现
test目录中出现了test.war包


简学tomcat,war包部署,servlet入门,自定义访问后缀_第4张图片
image.png

当我们做完网站直接打成war包 发送给队友
那么队友如何操作呢
首先拷贝test.war包到tomcat的webapps网站默认目录下
简学tomcat,war包部署,servlet入门,自定义访问后缀_第5张图片
image.png

在linux环境下确保这个文件夹是有权限来生成的 因为启动tomcat时候会自动解压这个war包 会在webapps目录下自动创建个文件夹名为test
接下来启动下tomcat
可以发现出现了test文件夹
简学tomcat,war包部署,servlet入门,自定义访问后缀_第6张图片
image.png

浏览器访问localhost:8080/test
结果如下
简学tomcat,war包部署,servlet入门,自定义访问后缀_第7张图片
image.png

可以非常方便的访问我们做的应用
以上就是最简单的war包打包 和解压方式 我们都是通过静态文件的方式访问的
那么如果我们在webapps的test目录下创建个index.jsp 不要index.html文件了
内容如下
简学tomcat,war包部署,servlet入门,自定义访问后缀_第8张图片
image.png

再次浏览器访问


简学tomcat,war包部署,servlet入门,自定义访问后缀_第9张图片
image.png

出现了index.jsp 因为index.jsp是默认的地址 在我们的配置文件中默认有几个文件是存在的 起始首页
为什么输入localhost:8080/test/index.jsp可以访问?
简学tomcat,war包部署,servlet入门,自定义访问后缀_第10张图片
image.png

而index.asp不能访问
简学tomcat,war包部署,servlet入门,自定义访问后缀_第11张图片
image.png

接下来看下基本的过程
简学tomcat,war包部署,servlet入门,自定义访问后缀_第12张图片
image.png

当我们使用浏览器去访问tomcat的时候 我们可以发现html jsp没有问题 如果写成asp或者abc则会出现问题
实际上在tomcat里 不管访问后缀是html还是jsp tomcat本身并不会识别 它需要把识别的过程交给一个程序 程序处理好了之后 把内容变为html 我们http协议能理解的内容还给tomcat。tomcat把内容输出给浏览器 这里面会有个http传输的过程 浏览器和tomcat传输的是http协议 tomcat和程序之间 tomcat只作为一个传输的工具 并不知道如何去解析jsp或者html
这个程序有两个层面
一种是tomcat自带的一些解析程序来解析我们后缀为html或者jsp这样的内容
还有一部分程序是我们自己可以去写的
接下来我们学习下servlet
简学tomcat,war包部署,servlet入门,自定义访问后缀_第13张图片
image.png

tomcat里面内置了一些servlet 可以帮我们处理一些后缀为jsp的文件
servlet容器在tomcat中有两大方面
简学tomcat,war包部署,servlet入门,自定义访问后缀_第14张图片
image.png

功能一 当我们浏览器访问tomcat时候 根据http协议返回相应的内容
功能二 tomcat中有一个内置的servlet 处理和交互的过程 当我们内置的servlet搞不定时候 需要自己写servlet
简学tomcat,war包部署,servlet入门,自定义访问后缀_第15张图片
image.png

来到tomcat目录 打开conf
里面的web.xml 这是我们网站的配置文件
其中tomcat有两大功能
server.xml 就是为功能一使用的 (充当socket服务端)
web.xml就是为功能二使用的(servlet于tomcat进行交互)
打开web.xml
简学tomcat,war包部署,servlet入门,自定义访问后缀_第16张图片
image.png

简学tomcat,war包部署,servlet入门,自定义访问后缀_第17张图片
image.png

简学tomcat,war包部署,servlet入门,自定义访问后缀_第18张图片
image.png

可以发现servlet和servlet-mapping配置节点是成对出现的
其中servlet 节点里的servlet-class节点对应的包名一定存在于tomcat里
而servlet-mapping中的url-pattern为访问地址的规则
根据url匹配规则的后缀找到处理程序的控制权(即哪个servlet)
默认首页的配置后缀
简学tomcat,war包部署,servlet入门,自定义访问后缀_第19张图片
image.png

当浏览器访问域名加端口后面带/时 会寻找目录下面的index.html 或者index.jsp如果都找不到则报错
那么是否可以自定义配置 将后缀改为abc使其可以访问呢?
下面演示一下
首先在webapps的test目录下创建个bhc.abc文件
里面如下


简学tomcat,war包部署,servlet入门,自定义访问后缀_第20张图片
image.png

浏览器访问
简学tomcat,war包部署,servlet入门,自定义访问后缀_第21张图片
image.png

服务器把这个文件当做普通文件进行了输出
下面写段测试代码
在index.jsp里写入一段java代码
简学tomcat,war包部署,servlet入门,自定义访问后缀_第22张图片
image.png

修改bhc.abc
简学tomcat,war包部署,servlet入门,自定义访问后缀_第23张图片
image.png

浏览器访问
localhost:8080/test
简学tomcat,war包部署,servlet入门,自定义访问后缀_第24张图片
image.png

localhost:8080/test/bhc.abc
简学tomcat,war包部署,servlet入门,自定义访问后缀_第25张图片
image.png

可以发现bhc.abc里面的内容原样输出了 而index.jsp解析了代码
因为没有把后缀为abc的程序交给我们的 jsp servlet处理
接下来修改下配置文件使其支持访问后缀abc的文件
来到web.xml
image.png

添加上面内容 表示把我们的后缀为abc的文件也交给jsp servlet处理
重启tomcat
再次运行localhost:8080/test/bhc.abc
简学tomcat,war包部署,servlet入门,自定义访问后缀_第26张图片
image.png

可以发现我们后缀为abc的文件也被jsp servlet解析了。

你可能感兴趣的:(简学tomcat,war包部署,servlet入门,自定义访问后缀)