1 Servlet 简介
1 Servlet是sun公司提供的一门用于开发动态web资源的技术。用户若用Java技术开发一个动态web资源或者网页,需要完成以下2个步骤:
① 编写一个Java类,实现servlet接口
② 把开发好的Java类部署到web服务器中
2 Servlet - Java 小程序
① servlet 就是java程序(java 类)
② servlet 遵循servlet 开发规范
③ servlet是运行在服务器端
④ 功能强大,几乎可以完成网站所有的需求
⑤ 学习jsp的基础

3 Servlet 和 Tomcat 在网络中的位置

4 Servlet 快速入门案例
Servlet 开发有三种方式
① 实现servlet 接口
② 通过继承GenericServlet
③ 通过继承HttpServlet
① 实现servlet 接口
- 建立 web应用 TestWeb
- 在 TestWeb 下建立 WEB-INF/web.xml
- 在 WEB-INF 下建立 classes目录(servlet就要在这开发),建立lib目录
- 实现 Servlet接口来开发 Servelt 编写FirstServlet.java 类然后编译
import javax.servlet.*;
import javax.servlet.http.*; public class FirstServlet implements Servlet
{
//该函数用于初始化Servlet,把Servlet加载到内存,整个Servlet生命周期只会被调用一次
public void init(ServletConfig config) throws ServletException
{ } //获取ServletConfig对象
public ServletConfig getServletConfig()
{
return null;
} //该函数是服务函数,业务逻辑在这个函数实现
public void service(ServletRequest request, ServletResponse response)
{
PrintWriter out = response.getWriter(); out.println("Hello Servlet"+" "+ new java.util.Date());
} //返回Servlet配置信息
public String getServletInfo()
{
return null;
} //destroy()方法只会被调用一次,在 Servlet 生命周期结束时被调用
public void destroy()
{ }
}
根据 Servlet 规范部署 Servlet,打开WEB-INF/web.xml 添加如下代码部署 FirstServlet:
<!--Deploys the servlet to here -->
<servlet>
<!-- 自己定义 -->
<servlet-name>FirstServlet</servlet-name>
<!--FirstServlet所在项目的全路径(非物理路径,而是以项目WEB-INF\classes为根目录开始计算) -->
<servlet-class>FirstServlet</servlet-class>
</servlet> <servlet-mapping>
<!-- 与上面的servlet-name保持一致 -->
<servlet-name>FirstServlet</servlet-name>
<!-- 外部访问的url: 自己定义 -->
<url-pattern>/First</url-pattern>
</servlet-mapping>
重启Tomcat,浏览器访问FirstServlet,输入的地址为:http://localhost:8080/TestWeb/First,最后的First就是web.xml 里配置的,可以随意定义。

③ 继承HttpServlet
通过继承HttpServlet 开发 Servlet,需要重写 doGet,doPost方法。
首先编写一个Login.html 用于访问SecondServlet,Login.html必须放在 \LatinyWeb\WEB-INF下
<html>
<body>
<form action="/TestWeb/Second" method="post">
user:<input type="text" name="username"/>
<input type="submit" value="login"/>
</body>
</html>
然后编写SecondServlet.java 类,并在 web.xml配置外部访问的 url。
public class SecondServlet extends HttpServlet
{
//在HttpServlet中,设计者对post与get提交分别处理
//doGet()与doPost()调用Servlet的service方法
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
res.getWriter().println("This is doGet method!");
} protected void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException
{
res.getWriter().println("This is doPost method!");
res.getWriter().println(req.getParameter("username")+" visits.");
}
}
浏览器访问


5 Servlet生命周期

Servlet生命周期简述
① 当Servlet第一次被调用时,首先会触发init 函数,该函数会把servlet实例加载到内存,它在整个生命周期只会被调用一次。
② 然后Servlet 的 service函数会被调用,后台业务逻辑都在此实现
③ 第二次及以后调用Servlet,都是直接调用service函数。
④ 当web服务器停止或者reload时,tomcat关闭或者关机时,都会调用Servlet的destory函数销毁Servlet对象
Servlet 运行过程
Serlvet程序是由web服务器调用,web服务器接收到客户端请求后:
① Web服务器首先检查 Serlvet是否创建并且装载到内存,如果是则到第2步,如果未创建装载Serlvet 实例,则创建Servlet实例对象并且调用init函数装载该Servlet实例对象到内存中。
② 创建一个用于封装http请求消息的 HttpServletRequest 对象和一个代表http响应消息的 HttpServletResponse 对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
③ Tomcat重启或者关闭时;reload 该webapp时;关闭电脑时;都会调用destroy()方法。
1 Servlet 简介的更多相关文章
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- Servlet简介与Servlet和HttpServlet运行的流程
1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序. > Ser ...
- JavaEE:Servlet简介及ServletConfig、ServletContext
Servlet简介 1.Servlet是sun公司提供的一门用于开发动态web资源的技术*静态web资源:固定数据文件*动态web资源:通过程序动态生成数据文件2.Servlet技术基于Request ...
- Servlet简介及使用
javaweb学习总结(五)——Servlet开发(一) 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口 ...
- servlet简介及生命周期
Servlet 简介 Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上 ...
- (一)Servlet简介
相关名词解释 HTML:Hyper Text Markup Language,超文本标记语言 HTTP:Hyper Text Transfer Protocol,超文本传输协议 URL:Uniform ...
- 【Servlet】(1)Servlet简介、Servlet底层原理、Servlet实现方式、Servlet生命周期
一.Servlet简介 1.Servlet定义: Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交 ...
- 1.1(学习笔记)Servlet简介及一个简单的实例
一.Servlet简介 Servlet是使用Java语言编写的服务器端程序,可以生产动态的Web界面. 主要运行在服务器端,Servlet可以方便的处理客户端传来的HTTP请求,并返回一个响应. 二. ...
- Servlet学习笔记【1】--- 背景和基础知识(CGI、Web服务器发展史、Servlet简介、任务、继承结构)
本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是 ...
- 二:Servlet简介
一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是 ...
随机推荐
- Linux 基本操作--文件查看 (day3)
一.查看文件-----cat (详情参考:http://blog.sina.com.cn/s/blog_52f6ead0010127xm.html) 语法结构: cat 查看方式 文件 cat -A ...
- docker学习笔记(二)-dockerfile docker仓库
dckerfile2这样写才对,不然打印的是hello $name 例子 登陆https://hub.docker.com 上面是提交到公共仓库 创建本地私有仓库 开启另外一个虚机,将重新构建上传镜像 ...
- 获取列表的索引操作:enumerate
通过循环获取列表的索引操作: 主要使用:enumerate product_list = [['Iphone7',5800], ['Coffee',30], ['疙瘩汤',10], ['Python ...
- 发现一款比echarts更牛B,效果更炫的图表组件 d3.js
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code d3.js ,能制作更加复杂的图表 https://github.com/d3/d3 ...
- P2370 yyy2015c01的U盘(二分+背包)
思路:先说一下题意吧.就是给你n个文件大小为v,价值为c, 但是硬盘的大小为S, 而且要存的总价值大于等于p.问每次传输k大小的文件.问k的最大值是多少? 我们以k为二分对象. 直接讲检验函数吧. 假 ...
- python 那些我记不清的函数
eval 函数:用来计算在字符串中的有效Python表达式,并返回一个对象......将字符串变回数据类型 enumerate函数:加上序号 isinstance函数:判断数据类型 isinstanc ...
- go标准库的学习-errors
参考https://studygolang.com/pkgdoc 导入方式: import "errors" errors包实现了创建错误值的函数. 1)func New func ...
- (折扣计算)需求说明:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折(判断语句if-else和switch语句的嵌套结
package com.summer.cn; import java.util.Scanner; /** * @author Summer *折扣计算 需求说明:普通顾客购物满100元打9折:会员购物 ...
- P4550 收集邮票-洛谷luogu
传送门 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢 ...
- LeetCode264:Ugly Number II
自己的做法超时了.主要是每次生成一个数据,保存到list中,然后对List重新排序.排序太耗费时间 记录下讨论组里的写法 public int NthUglyNumber(int n) { int[] ...