Java技术分享:如何编写servlet程序
身为计算机专业的我,从接触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.将信息响应给客户端
1.4 servlet的三种创建方式
1.实现javax.servlet.Servlet接口(第一个小案例)
2.继承javax.servet.GenericServlet类(适配器模式)
3.继承javax.servlet.http.HttpServlet类(开发中常用方式)
在实际开发中常用第三种继承HttpServlet,页面访问时默认get提交方式。
以上是对servlet的简单理解,如果感觉不是很详细,在这个互联网时代,网上资源很多,都可以利用。
Java技术分享:如何编写servlet程序的更多相关文章
- Java如何编写Servlet程序
一:Servlet Servlet是Java服务器端编程,不同于一般的Java应用程序,Servlet程序是运行在服务器上的,服务器有很多种,Tomcat只是其中一种. 例子: 在Eclipse中新建 ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- java编程基础篇---------> 编写一个程序,从键盘输入三个整数,求三个整数中的最小值。
编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp 与各数值比较. package Exam01; import java.util.Scanner; public ...
- JAVA技术分享:消失的线程
很多小伙伴都问过我一个问题,就是任务线程跑着跑着消失了,而且没有任何异常日志.我都是条件反射式的回复,是不是用了线程池的submit提交任务.而且很大几率对方给予肯定答复. 解决方案,很多人都听过不少 ...
- java 技术分享
http://www.ccblog.cn/99.htm http://www.ccblog.cn/100.htm http://www.ccblog.cn/101.htm http://www.ccb ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...
- 最值得收藏的java技术博客(Java篇)
第一个:java_my_life 作者介绍:找不到原作者信息.大概做了翻阅全部是2012年的博客. 博客主要内容:主要内容是关于Java设计模式的一些讲解和学习笔记,在相信对学习设计模式的同学帮助很大 ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
随机推荐
- Concurrency Is Not Parallelism (Rob pike)
Rob pike发表过一个有名的演讲<Concurrency is not parallelism>(https://blog.golang.org/concurrency-is-not- ...
- Java 字符编码与解码
1.字符编码的发展历程 ①.ASCII 码 因为计算机只认识数字,所以我们在计算机里面的一切数据都是以数字来表示,因为英文字符有限,所以规定使用的字节的最高位是 0,每一个字节都是以 0-127 之间 ...
- 3D轮播切换特效 源码
这个3D轮播切换特效是我2017年2月份写的 当初我 刚接触HTML不久,现在把源码分享给大家 源码的注释超级清楚 . <!-- 声明文档类型:html 作用:符合w3c统一标准规范 每个浏览器 ...
- JS大小写字母转换
var a = "ABCd"; console.log(a.toLowerCase());//转换成小写 console.log(a.toUpperCase());//转换成大写
- HTTP2的新特性
多路复用 二进制分帧 首部压缩(Header Compression) 服务端推送(Server Push) 请求优先级
- JPG .vs. PNG
A summary of comparison between JPEG and PNG JPEG Pros Smaller file size than PNG Widely suppported ...
- MariaDB日志审计 帮你揪出内个干坏事儿的小子
Part1:谁干的? 做DBA的经常会遇到,一些表被误操作了,被truncate.被delete.甚至被drop.引起这方面的原因大多数都是因为人为+权限问题导致的.一些公共账户,例如ceshi账户, ...
- 部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)
上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署. 安装 Pod 网络 要 ...
- SQL Server之LEFT JOIN、RIGHT LOIN、INNER JOIN的区别
很多人刚入门的时候分不清LEFT JOIN.RIGHT LOIN 和 INNER JOIN的区别,对它们的定义比较模糊,今天就简单的介绍一下它们的区别,对于入门的人来说,应该能够帮助你们理解. lef ...
- Effective Java 第三版——19. 如果使用继承则设计,并文档说明,否则不该使用
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...