ServletConfig:用于读取配置文件信息

ServletContext:这是一个容器,代表一个web应用程序,多个Servlet可以通过这个容器共享数据信息(注意:这样的数据共享有线程安全问题,解决办法是
用request域来转发数据)当tomcat服务器启动时就会为每个web应用创建一个ServletContext
用例:ServletContext可以读取配置文件信息 :
in= this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
Properties props=new Properties();
props.load(in);
String url=props.getProperty("url");
web工程读取配置文件要注意:如果不是用ServletContext()读取配置文件,我们写的配置文件地址是相对于java虚拟机,当项目发布到tomcat服务器中时只好把配置文件写
到tomcat目录中的bin文件夹中了,如果用ServletContext()读取配置文件,我们是相对于项目工程,所以写上WEB-INF/classes/xx.properties
如果读取资源文件的程序不是Servlet的话,只能通过类装载器取读了:
InputStream in=XXClass.class.getClassLoader().getResourceAsStream(db.properties);
如果web.xml文件中配置了<init-param></init-param> 代表为一个Servlet配置了参数信息
如果web.xml文件中配置了<context-param></context-param>代表为整个web应用配置参数信息

乱码问题:response乱码: 在Servlet中用outputStream输出中文时,程序以什么码表输出,程序就一定控制浏览器以什么码表打开
输出数据给response对象: response.getOutputStream().wirte(data.getBytes("UTF-8"));
控制浏览器输出格式:response.setHeader("content-type","text/html;charset=UTF-8");
如果调用response.getWriter().write(data);则需要设置response.setCharacterEncoding("UTF-8");
注意:response.getOutputStream()(二进制方式)和response.getWriter()(文本字符串方式)互斥

request乱码:;如果是post请求,则只需要设置request.setCharacterEncoding("UTF-8");
如果是get请求,则要自定义转换 username=new String(username.getBytes("iso8859-1"),"UTF-8");

uri和URL的区别:
uri是父亲,代表某一资源,URL代表互联网上的固定资源,是完整路径

Response和Request常用方法:
response.setHead("","");返回响应头信息

request.getRequestURL()返回完整请求路径
request.getRequestURI()返回资源名部分
request.getQueryString()返回请求行中的参数部分
request.getRemotoAddr()返回客户机的ip地址
request.getRemotoHost()返回客户机的完整主机名
request.getRemotoPort()返回客户机的网络端口号
request.getMethod()得到客户机的请求方式
request.getLocalAddr()返回web服务器的ip地址
request.getLocalName()返回web服务器的主机名

在web开发中,数据的传递主要是同过ServletContext,request,Session这三个域(容器)进行的.
当数据在页面表示后,没有别的地方在用到,就用request

Web开发的小知识点的更多相关文章

  1. web开发前端面试知识点目录整理

    web开发前端面试知识点目录整理 基本功考察 关于Html 1. html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 2. h5中新增的属性; 如自定义属性data, ...

  2. 移动端web开发的一些知识点

    整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成 ...

  3. Web开发必回知识点

    Web前端必须知道 一.常用那几种浏览器测试?有哪些内核(Layout Engine)? 1.浏览器:IE,Chrome,FireFox,Safari,Opera. 2.内核:Trident,Geck ...

  4. Web开发安全小贴士

    想要开发出一个安全的.健壮的Web应用其实是非常困难的, 如果你想要快速开发出一款集使用价值.用户体验度.以及安全性为一身的产品,以下安全步骤很必要!!!     数据库 1.对类似访问令牌.电子邮箱 ...

  5. Java Web开发 之小张老师总结中文乱码解决方案

    中文乱码:在以后学习过程中全部采用UTF-8 1.文件的乱码 1.1.项目文本文件默认编码:        [右击项目]->[Properties]->[Resource]->[Te ...

  6. OOP,WEB开发实用小技巧

    偶然读到一篇博客,记录一下心得.这种设计对于新手来说一般是想不到的,它充分的发挥了OOP语言的特性,让代码专用而清爽.这是不是重构的思想呢? 我们在写业务层的时候,有很多方法是重复功能的,我们就可以使 ...

  7. Java Web开发 之小张老师总结GET和POST区别

    get和post区别1.传输方式不同,get在request-line中传输(即在URL中传输).post在request-line及 request-body中传输(可认为隐藏传输)2.get传输长 ...

  8. Java Web开发 之小张老师总结EL、JSP、Servlet变量

    EL 11 JSP 9 Servlet JSP类别 pageContext pageContext * 作用域 pageScope pageContext.getAttribute() * reque ...

  9. Web开发知识点总结

    前言:这是一篇简单的web开发知识点的总结,适用于刚开始学习编程的人来学习的.我是为了能够在熟记熟记这些知识点而总结的一篇文章. 1       什么是浏览器? (1) 浏览器就是接收浏览者的操作(打 ...

随机推荐

  1. Java JTable列顺序和列宽度保存在用户本地

    上周碰到了一个棘手的需求,就是要把用JTable的列顺序和列宽度保存下来,这次用户调整了列宽度,关闭程序,下次再打开时,这个列的宽还是要保持,因为SWing的特性,都是在程序启动时就确定了列顺序和列宽 ...

  2. Go 语言 map (映射)

    1.Go 语言中 map 的定义及初始化: map[Key_Type]Value_Type scence := make(map[string]int) 2.Go 语言的遍历: scene := ma ...

  3. HTTP和HTTPS协议,看一篇就够了

    https://blog.csdn.net/xiaoming100001/article/details/81109617 因为http请求是无状态的,所以需要三次握手.四次挥手来确定状态. 大纲 这 ...

  4. mongodb 多表查询

    今天有一个业务涉及到mongodb的多表查询,大体记录下语句结构 db.table_a.aggregate([ {$lookup:{from:"table_b",localFiel ...

  5. 自然语言推断(NLI)、文本相似度相关开源项目推荐(Pytorch 实现)

    Awesome-Repositories-for-NLI-and-Semantic-Similarity mainly record pytorch implementations for NLI a ...

  6. (译)MySQL的10个基本性能技巧

    原文出处:https://www.infoworld.com/article/3210905/sql/10-essential-performance-tips-for-mysql.html MySQ ...

  7. uniapp 标题后面紧跟一个标签的布局

    使用uni-app的时候,因为想用flex布局,所以一开始就设置了全部view display为flex. 之后遇到了如下这种样式: 开始想了半天没想出来,后来想到div span有这个效果. 然后就 ...

  8. 基于WebGL架构的3D可视化平台—实现小车行走路线演示

    小车行走路线演示New VS Old 刚接触ThingJS的时候,写的一个小车开进小区的演示,今天又看了教程中有movePath这个方法就重新写了一遍,其中也遇到了一些问题,尤其突出的问题就是小车过弯 ...

  9. k8s之调度约束

    k8s调度约束有两种:第一种,直接指定某台node主机:这种形势将直接跳过调度器.如下: 第二种:先给各node指定标签,然后在通过标签的形势来关联node,这种形势人就会调用到调度器.如下: yao ...

  10. PhoenixFD插件流体模拟——UI布局【Foam】详解

    流体泡沫 本文主要讲解Foam折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Foam 主要内容 Overview 综述 ...