Servlet简介

什么是Servlet

其实就是一个类,主要负责处理用户的请求和做到数据的相应以及页面的跳转,基于Java技术的Web组件

Servlet API

Servlet接口

Servlet与JSP的关系

JSP首先转换为.java文件,被JVM编译成一个.class,其实上他俩就是一个东西

JSP负责进行页面数据的渲染

Servlet处理请求和相应

Servlet的创建配置启动
1.实现Servlet接口
init():初始化Servlet
默认Servlet的初始化在首次访问到Servlet时进行初始化操作,可以通过<load-on-stratup>控制初始化顺序,如果这个节点为负数或者不配置则是默认的初始化顺序
如果这个节点的值正数,则根据数的大小进行初始化操作,也就是说在服务启动的时候会初始化Servlet,并且值越小初始化操作越先执行
getServletConfig()获取Servlet配置信息
service()负责处理用户的请求和相应
当每一次请求到Servlet时会执行service()方法
getServletInfo()获取Servlet信息
destroy()销毁
当项目服务停止时会将Servlet容器中装载的所有Servlet释放掉
访问Servlet:
1.配置Web.xml
<!-- 同一个Servlet在Web.xml当中有两项配置 -->
<servlet>
<!--Servlet名称-->
<servlet-name>DemoServlet</servlet-name>
<!--对应Servlet的路径(全路径)-->
<servlet-class>com.demo.servlet.DemoServlet</servlet-class>
<!--设置Servlet初始化时机-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<!--映射的名字-->
<servlet-name>DemoServlet</servlet-name>
<!--暴露给用户的访问地址,并且可以多个-->
<url-pattern>/DemoServlet</url-pattern>
</servlet-mapping>
2.注解
//我们通过Servlet模板生成的注解默认是只有一个访问地址,如果说要加上其他配置信息,需要以键值对方式体现出来
@WebServlet("/DemoServlet")
@WebServlet(loadOnStartup=1,urlPatterns= {"/DemoServlet","/yyy"})
3.注意问题:
web.xml和注解方式可以同时存在,但是name和url必须是不相同的,否则会报错
Servlet和JSP都是单例的,但是现在如果两种方式同时存在,那么创建了两个

2.方式二:继承GenericServlet类
service()负责处理用户的请求和相应
在GenericServlet类中已经对Servlet接口中的4个方法进行了重写,所以子类不需要再次重写其余4个方法
3.方式三:继承HttpServlet
主要关注两个方法:
doGet(HttpServletRequest request, HttpServletResponse response);
doPost(HttpServletRequest request, HttpServletResponse response);

最新文章

  1. js 数组删去重复的加上没有的元素
  2. Xcode下的批量编辑
  3. Unity协程截图,WWWForm、WWW配合上传
  4. MEF入门之不求甚解,但力求简单能讲明白(二)
  5. 一维条码打印的C#实现(Code128)
  6. QQ拼音还是不行哇
  7. 获取网页上数据(图片、文字、视频)-b
  8. 浅谈JavaWEB入门必备知识之Servlet入门案例详解
  9. leetcode算法: Find Largest Value in Each Tree Row
  10. PAT1127:ZigZagging on a Tree
  11. 《JavaScript设计模式与开发实践》笔记第八章 发布-订阅模式
  12. Nuxt.js调用asyncData
  13. CentOS7安装GitLab服务
  14. Windows Socket 编程_单个服务器对多个客户端简单通讯
  15. 将Python脚本打包成可执行文件——转载
  16. Mybatis关联查询之一对多和多对一XML配置详解
  17. Windows下mysql重设密码
  18. 转:桩模块 stub 和驱动模块 driver
  19. 解决 Comparison method violates its general contract!
  20. VGGNet网络结构

热门文章

  1. 题解 Luogu P1099 【树网的核】
  2. Git学习记录(一)
  3. MySql五大引擎的区别以及优劣之分
  4. ABP 基于DDD的.NET开发框架 学习(一)
  5. eclipse 部署Tomcat 只有web-inf webapps没有项目文件
  6. Hadoop Local(本地)模式搭建
  7. vue导出Excel文件
  8. ECMAScript5面向对象技术(2)--函数
  9. TR-TR模块资料汇总
  10. idea 实用插件