什么是Servlet(动力节点servlet教程带你快速实战入门)

sun公司制定的一种用来扩展web服务器功能的组件规范(服务器端的Java应用程序)。具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其它HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层
1、用来扩展web服务器功能(生成动态的Web页面) 以前的CGI效率不高,用servlet来扩展替换CGI
客户端发送请求给web服务器,web服务器启动并调用servlet。servlet容器负责解析数据包,也包括网络通讯相关的一些处理。然后将解析之后的数据交给servlet来处理。
注意:可以不使用服务器,而直接向servlet容器发送请求。因为servlet容器也有通信模块,所以可以直接把servlet容器当做web服务器来使用。
2、组件规范 (1) 组件:是符合一定规范,并且实现部分功能的可以单独部署的软件模块。组件必须部署到容器中才能运行。
(2) 容器:也是符合一定规范,并且提供组件的运行环境的程序。
注意:单个的组件,单个的容器都没有意义。只有放在一起才能运行
Tomcat就是一个servlet容器也是一个web服务器
3、servlet容器是怎么运行的: 浏览器箱web服务器发送请求web服务器接收数据发送servlet容器然后实例化servlet调用init方法初始化然后调用service方法利用doget或者dopost处理
servlet将处理的结构返回给web服务器然后发送给客户端
servlet的优点只创建一个实例只初始化一次但是可以被调用多次。不同GCI创建多个实例,servlet存在线程安全问题。servlet效率比较高
什么是Servlet(动力节点servlet教程带你快速实战入门)
文章图片

servlet的创建
public class servletest extends HttpServlet { private static final long serialVersionUID = 1L; public servletest() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println("A Servlet"); out.println(""); out.print("This is "); out.print(this.getClass()); out.println(", using the GET method"); out.println(""); out.println(""); out.flush(); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println("A Servlet"); out.println(""); out.print("This is "); out.print(this.getClass()); out.println(", using the POST method"); out.println(""); out.println(""); out.flush(); out.close(); } }

web.xml的配置
hello zz.servletesthello /test/hello

启动Tomcat 输入 : localhost8080/zzservlet/test/hello
注意:
web.xml中servlet是servlet实例的一个线程 可以有多个servlet标签每个servlet代表一个请求处理
servletname是这个servlet的名称 可以为任意值但必须和servlet-mapping中的对应
servlet-class 是对应的Java类,即根目录下的Java目录 即不需要工程名 工程名是根目录,class是文件名称即package后的名称
url-pattern 是访问的路径 输入的访问地址为 网址+端口号+工程名+访问的路径
servlet与jsp的区别 即servlet 需要一个一个的out.print 而jsp 不需要一句一句地输出 其他的没有区别
Servlet如何快速入门? 动力节点的servlet教程,可以说是servlet开发讲得最详细的了,servlet是所有Javaweb开发的基础,通过servlet的学习,我们可以观察到最初级的浏览器和服务器之间交互的全过程,视频中会针对servlet开发的所有相关知识点,如对于get和post的处理,响应方式,转发和重定向,上下文等相关技术做最深入的讲解。
最后会搭配一个登陆操作及显示学生信息列表的综合案例,对servlet开发做一个最完整的总结。
Servlet在线观看:
https://www.bilibili.com/vide...
Servlet学习资料下载:
【什么是Servlet(动力节点servlet教程带你快速实战入门)】http://www.bjpowernode.com/?s...

    推荐阅读