身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程。

  大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易,对键盘都不熟悉的我敲起代码来更是那么的不容易,不过好在坚持住了,其实主要是除了敲代码不会其他的了,不像其他女孩纸多才多艺,本人乃是无聊宅女一枚。

  幸亏在大学期间很幸运的去北京实训过一个月,以至于对开发有了进一步认识,这也就决定了我以后的人生方向。没有方向可以给自己创造方向,想的再多不如行动起来。

废话不多说了,接下来谈一谈对servlet的理解。

  servlet是运行在 Web服务器中的小型 Java程序(即:服务器端的小应用程序),servlet通常通过 HTTP(超文本传输协议)接收和响应来自 Web客户端的请求。

单单看文字可能很难理解servlet的作用。首先写个小案例:

  1.1、编写一个servlet程序:

  a、写一个java类,实现servlet接口

  b、修改web.xml文件,给servlet提供一个可访问的URI地址

  c、部署应用到tomcat服务器

  d、测试:http://locahost:8080/demo1_servlet/demo1

  通过上面的小案例能够看到页面打印出“hello ServletDemo1”就成功了。

  写完这个小案例,可能还是不清楚它的执行过程,下面通过文字来解释一下。

  1.2 servlet的生命周期

  实例化(构造方法)-->初始化(init)-->服务(service)->销毁(destroy)

  出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)

  活着:(服务)应用活着,servlet就活着

  死亡:(销毁)应用卸载了servlet就销毁。

  1.3 servlet的执行流程

  1.通过浏览器的URL地址访问http://locahost:8080/demo1_servlet/demo1

  2.在tomcat服务器中找到名为demo1_servlet的应用

  3.通过/demo1找到应用中web.xml文件

  4.通过解析web.xml中servlet映射提供的url-pattern找到相对应的/demo1

  5.然后通过servlet映射中的servlet-name找到servlet标签中的servlet-name,从而找到ServletDemo1类,并进行实例化

  6.调用ServletDemo1类中init方法

  7.调用ServletDemo1类中service方法

  8.将信息响应给客户端

  9.调用ServletDemo1类中的destroy方法

  1.4 servlet的三种创建方式

  1.实现javax.servlet.Servlet接口(第一个小案例)

  2.继承javax.servet.GenericServlet类(适配器模式)

  3.继承javax.servlet.http.HttpServlet类(开发中常用方式)

  在实际开发中常用第三种继承HttpServlet,页面访问时默认get提交方式。

  以上是对servlet的简单理解,如果感觉不是很详细,在这个互联网时代,网上资源很多,都可以利用。

Java技术分享:如何编写servlet程序的更多相关文章

  1. Java如何编写Servlet程序

    一:Servlet Servlet是Java服务器端编程,不同于一般的Java应用程序,Servlet程序是运行在服务器上的,服务器有很多种,Tomcat只是其中一种. 例子: 在Eclipse中新建 ...

  2. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

  3. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  4. java编程基础篇---------> 编写一个程序,从键盘输入三个整数,求三个整数中的最小值。

    编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp   与各数值比较. package Exam01; import java.util.Scanner; public ...

  5. JAVA技术分享:消失的线程

    很多小伙伴都问过我一个问题,就是任务线程跑着跑着消失了,而且没有任何异常日志.我都是条件反射式的回复,是不是用了线程池的submit提交任务.而且很大几率对方给予肯定答复. 解决方案,很多人都听过不少 ...

  6. java 技术分享

    http://www.ccblog.cn/99.htm http://www.ccblog.cn/100.htm http://www.ccblog.cn/101.htm http://www.ccb ...

  7. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...

  8. 最值得收藏的java技术博客(Java篇)

    第一个:java_my_life 作者介绍:找不到原作者信息.大概做了翻阅全部是2012年的博客. 博客主要内容:主要内容是关于Java设计模式的一些讲解和学习笔记,在相信对学习设计模式的同学帮助很大 ...

  9. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

随机推荐

  1. LODOP打印控件示例

    一.lodop打印预览效果图 LODOP.PRINT_SETUP();打印维护效果图 LODOP.PREVIEW();打印预览图 二.写在前面 最近项目用到了LODOP的套打,主要用到两个地方,一是物 ...

  2. 海外ubuntu,lamp,ftp,phpmyadmin配置

    海外ubuntu,lamp,ftp,phpmyadmin配置 1. 更换源 1.1 clean /etc/apt/sources.list file 1.2 Ubuntu Sources List G ...

  3. 在ubuntu上安装pyenv出现的问题

    1.安装完pyenv时,并没有出现问题.但在安装python3.6.1时报错: ERROR: The Python ssl extension was not compiled. Missing th ...

  4. C# 判断网站是否能访问或者断链

    参考网站:http://www.cnblogs.com/junny/archive/2012/10/30/2745978.html public bool CheckUrlVisit(string u ...

  5. 树链剖分( 洛谷P3384 )

    我们有时候遇到这样一类题目,让我们维护树上路径的某些信息,这个时候发现我们无法用线段树或者树状数组来维护这些信息,那么我们就有着一种新的数据结构,树剖:将一棵树划分成若干条链,用数据结构去维护每条链, ...

  6. MSSQLSERVER并行度

    Microsoft SQL Server最大并行度(MAXDOP) 配置选项控制并行计划用于执行查询的处理器的数目.此选项确定用于执行工作并行查询计划运算符的计算和线程资源.根据是否 SQL Serv ...

  7. Python爬虫知识点一

    一.入门知识: 1.1.HTTP简介HTTP = HyperText Transfer ProtocolURI = Uniform Resource IdentifierURL = Uniform R ...

  8. windows环境VS2015编译TensorFlow C++程序完全攻略

    本文参考和综合了多篇网络博客文章,加以自己的实践,最终终于在windows环境下,编译出可以用于C++程序调用tensorflow API的程序,并执行成功. 考虑到网络上关于这方面的资料还较少,特总 ...

  9. 警惕phpstudy等开发神器使用默认配置可能带来的危险

    0x00 前言 其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里. 而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑 ...

  10. MySQL的insert ignore与replace into不同

    以前从来没有接触过replace into这个语法,但是却看到很多人都在使用这个语法,并且应用在很多生产环境中,于是我也去学习了一下repalce into的用法. 关于replace 一句话:正常情 ...