[第三章]Servlet

简介

服务器中的小程序
用 Java 编写的服务器端程序,实现了这个Servlet接口的类

与CGI的区别

  • CGI基于进程的
  • Servlet基于线程的

功能

优点

API

生命周期

加载、初始化、接受请求、提供服务、Servlet容器销毁
  • 初始化阶段:加载类文件、创建类实例、调用init()方法
  • 响应客户请求:生成请求、响应对象
  • 终止阶段:调用dstroy方法,终止Web应用、销毁Servlet容器

加载的3种情形

  • web.xml中配置<load-on-startup>属性
  • dbug的时候更新实时编译,创建对象、显示

Web服务器的两种启动模式

  • dbug实时监视,编译运行,创建对象
  • 运行不实时监视

Tomcat设置Web的启动模式

  • %Tomcat%conf/server.xml文件中
  • <Context>节点的reloadable属性

创建Servlet

Java Web目录结构

结构

notion image
  • 在Webcontent中创建文件夹,里面存放要在网站上运行的html文件
  • 在SRC中创建的是运行在Tomcat服务器中的操作命令和功能

Servlet编写

  • 调包

使用注解配置Servlet

@WebServlet("/hello") “”中间是路径
notion image
  • 自己写的用注解

配置网络. xml 部署描述符

  • 别人给的没法用注解,就配置xml文件
  • 部署描述符是一个名为web.xml. 它驻留在应用程序的 WAR 目录下WEB-INF/(只保留根元素,就像下面这样)
    • 在/Tomcat/webapp/WEB-INF中有大量实例文件,其中开头的内容是固定的,如下

关于部署描述符

Web 应用程序的部署描述符描述了应用程序的类、资源和配置,以及 Web 服务器如何使用它们来服务 Web 请求。当 Web 服务器收到应用程序的请求时,它使用部署描述符将请求的 URL 映射到应该处理该请求的代码。
。该文件是一个 XML 文件,其根元素是 <web-app>.
下面是一个简单的web.xml示例,它将所有 URL 路径 ( /*) 映射到 servlet 类 = mysite.server.ComingSoonServlet
💡
1.简单名称(Simple Name) 没有类型和参数修饰的方法或字段名称 例如inc方法和字段name
2.全限定名(Fully Qualified Name) 一个类的全限定名是将类全名的.全部替换为/ 例如com/itheima/dao/IUserDao.xml
3.描述符(Descriptor) A descriptor is a string representing the type of a field or method.
4.签名(Signatures) Java代码层面的方法特征签名:方法名称 + 参数顺序 + 参数类型 字节码层面的方法特征签名: + 返回值 + 受查异常表

Servlet常用功能

作用域与存取数据

4个作用域

  • 页面作用域
  • 请求作用域
    • request.setAttribute(”user”,user);
    • User u = (User)
  • 会话作用域
  • 应用作用
  • green

请求转发和重定向

请求转发

不会丢失请求数据
RequestDispatcher rd=request.getRequestDispatcher("目标地址"); rd.forward(request, response);

重定向

会丢失请求数据
response.sendRedirect("目标地址");

获取初始化参数

 

配置Servlet加载顺序

收获

  • 在地址栏中输入URL获取的网页会返回GET方法
  • 如果服务器没有GET方法就返回405无方法
  • form表单通过doPost提交
  • 超链接通过doGest提交
  • 在Webcontent中创建文件夹,里面存放要在网站上运行的html文件
  • 在SRC中创建的是运行在Tomcat服务器中的操作命令和功能,

课后题


  1. 写一个HttpServlet 类名MyServlet,doGe和doPost输出这是一个Servlet输出
    1. 分别使用xml、注解配置 路径OutServlet
  1. 写出一个html文件,里面有
    1. 超链接
    2. form表单(用post提交)
    3. 写出一个RegisterServlet的doPost方法,请测试程序超链接和form表单是否提交成功
    4. (两个文件,一个html,一个Register)
notion image
Prev
[第二章]JDBC
Next
[第四章]JSP
Loading...
Article List
一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++