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 ...
随机推荐
- LODOP打印控件示例
一.lodop打印预览效果图 LODOP.PRINT_SETUP();打印维护效果图 LODOP.PREVIEW();打印预览图 二.写在前面 最近项目用到了LODOP的套打,主要用到两个地方,一是物 ...
- 海外ubuntu,lamp,ftp,phpmyadmin配置
海外ubuntu,lamp,ftp,phpmyadmin配置 1. 更换源 1.1 clean /etc/apt/sources.list file 1.2 Ubuntu Sources List G ...
- 在ubuntu上安装pyenv出现的问题
1.安装完pyenv时,并没有出现问题.但在安装python3.6.1时报错: ERROR: The Python ssl extension was not compiled. Missing th ...
- C# 判断网站是否能访问或者断链
参考网站:http://www.cnblogs.com/junny/archive/2012/10/30/2745978.html public bool CheckUrlVisit(string u ...
- 树链剖分( 洛谷P3384 )
我们有时候遇到这样一类题目,让我们维护树上路径的某些信息,这个时候发现我们无法用线段树或者树状数组来维护这些信息,那么我们就有着一种新的数据结构,树剖:将一棵树划分成若干条链,用数据结构去维护每条链, ...
- MSSQLSERVER并行度
Microsoft SQL Server最大并行度(MAXDOP) 配置选项控制并行计划用于执行查询的处理器的数目.此选项确定用于执行工作并行查询计划运算符的计算和线程资源.根据是否 SQL Serv ...
- Python爬虫知识点一
一.入门知识: 1.1.HTTP简介HTTP = HyperText Transfer ProtocolURI = Uniform Resource IdentifierURL = Uniform R ...
- windows环境VS2015编译TensorFlow C++程序完全攻略
本文参考和综合了多篇网络博客文章,加以自己的实践,最终终于在windows环境下,编译出可以用于C++程序调用tensorflow API的程序,并执行成功. 考虑到网络上关于这方面的资料还较少,特总 ...
- 警惕phpstudy等开发神器使用默认配置可能带来的危险
0x00 前言 其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里. 而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑 ...
- MySQL的insert ignore与replace into不同
以前从来没有接触过replace into这个语法,但是却看到很多人都在使用这个语法,并且应用在很多生产环境中,于是我也去学习了一下repalce into的用法. 关于replace 一句话:正常情 ...