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. 电脑修改密码后git上传失败Authentication failed

    (一)进入控制面板 (二)选择用户账户 (三)选择管理你的凭据 (四)选择Windows凭据 (五)选择git保存的用户信息 (六)选择编辑或者进行删除操作 (七)完成

  2. 基于HALCON的模板匹配方法总结

    注:很抱歉,忘记从转载链接了,作者莫怪.... 基于HALCON的模板匹配方法总结 很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多 ...

  3. .net core 2.0 HTTPS request fails using HttpClient 安全错误

    最近.net core 项目中遇到一个问题,通过Httpclient 访问https的接口报错,错误如下: WinHttpException: A security error occurred Sy ...

  4. MongoDB基础入门

    1,安装 下载解压安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.5.tgz tar -xvzf mongodb- ...

  5. kruskal(拓展)

    kruskal是最小生成树的一种做法,即严格按照贪心思想将边从小到大排序,一个一个枚举能不能加入图中,知道生成一棵树,显然树为最小树. 鄙人觉得kruskal做法远不止如此,那种严格从小到大选边的做法 ...

  6. Maven模块化开发

    Maven模块化开发 多人协同开发时,特别是规模较大的项目,为方便日后代码维护管理会将每个人的工作细分到具体的功能和模块上.随着项目的不断扩大,模块会越来越多,后续更加难以维护和扩展,为应对这种情况后 ...

  7. d3.js svg中 g 标签问题一览

    svg 中的g标签, 算是比较特殊 1 没有x y属性 2 没有width height 属性 3 不能fill 4 .... g标签基本只管分组问题, 其他功能一概不提供 要解决这些问题, 直接在g ...

  8. python+selenium页面自动化 元素定位实际遇到的各种问题(持续更新)

    1.class属性有空格  (已验证) 当classname 中存在空格的时候,直接使用find_element_by_class_name时,会显示定位失败,此时,需要将classname中的空格替 ...

  9. mysql链接服务器,update报错

    select * from Openquery(MySQL, 'SELECT * FROM official.sys_hospital') 执行更新语句: ; 报错,错误信息: 链接服务器" ...

  10. IO输入输出流

    在Java中进行文件的读写,Java IO流是必备的知识. IO流指 的是输入输出流,用来处理设备上的数据.这里的设备指硬盘,内存,键盘录入,网络传输等. 按处理数据类型来分:字节流和字符流. 按流的 ...