网站到期续费吗,网站首页缩略图 seo,定制型网站建设服务,手机网站建设推广1.ServletConfig类
1什么是ServletConfig#xff1f; ServletConfig 类从类名上来看#xff0c;就知道是 Servlet 程序的配置信息类 。 Servlet 程序默认是第一次访问的时候创建#xff0c; ServletConfig 是每个 Servlet 程序创建时#xff0c;就创建一个对应的 S…1.ServletConfig类
1什么是ServletConfig ServletConfig 类从类名上来看就知道是 Servlet 程序的配置信息类 。 Servlet 程序默认是第一次访问的时候创建 ServletConfig 是每个 Servlet 程序创建时就创建一个对应的 ServletConfig 对 象。 2.ServletConfig类的三大作用 1 、可以获取 Servlet 程序的别名 servlet-name 的值 2 、获取初始化参数 init-param 3 、获取 ServletContext 对象 web.xml 中的配置 !-- servlet 标签给 Tomcat 配置 Servlet 程序 --
servlet
!--servlet-name 标签 Servlet 程序起一个别名一般是类名 --servlet-nameHelloServlet/servlet-name
!--servlet-class 是 Servlet 程序的全类名--servlet-classcom.atguigu.servlet.HelloServlet/servlet-class
!--init-param 是初始化参数--
init-param
!--是参数名--param-nameusername/param-name
!--是参数值--param-valueroot/param-value
/init-param
!--init-param 是初始化参数--
init-param
!--是参数名--param-nameurl/param-name
!--是参数值--param-valuejdbc:mysql://localhost:3306/test/param-value
/init-param
/servlet
!--servlet-mapping 标签给 servlet 程序配置访问地址--
servlet-mapping
!--servlet-name 标签的作用是告诉服务器我当前配置的地址给哪个 Servlet 程序使用--servlet-nameHelloServlet/servlet-name
!--
url-pattern 标签配置访问地址 br/
/ 斜杠在服务器解析的时候表示地址为http://ip:port/工程路径 br/
/hello 表示地址为http://ip:port/工程路径/hello br/
--url-pattern/hello/url-pattern
/servlet-mapping servlet中的代码 Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println(2 init 初始化方法);
// 1、可以获取 Servlet 程序的别名 servlet-name 的值System.out.println(HelloServlet 程序的别名是: servletConfig.getServletName());
// 2、获取初始化参数 init-paramSystem.out.println(初始化参数 username 的值是; servletConfig.getInitParameter(username));System.out.println(初始化参数 url 的值是; servletConfig.getInitParameter(url));
// 3、获取 ServletContext 对象System.out.println(servletConfig.getServletContext());
} 2.ServletContext类 1.什么是ServletContext 1 、 ServletContext 是一个接口它表示 Servlet 上下文对象 2 、一个 web 工程只有一个 ServletContext 对象实例。 3 、 ServletContext 对象是一个域对象。 4 、 ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。 什么是域对象? 域对象是可以像 Map 一样存取数据的对象叫域对象。 这里的域指的是存取数据的操作范围整个 web 工程。 存数据 取数据 删除数据 Map put() get() remove() 域对象 setAttribute() getAttribute() removeAttribute(); 2.ServletContext类的四个作用 1 、获取 web.xml 中配置的上下文参数 context-param 2 、获取当前的工程路径格式 : / 工程路径 3 、获取工程部署后在服务器硬盘上的绝对路径 4 、像 Map 一样存取数据 ServletContext演示代码 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// 1、获取 web.xml 中配置的上下文参数 context-paramServletContext context getServletConfig().getServletContext();String username context.getInitParameter(username);System.out.println(context-param 参数 username 的值是: username);System.out.println(context-param 参数 password 的值是: context.getInitParameter(password));
// 2、获取当前的工程路径格式: /工程路径System.out.println( 当前工程路径: context.getContextPath() );
// 3、获取工程部署后在服务器硬盘上的绝对路径
/**
* / 斜杠被服务器解析地址为:http://ip:port/工程名/ 映射到 IDEA 代码的 web 目录br/
*/System.out.println(工程部署的路径是: context.getRealPath(/));System.out.println(工程下 css 目录的绝对路径是: context.getRealPath(/css));System.out.println(工程下 imgs 目录 1.jpg 的绝对路径是: context.getRealPath(/imgs/1.jpg));
}
web.xml中的配置
!--context-param 是上下文参数(它属于整个 web 工程)--
context-paramparam-nameusername/param-nameparam-valuecontext/param-value
/context-param
!--context-param 是上下文参数(它属于整个 web 工程)--
context-paramparam-namepassword/param-nameparam-valueroot/param-value
/context-param
ServletContext向Map一样存数据
public class ContextServlet1 extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {// 获取 ServletContext 对象ServletContext context getServletContext();System.out.println(context);System.out.println(保存之前: Context1 获取 key1 的值是: context.getAttribute(key1));context.setAttribute(key1, value1);System.out.println(Context1 中获取域数据 key1 的值是: context.getAttribute(key1));}
}