Servlet:运行在服务器端的小程序

Servlet是一个接口,定义了Java类被浏览器访问到(tomcat识别的规则)

将来定义一个类,实现Servlet接口,复写方法


快速入门:

1、创建JavaEE项目

选的时候改为Web项目应用程序

2、定义一个类,实现Servlet接口

3、实现接口中的抽象方法

4、配置Servlet

在web.xml配置

   <servlet><servlet-name>demo1</servlet-name><servlet-class>com.example.demo1.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name>demo1</servlet-name><url-pattern>demo1</url-pattern></servlet-mapping>

Servlet3.0:支持注解配置,可以不需要web.xml。在类上使用

省略形式

@WebServlet("资源路径")


Servlet原理 :

当服务器接受到客户端浏览器的请求后,会解析请求UR路径,获取访问的Servlet资源路径。查找web.xml文件,是否有对应的<url-pattren>标签体内容。如果有,则在找到对应的<servlet-calss>全类名。Tomcat会将字节码文件加载进内存,并且创建其对象。调用其service方法


Servlet的生命周期:

init:初始化方法,在Servlet被创建时执行一次

*默认情况下,Servlet第一次被访问时 ,Servlet被创建<load-on-startup>值为负数

*在服务器启动时,创建:<load-on-startup>值为正数

*Servlet在内存中只存在一个对象,servlet是单例的。多个用户访问时,可能存在线程安全问题

解决:尽量不定义成员变量,即使定义成员变量,也不要对其修改值。

可以配置执行Servlet创建时机

service:提供服务方法,每一次Servlet被访问时执行,执行多次

destory:在服务器正常关闭时执行

在Servlet销毁之前执行,一般用于释放资源。


*IDEA会为每一个tomcat部署的项目单独建立一份配置文件。

Using CATALINA_BASE:

*工作空间项目 和 tomcat部署的web项目(tomcat真正访问,对应工作空间项目web目录下的所有资源) 存储的位置不一样

*web-inf中的内容不能被浏览器不能直接访问,静态资源不要放在WEB-INF目录下

*tomcat调试:打端点,debug


Servlet体系结构:

Servlet----接口

实现类:

GennericServlet (不用):将Servlet接口中的其他方法做了默认空实现,只将service方法作为抽象

*定义Servlet类时,可以直接继承GennericServlet实现service(),其他方法根据需要覆盖重写

HTTPServlet(用):

对HTTP协议的一种封装,简化操作

判断请求方式:req.getMethod()   get/post

String method=req.getMethod();
if("GET".equals(method))
else if("POST".equals(method)){}

在HTTPServlet可以直接使用doGet,doPost

定义类继承HTTPServlet,重写doGet,doPost方法。

通过浏览器直接调用/demo2执行doGet方法,通过表单提交执行doPost方法


Servlet相关配置:

String[] urlpartterns:访问路径

可以为一个资源设置多个路径

 路径定义规则:

/xxx   ,  /xxx/xxx  ,*.do(通配符)(优先级最低)

【Servlet笔记】Servlet入门相关推荐

  1. Servlet学习笔记 Servlet原理

    Servlet学习笔记 Servlet原理 一.Servlet基础 1.Servlet执行过程 用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的servi ...

  2. Servlet笔记四(JSP技术)

    本栏博客目录 Serlvet笔记一(Servlet基础) Servlet笔记二(请求和响应) Servlet笔记三(会话及其会话技术) Servlet笔记四(JSP技术) Servlet笔记五(EL表 ...

  3. Servlet笔记十(文件上传和下载)

    本栏博客目录 Serlvet笔记一(Servlet基础) Servlet笔记二(请求和响应) Servlet笔记三(会话及其会话技术) Servlet笔记四(JSP技术) Servlet笔记五(EL表 ...

  4. 什么是servlet?servlet的作用?——计算机网络系列学习笔记

    1. servlet的概念 简单来说servlet是运行在服务器上的java程序 servlet由servlet容器管理,servlet容器也叫 servlet引擎,是servlet的运行环境,给发送 ...

  5. maven servlet配置_Servlet入门

    Servlet Servlet简介 Servlet是sun公司开发动态web的一门技术 Sun在这些API中提供的一个接口叫: Servlet, 如果你想开发一个Servlet程序, 只需要完成两个小 ...

  6. java Servlet 笔记

    Technorati 标签:  java, servlet 一.什么是Servlet servlet 是位于 web 服务器内部的服务器端的java应用程序,与传统的从命令行启动java 应用程序不同 ...

  7. Javaweb学习笔记 servlet篇

    servlet a)什么是servlet b)手动实现servlet程序 常见的错误: c)url地址到servlet程序的访问 d)servlet的生命周期 e)get和post的分发处理 f)通过 ...

  8. servlet 理解 --servlet笔记

    http  80 smtp 25 pop3 110 ftp  23 https 443 Host里面 <Context path="/itcast" docBase=&quo ...

  9. JAVA实习笔记——Servlet

    初学者servlet,最大疑问无非是:它是什么?它由什么组成?它的生命周期?它能干什么?它怎么实现 ? servlet 还有很多地方需要学习,我暂时只写了这些,有很不完善的地方,仅代表个人意见,欢迎批 ...

  10. Servlet学习笔记-Servlet工作原理和过程

    1.前言   Java Servlet技术简称Servlet技术,是Java开发Web应用的底层技术.由Sun公司于1996年发布,用来代替CGI--当时生成Web动态内容的主流技术.官方文档对Ser ...

最新文章

  1. 基础理论研究是人工智能持续发展的保证
  2. 你是否真的了解全局解析锁(GIL)
  3. codeforces 465 C. No to Palindromes!(暴力+思维)
  4. 蔡司三坐标_蔡司三坐标测针的安装指南
  5. PHP 从结果集中取得一行作为关联数组:
  6. Ubuntu 安装 Vue.js
  7. springboot怎么杀进程_线上服务平均响应时间太长,怎么排查?
  8. javascript 西瓜一期 09 字符与编码的对应关系 理解
  9. 省选专练 [SHOI2001]小狗散步
  10. presto cube等复杂聚合函数
  11. 【10.8】每日NLP学术论文推荐
  12. 站库网案例 B宝塔面板怎么建手机版子目录
  13. 贝叶斯网络分析kaggle泰坦尼克号数据
  14. 0001-【linux系统】-用于生物信息分析该如何安装ubuntu系统?
  15. 【UEFI实战】HII之uni文件
  16. 基于学习的方法决定在哪些分支节点上运行heuristic算法
  17. 武汉星起航跨境电商——亚马逊日本站JCT政策将实现改革
  18. git 工作区、暂存区、版本库(本地)、远程版本库区别
  19. 20191123_python朴素贝叶斯算法实现
  20. 谷歌浏览器webGL实验

热门文章

  1. JSK-58 合法回文【字符串】
  2. CCF NOI1052 Self-Numbers
  3. scala 偏函数与 map/collect
  4. 正则表达式 —— 一种模式描述语言(贪婪匹配与惰性匹配)
  5. 物质之学 —— 等离子(物质的第四态)
  6. windows 常用快捷键与重要文件的路径
  7. 强悍的 Linux —— 系统文件及其作用
  8. 机器学习基础(二十二)—— decision tree
  9. python入门教程(非常详细)-Python入门教程:超详细1小时学会Python
  10. python骗局-老码农冒死揭开真相:quot;别吹了,Python无用!”