当前位置: 首页 > news >正文

wordpress整站源码网站关键字标签

wordpress整站源码,网站关键字标签,织梦网站所有图片不显示,找合作项目的平台1、什么是ServletContext ServletContext是一个全局储存空间,随服务器的生命周期变化, Cookie,Session,ServletContext的区别 Cookie: 存在于客户端的本地文本文件 Session: 存在于服务器的文本文件&#…

1、什么是ServletContext
ServletContext是一个全局储存空间,随服务器的生命周期变化,

Cookie,Session,ServletContext的区别
Cookie: 存在于客户端的本地文本文件
Session: 存在于服务器的文本文件,一个客户端有唯一session
ServletContext: 存在于服务器,并开辟一块服务器区域,可以被所有客户端访问。
在这里插入图片描述
ServletContext对象通常也被称为context域对象。

Servlet对象之间可以通过ServlertContext对象来实现通讯。

当WEB容器在启动时,为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用并且它被所有客户端共享。
我们可以拓展场景,通常在咨询网站浏览时,会有客服弹窗,这就可以基于ServletContext进行通讯。

当web应用关闭、Tomcat关闭或者Web应用reload的时候,ServletContext对象会被销毁。【即关闭浏览器客户端】

2、ServletContext使用方法

  • 获取ServletContext对象
//直接调取ServletContext对象
this.getServletContext();
//通过ServletConfig对象,调取ServletContext对象
this.getServletConfig().getServletContext();

ServletContext对象的结构

名字(String)值(Object)

操作方法
添加属性:boolean setAttribute(String name,Object obj)
得到值:Object getAttribute(String name)
删除属性:boolean removeAttribute(String name)

生命周期
ServletContext中的生命周期从创建开始,到服务器关闭结束。

使用实例
1.分别创建两个Servlet对象
servlet1.java

public class servlet1 extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();ServletContext servletContext = this.getServletContext();//ServletContext servletCOntext = this.getServletConfig().getServletContext();servletContext.setAttribute("name","小明");out.println("将 name = " + servletContext.getAttribute("name")+"写入ServletContext");}
}

servlet2.java

public class servlet2 extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();ServletContext servletContext = this.getServletContext();//ServletContext servletCOntext = this.getServletConfig().getServletContext();String name = servletContext.getAttribute("name");out.println("name = " + name);}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>servlet1</servlet-name><servlet-class>servlet1</servlet-class></servlet><servlet-mapping><servlet-name>servlet1</servlet-name><url-pattern>/servlet1</url-pattern></servlet-mapping><servlet><servlet-name>servlet2</servlet-name><servlet-class>servlet2</servlet-class></servlet><servlet-mapping><servlet-name>servlet2</servlet-name><url-pattern>/servlet2</url-pattern></servlet-mapping>
</web-app>

效果图
在这里插入图片描述
在这里插入图片描述

chrom浏览器

在这里插入图片描述

QQ浏览器

在这里插入图片描述
3、ServletContext应用

  • 多Servlet对象共享数据
  • 实现Servlet的请求转发

两种请求转发方法:
request对象转发

request.getRequestDispatcher("转发目的路径").forward(reqeust,response);

ServletContext实现请求转发

this.getServletContext().getRequestDispatcher("转发目的路径").forwaard(request,response);

配置Web应用初始化

<!--
init-param标签用于servlet配置初始化参数,通过ServletConfig对象获取参数-->
<servlet><servlet-name>MyServlet</servlet-name><servlet-class>MyServlet</servlet-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param>
</servlet>

获取初始化参数

String encoding = this.getServletConfig().getInitParameter("encoding");

配置Servlet全局配置

<context-param><param-name>name</param-name><param-value>gavin</param-value>
</context-param>

4、利用ServletContext对象读取资源文件(比如properties文件)
读取资源文件要根据资源文件所在位置决定,有两种情况:
4.1 文件在WebRoot文件夹下,即Web应用的根目录。
假设Web根目录下【web文件夹下】有一个配置数据库信息的dbinfo.properties文件,配置了name和password属性,通过ServletContext读取文件:

//这种方法默认读取路径为Web应用的根目录
InputStream stream = this.getServletContext().getResourceAsStream("dbinfo.properties");
// 创建属性对象
Properties properties = new Properties();
properties.load(stream);
String name = properties.getProperty("name");
String password = properties.getProperty("password");
out.println("name="+name+";password="+password);

dbinfo.properties

name=root
password=root

**4.2 文件放置在src目录下 **
这时需要使用类加载器,其默认加载src根目录

InputStream stream = MyServlet.class.getClassLoader().getResourceAsStream("dbinfo.properties");

若文件放置在src的子文件夹中,则加载方式为

InputStream inputStream = MyServlet.class.getClassLoader().getResourceAsStream("com/properties/dbinfo.properties");

注意: ServletContext只有在读取web应用根目录下的文件,才能获取文件的全路径。

String path = this.getServletContext().getRealPath("/images/Servlet.jpg");

网站开发中的功能模块应用

网站计数器,网站在线用户显示,聊天系统等功能
若涉及不同用户共享数据,且数据量不打,且不希望占用数据库内存,可以考虑使用ServletContext实现。
http://www.yayakq.cn/news/715567/

相关文章:

  • 移动终端网站建设深圳建站模板
  • 广州家具网站建设wordpress 漏洞工具
  • 怎样给公司做一个网站做推广wordpress建站多个域名
  • 深圳专业做公司网站小程序的开发费用
  • 设计网站推广方案建行打95533能改密码吗
  • ipv6网站开发网页设计教程ps
  • 建网站哪家好行业现状站长工具精品
  • 网站查询备案服务商微信公众平台绑定网站
  • 关于学校网站建设的请示企业网站开发询问薇
  • 网站建设企业建站冶金建设网站
  • 集团网站建设工作方案网站开发维护费计入什么科目
  • 百度权重高的发帖网站wordpress 8080
  • 微信公众号视频网站开发织梦网站名称标签
  • 微网站如何做微信支付宝支付宝支付接口广州公司注册多久时间
  • 百度搜索网站下方描述做网站链接怎么做
  • j2ee网站开发免费教程免费搭建业网站
  • 网站改版是什么意思wordpress需要多大空间
  • 大连市建设学校网站卸载西部数码网站管理助手
  • 仿美团版网站开发制作wordpress托管教程
  • 彩票做的最好是个网站好网站首页如何做浮动窗口
  • 长春网站排名公司宁波信誉好全网seo优化
  • 建设检测人员证书查询网站做企业网站的头部什么配色
  • 公司用的网站用个人备案可以吗辽阳做网站的公司
  • 青岛网站建设首选潜江资讯网二手车
  • 关于电商网站建设的论文分销系统网站建设
  • 旅游景点网站建设设计说明制定营销推广方案
  • 把照片做册子的网站威县网站建设代理价格
  • 广西医疗网站建设网站建设成功案例
  • 遵义网站建设门户网站设计技巧
  • wap免费建站程序陕西富国建设工程有限公司网站