✅作者简介:热爱后端语言的大学生,CSDN内容合伙人
✨精品专栏:C++面向对象
系列专栏:JavaWeb
前言
读者朋友大家好,今天开始分享总结有关Servlet 的知识,今天的内容是初识Servlet,书写开发步骤、配置Tomcat、以及在网页上显示当前系统时间等。让我们来认识Servlet 的本质,享受沉浸式学习的成就吧!
因为单纯的HTML
是一个静态页面,在实际开发中会面临很多的非静态资源的显示场景,此时HTML+CSS将无法完成此类需求,因此需要结合起来能够进行逻辑判断的java
代码。
Servlet 就是一个可以生成动态页面的技术
Servlet 项目对应的是
javaweb
项目
跟着下面的步骤来创建javaweb项目并正确导入Servlet
包:
Web
并选中Create web.xml
,点击OKWEB-INF
里创建lib
目录,用来存放一些必要的jar
包:servlet-api.jar
(在Tomcat
的lib目录)开发步骤:
HttpServlet
类html
页面Servlet
接口,但是该接口中只有service
方法需要我们维护,但是还有其他四种方法我们是用不上的,因此直接实现该接口是不合理的。GenericService
类帮我们实现了Servlet 接口,重写了另外四个不需要我们维护的方法,只保留一个service方法需要重写。但是考虑到该方法与浏览器协议无太大关系,因此也不能继承该抽象父类。service方法
即可
Date date=new Date();
html
代码后将其解释执行从而可以搭建页面,因此我们要使用java来把这些代码送到浏览器外部,那么我们使用什么呢?我们选择输出流:
String html = "当前系统时间为:" + date + "";
PrintWriter pw = resp.getWriter();
pw.println(html)
将代码送到浏览器外部,交给浏览器解释执行resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html");
pw.flush();
pw.close()
,这是因为关闭由Tomcat服务器控制,请接着往下看。请看下图:
- 一定要在
web-app
标签内配置访问路径,且一定要有servlet
和servlet-mapping
标签。- servlet标签:
- name标签一般写该类的名称,当然也可以随便写
- class标签用来存放权限定名(一般是从包名到类名)
- servlet-mapping标签:
- name标签必须和servlet标签里的name一致
- url-pattern标签里存放对外访问的路径,必须先以
/
开头
可以使用@WebServlet
注解直接在类中配置该类的访问路径
例如:@WebServlet("/time")
ps:可与web.xml中配置的访问路径同时存在,但是路径不能完全一致(谨记)
按照图示顺序:
ps:将下方光标选中的部分删掉即可,这样是为了方便写访问路径
运行效果:
乱码解决步骤:
那么一个简单又充实的第一个Servlet程序就完成了,从零到一在网页上显示系统时间虽然简单,但也很有趣不是吗?码文不易,还请大家多多点赞支持~