Servlet学习

0x00 什么是Servlet

Servlet是Java Web开发的基石,为JavaWEB三大组件之一,其余两个分别是Filter过滤器,Listener监听器。Servlet程序运行在Servlet容器上,也可以说是运行在服务器/Tomcat上,负责和客户端进行通信。JSP就是Servlet。并且Servlet是JavaEE规范之一,规范就是接口

0x01 功能

  1. 可以创建并返回基于用户请求的动态html页面

  2. 与数据库进行通信

    • 如何使用Servlet?

Servlet本身是一组接口,只需要自定义一个类并且实现Servlet借口,这个类就具备了接收客户端请求以及各种响应的功能。

0x02 写一个Hello world

这里用的IDE版本是idea2020.3,服务器是tomcat-7.0.109。

  1. 新建项目 新建项目,选择java模块,其余不动

    输入项目名称

  2. 添加框架支持

    添加框架支持

    选择web应用程序

  3. 导入相关库

    文件-项目结构

    导入servlet依赖

    从下载好的tomcat的lib路径里寻找

    导入成功

  4. 新建Servlet

    右键src目录,新建servlet

    输入名称

    编写语句

  5. 编写Web.xml

    见注释

  6. 调试运行

    新建配置环境

    在部署里找到项目目录

0x03 小记

最后的效果如图:

最终效果

虽然本篇看着内容简单,其实还是走了挺多弯路的,尤其我之前完全没有接触过java…

首先就是IDE的问题,我用的版本比较新,为2020.3版本,建立java web项目和之前的版本不太一样,需要先建立个空项目再去构建框架。

之后就是tomcat的版本问题,一开始导入的是tomcat9版本的servlet的jar包,写servlet类的时候一直import不到相关的库,后来在外部库展开jar包发现,javax目录里是空的,不知道什么原因(但是tomcat9本身也是在官网下载的,并且调试一切正常)。

最后换了旧版本tomcat7成功导入库,写了servlet类。然后又遇到了一个新手问题,就是怎么在index.jsp里引用刚才写的servlet。

一开始是准备参照帖子写个ajax出来,用script标签加载,结果不太行,不知道怎么回事。

最后还是根据网上的视频,在web.xml里引入标签,给servlet程序一个绝对路径来执行,之后就成功了。

0x04 参考

https://www.bilibili.com/video/BV1Y7411K7zz?p=122

https://blog.csdn.net/qq_29656961/article/details/78127083

https://zhuanlan.zhihu.com/p/359127621


Servlet学习
https://k1nm0.com/2021/05/03/Servlet学习/
作者
K1nm0
发布于
2021年5月3日
许可协议