初识 JSP---(servlet / ServletConfig接口 / ServletContext接口)

简介: servlet简介Java Servlet是和平台无关的服务器端的组件,它运行在servlet容器中。Servlet容器负责servlet和客户的通信以及调用servlet的方法,servlet和客户的通信采用的是“请求/响应”的模式。

servlet简介

Java Servlet是和平台无关的服务器端的组件,它运行在servlet容器中。Servlet容器负责servlet和客户的通信以及调用servlet的方法,servlet和客户的通信采用的是“请求/响应”的模式。

servlet可完成如下功能:

1.创建并返回客户请求的动态HTML页面

2.创建可嵌入现有HTML页面的部分HTML页面(HTML片段)

3.去其他服务器资源交互(如数据库或基于java的应用程序)进行通信

 

Servlet介绍

–Java Servlet(server applet)

–Java Servlet继承结构

Servlet接口(javax.servlet.Servlet)

GenericServlet(javax.servlet.GenericServlet)

HttpServlet(javax.servlet.http.HttpServlet)

 

创建一个Servlet

–继承HttpServlet

–重写service(doGet、doPost)方法

–在web.xml中配置Servlet

–部署和执行

 

Servlet的API

Servlet接口(javax.servlet)

说明:javax.servlet的基础接口,定义了Servlet必须实现的方法。

GenericServlet类(javax.servlet)

说明:实现Servlet的接口,属于通用的,不依赖与HTTP协议的servlet(实际应用不算多)

HttpServlet类(javax.servlet.http)

说明:继承GenericServlet类,是在其基础上扩展了HTTP协议的servlet

 

Servlet生命周期

1.加载和实例化:(构造方法)只有第一次请求servlet时。创建servlet的实例

2.初始化:(init方法)只被调用一次,在创建好实例后立即调用初始化方法

3.服务的方法:每次请求都会调用service的方法,实际用于响应请求的

4.销毁方法:只调用一次,在当service所在的web应用项目被卸载前调用,用于释放资源

 

在什么时候创建,加载,初始化?

<load-on-startup>0</load-on-startup>

大于0时,tomcat启动时就被加载了,小于0时,访问时才被加载,默认的是小于0

 

Servlet容器响应客户请求的过程

第一步:servlet引擎检查是否已经装载并创建了该servlet的实例对象,如果是则直接执行第四步,否则执行第二步

第二步:装载并创建servlet的实例对象,调用该servlet的构造器

第三步:调用servlet实例对象的init的方法

第四步:创建一个用于封装请求ServletRequest对象和一个代表响应的消息的ServletResponse对象,然后调用Servlet的service方法并请求和响应对象作为参数传递进去

第五步:web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destory的方法

 

ServletConfig接口的方法:

getInitParameter()方法:通过名字获取值

getInitParameterNames()方法:获取所有的名字,返回的是枚举类型,可以迭代

例:

结果:

getServletName方法:获取servlet的名称

例:

结果:

getServletContext方法:获取ServletContext的接口的初始化参数

ServletContext对象:

Servlet引擎为每个web应用程序都创建了一个对应的ServletContext对象,ServletContext对象包含在ServletConfig对象中,调用ServletConfig.getServletContext方法可以返回ServletContext对象引用。

由于一个web应用程序中的所有的Servlet都共享一个ServletContext对象,所以ServletContext对象都被称之为Application对象(web应用对象)

 

ServletContext接口的功能:

1.获取web应用程序的上下文参数

(1)配置web.xml,不需要配置在<servlet></servlet>标签中,使用<context-param></context-param>标签

例:

(2)通过ServletConfig对象获取ServletContext对象

例:

(3)通过servletContext按照名字获取值(servletContext.getInitParameter)

例:

结果:

(4)通过servletContext获取所有的名字(servletContext.getInitParameterNames)

例:

结果:

2.记录日志

3.Application域范围的属性(application作用域)

4.访问资源文件

获取当前web应用的某一个文件对应的输入流

结果:

5.获取虚拟路径所映射的本地路径

方法:servletContext.getRealPath("/Test");

例子:

结果:

6.web应用程序对象之间的访问

7.ServletContext的其他方法

获得当前名称:servletContext.getContextPath();-

例子:

结果:

 

目录
相关文章
|
2月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
83 0
|
2月前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
38 0
|
4月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
4月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
42 3
|
4月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
43 1
|
4月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
4月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
82 0
|
4月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
31 0
|
6月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
133 10
|
6月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
73 7