Java课题笔记~ ServletConfig

2023-10-26

概念:代表整个web应用,可以和程序的容器(服务器)来通信

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
           version="3.0">
    <context-param>
        <param-name>url</param-name>
        <param-value>jdbc:mysql://localhost/dbName</param-value>
    </context-param>
    <context-param>
        <param-name>username</param-name>
        <param-value>root</param-value>
    </context-param>
    <context-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
    </context-param>
</web-app>

(1)获取多个Servlet共享的初始化参数

//方式一
//ServletContext context = this.config.getServletContext();//通过config获取ServletContext
//方式二
ServletContext context = this.getServletContext();//通过servlet对象获取ServletContext

String url = context.getInitParameter("url");//通过context上下文对象获取上下文参数

(2)ServletContext读取web应用中的资源文件的方法

1)获取文件的真实(服务器)路径

String path = Context.getRealPath("/");//当前web应用的根目录

String b = context.getRealPath("/b.txt");//web目录下资源访问

System.out.println(b);

String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问

System.out.println(c);

String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问

System.out.println(a);

2)获取资源流

InputStream stream = context.getResourceAsStream("/WEB-INF/classes/jdbc.properties");

3)获取指定目录下的所有资源路径

Set<String> paths = context.getResourcePaths("/WEB-INF");

注意:获取到的web应用的根目录是指向web文件夹的。

(3)获取MIME类型:

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。

MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理URL,因此 We b服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。

    * MIME类型:在互联网通信过程中定义的一种文件数据类型
    * 格式: 大类型/小类型   text/html        image/jpeg
    * 获取:String getMimeType(String file)  

(4)域对象:

共享数据 -page/request/session/ServletContext

1. setAttribute(String name,Object value)

2. getAttribute(String name)

3. removeAttribute(String name)

ServletContext对象范围:所有用户所有请求的数据

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java课题笔记~ ServletConfig 的相关文章

  • “java.io.IOException:连接超时”和“SocketTimeoutException:读取超时”之间有什么区别

    如果我设置一个套接字 SoTimeout 并从中读取 当读取时间超过超时限制时 我会收到 SocketTimeoutException 读取超时 这是我的例子中的堆栈 java net SocketTimeoutException Read
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • try-with-resources 中出现死代码警告,但翻译后的 try-catch-finally 中没有出现死代码警告

    以下代码使用try 有资源 https docs oracle com javase specs jls se7 html jls 14 html jls 14 20 3Java 8 中引入的构造 偶尔抛出 方法被声明为抛出一个偶尔的异常
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib

随机推荐

  • 如何提升 API-First 设计流程

    一个 API First 设计应该具有可复用性 互操作性 可修改性 用户友好性 安全性 高效性 务实性 并且重要的是 与组织目标保持一致 这些基本特征将确保 API 能够有效地为 API First 组织战略和开发模式做出贡献 在这种模式中
  • 1入门基础知识

    1 C 98关键字 面试 C 语言中一共有多少个关键字 在C 98中有63个关键字 在回答的时候一定要带上语言标准带上 2 命名空间 2 1 概念 实际就是一个新的作用域 用来解决命名冲突问题 2 2 定义方式 方式一 namespace
  • Java的安装以及配置

    Java安装及配置 一 Java安装 一 准备工作 1 在磁盘中新建两个文件夹 建议不要新建在系统盘中 我将其分别命名为JDK1 8 jre1 8 0 102 作为一会儿安装使用到的路径 2 下载好工具软件包 我的是64位的 可以从官网下载
  • c语言数学字符,C语言中涉及的数学问题

    数学函数如何用C语言来表示 但是这些文件的头应写为 include或者 include math h sin x sinx asin x arcsinx cos x cosx acos x arccosx tan x tanx atan x
  • 关于敏捷的一点感悟笔记

    此笔记写于大约二 三年前 现贴出存档 有点顿悟的感觉了 发挥团队的力量 让每个人主动计划 主动设计 主动发表意见 任何人可以发起讨论 任何人可以发起改进 而不是一个人设计 一个人分配任务 一个人设计思路 那样就不是团队 是包工头和工人的关系
  • 大神浅谈无人机飞控软件设计 系统性总结

    写在前面 深感自己对飞控软件 算法的知识点过于杂乱 很久没有进行系统的总结了 因此决定写几篇文章记录一些飞控开发过程的知识点 主要是针对一些软件 算法部分进行讨论 如内容有错误 欢迎指出 1 飞控软件的基本模块 无人机能够飞行主要是依靠传感
  • 使用flex布局,子元素怎么高度自适应?

    1 想用flex实现这种布局 2 各个子元素高度不固定 从上到下依次排列 请问可以怎么实现 附 我对父元素定义了下面的规则 display flex flex flow row wrap 对子元素用p标签放了一些文本 未设置高度 结果显示效
  • 如何实现自定义的DataSource

    有时候我们希望能自己写一个component 并可以像DataSet 那样可以在设计时可以显示出其中的collection 以及collection中的可绑定的属性 一下提供了一个简要的介绍 IListSource 如果你的componen
  • 微信小程序插件接入

    微信小程序插件接入 插件 是可被添加到小程序内直接使用的功能组件 开发者可以像开发小程序一样开发一个插件 供其他小程序使用 同时 小程序开发者可直接在小程序内使用插件 无需重复开发 为用户提供更丰富的服务 如需开发插件 请阅读开发插件部分
  • java异常处理throw new RuntimeException(e)

    1 java try catch 异常后还会继续执行吗 catch 中如果你没有再抛出异常 那么catch之后的代码是可以继续执行的 但是try中 报错的那一行代码之后 一直到try结束为止的这一段代码 是不会再执行的 代码1 public
  • 跨域 nginx反向代理proxy未添加pathRewrite导致的404问题

    跨域 nginx反向代理proxy未添加pathRewrite导致的404问题 pathRewrite是使用proxy进行代理时 对请求路径进行重定向以匹配到正确的请求地址 未添加pathWrite时 proxy csdn target h
  • ecshop 404设置方法

    ecshop是一款非常好的B2C开源程序 但SEO方面做的不足的地方不少 比如404 TITLE方面 今天分享下ecshop404设置方法 默认的ECSHOP也做了这方面的设置 它的设置是这样的 当某个商品或者商品类别不存在的时候 自动跳转
  • Java 知识点整理-14.File类

    应用Alt 对变量调用方法进行快速打印 选中要打印的内容 按Alt 选最后一个选项 方法介绍中 未明确指明对文件或目录进行操作 则两者皆可 目录 File类的概述 File类的构造方法 File类的创建功能 File类的重命名和删除功能 F
  • ssh服务及其免密配置

    ssh服务 1 ssh是什么 掌握原理 ssh gt secure shell 安全的shell 用来远程管理服务器 网络上传输的内容时进行了加密 ssh 是一个应用层的协议 openssh 是一个软件 底层使用ssh协议来远程管理服务器
  • php 实时显示日志 web,[PHP] php作为websocket的客户端实时读取推送日志文件

    首先要使用composer来下载一个第三方扩展就可以实现php的websocket客户端 直接在当前目录生成下composer json文件就可以了 composer require textalk websocket require ve
  • 无需额外数据,首次实现ImageNet 87.1% 精度,颜水成团队开源VOLO

    人工智能学习离不开实践的验证 推荐大家可以多在FlyAI AI竞赛服务平台多参加训练和竞赛 以此来提升自己的能力 FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台 每周免费提供项目开源算法样例 支持算法能力变现以及快
  • 基于时间的一次密码TOTP

    相关算法 HOTP HMAC based One Time Password 基于HMAC的一次性口令 TOTP Time Based One Time Password 基于时间的一次性口令 HMAC Hash based message
  • 欧科云链OKLink:目前已限时开放OnchainAML API免费试用权限

    据OKLink官推消息 目前OKLink已面向全球用户 除中国大陆地区以外 开放KYT和KYA的Onchain API试用服务 用户可在申请成功后 基于默认版的Risk Setting生成交易风险检测的警报信息 据悉 OKLink Onch
  • npm 和 yarn 命令对照表

    以typescript为例子 初始化项目 npm init yarn init 根据package json安装 npm install yarn 安装具体的包 npm install typescript yarn add typescr
  • Java课题笔记~ ServletConfig

    概念 代表整个web应用 可以和程序的容器 服务器 来通信