java监听器详解-java监听usb扫描枪
2、Tomcat服务器解析请求地址url,找到对应的web应用程序
3、找到该web应用程序的web.xml文件
4、继续解析请求资源地址的url,找到对应的应用资源
5、执行service()方法(HTTPServLet是执行doGet()和doPost()中的代码),响应个客户端浏览器。
四、ServLet的三种映射方式 1、具体名称的方式
特点:访问资源路径必须和映射配置完全相同。
servLet01
com.wangyang.ServLet.Serv01
servLet01
/servLet01
2、'/'开头+通配符方式
特点:只要考虑复合目录结构即可,不必考虑结尾形式。
3b5849c23778740051be18fbe0751714
servLet01
com.wangyang.ServLet.Serv01
servLet01
/serv/*
3、通配符+固定格式结尾的方式
特点:只要复合固定结尾格式即可,不必考虑前面。
servLet01
com.wangyang.ServLet.Serv01
servLet01
*.do
五、ServLet的线程安全问题
servLet是线程不安全的,所以,对于类成员的使用需要加同步锁,即将使用类成员的地方加上synchronized关键字抽取为同步代码块即可,或者直接将类成员定义与service方法(doGet方法和doPost方法)中即可。
六、servLet的创建时机 1、第一次访问时创建
优势:减少了对服务器内存的浪费,提高服务器启动的效率。
弊端:如果有些应用需要在应用加载时完成初始化,无法完成。
e77fa3d370e376fdfd0389b216e70871
2、服务器启动时创建
优势:提前创建号对象,提高了首次执行的效率,可以完成一些应用加载时的操作。
弊端:对服务器内存占用比较多,影响服务器启动的效率。
设置方法:在标签中添加num即可,num为一个整数,num为正整数时表示服务器启动时创建java监听器详解,num为负整数或不写时表示第一次使用时创建。
servLet01
com.wangyang.ServLet.Serv01
1
servLet01
/servLet01
七、Tomcat默认的ServLet
默认ServLet是由服务器提供的一个ServLet,它配置在Tomcat的conf目录中的web.xml文件中。
studentServlet
com.pjpowernode.javaweb.servlet.StudentServlet
debug
0
debugs
0
studentServlet
/servlet/student
客户端发送HTTP请求时,首先会在web项目中的web.xml文件中查找映射配置,若查找的到则执行,查找不到则去找默认的ServLet,由默认的ServLet进行处理。
八、ServletConfig 1、ServletConfig简介
介绍:ServLetConfig是ServLet的配置参数对象,在ServLet的规范中,允许每一个ServLet都提供一些初始化的配置,所以,每一个ServLet都有一个自己的ServLetConfig。
作用:在ServLet初始化时,把一些配置信息传递给Servlet。
生命周期:和Servlet的声明周期相同。
2、ServletConfig配置方式
在web.xml文件中的标签中,通过标签来配置java监听器详解,有两个子标签:
(1)
:带表初始化参数的key。
(2)
:带表初始化参数的value.
示例:
servLet01
com.wangyang.ServLet.Serv01
encoding
UTF-8
desc
this is ServLet01
3、ServletConfig的常用方法
4、ServletConfig的使用(在servlet对象中使用)
(1)首先声明ServletConfig对象
(2)通过init()方法,来对ServletConfig对象进行赋值(有服务器自动进行赋值)
(3)在Service()方法(HTTPServlet中为doGet和doPost方法)中调用ServletConfig对象方法进行操作。
package com.wangyang.ServLet;
import javax.servlet.*;
import java.io.IOException;
public class Serv01 implements Servlet {
//1、声明ServletConfig对象
private ServletConfig config ;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
//2、通过init方法对ServletConfig对象进行初始化
this.config=servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//3、通过调用ServletConfig对象的方法进行使用,如:输出其描述信息:
String string = this.config.getInitParameter("desc");
System.out.println(string);
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
操作结果:
九、ServletContext 1、ServletContext简介
介绍:ServletContext是应用上下文对象(应用域对象),每一个应用中只有一个ServletContext对象。
作用:可以配置和获得应用的全局初始化参数,可以实现Servlet之间的数据共享。
生命周期:应用一加载时被创建,应用被停止时销毁。
2、ServletContext的配置方式